FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
strategy.hpp
Go to the documentation of this file.
1#pragma once
2// Everything a strategy header needs (ADR-0012):
3//
4// fixed point and literals Price, Qty, Notional, Ratio, 100.25_px, 0.01_qty, 5_bps
5// instruments and time Instrument, InstrumentId, Timestamp, Duration, milliseconds()
6// messages and books Level, TradeMsg, BookTickerMsg, ConnectionStateMsg, BookView
7// quotes and helpers DesiredQuotes, mid, microprice, inventory_allows, keep_passive, ...
8// orders NewOrderRequest, OmsUpdate, Order
9// parameters FASTMM_PARAMS, FASTMM_PARAM, FASTMM_PARAM_BPS, FASTMM_PARAM_MS
10// hooks Fill, verify_strategy, StrategyBase, StrategyLike
11// hedging HedgeExecutor
12// logging FASTMM_LOG_INFO, FASTMM_LOG_WARN, ...
13//
14// #include "fastmm/strategy.hpp"
15// using namespace fastmm::literals; // or `using namespace fastmm;`, which includes them
17#include "fastmm/core/enums.hpp"
20#include "fastmm/core/log.hpp"
22#include "fastmm/core/oms.hpp"
24#include "fastmm/core/time.hpp"
BookView: the read interface every book implementation (L2Book, L3Book::to_l2 view,...
All engine enumerations.
Fixed<Tag>: int64 fixed point with a global 1e-8 scale (ADR-0001).
HedgeExecutor: keeps a strategy's exposure hedged with taker orders (docs/how-to/strategies/ hedge-ex...
Strategy hooks (ADR-0012): the hook table, the compile-time checker and the Fill view.
Instrument: the single definition of a tradable contract (5.3 / 5.15).
Asynchronous logging (5.10).
Event bus message structs (5.5).
Order management (5.8): a Pool<Order> + OpenHashMap<ClientOrderId, Handle> + a ring of recently termi...
Strategy parameter schema (8.6, ADR-0012).
QuoteManager (5.6): diffs the strategy's DesiredQuotes against the orders resting at the venue and em...
Quoting helpers for strategies (ADR-0012): integer-only, noexcept, no allocation.
Strategy concept and the StrategyBase helper (8.6).
Time primitives.