FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
backtest Directory Reference

Files

 array_source.hpp
 ArraySource: zero-copy structure-of-arrays input, the numpy path of the Python bindings (8.5).
 
 backtest_config.hpp
 BacktestConfig: everything a run needs, assembled from the TOML sections [engine] [[instruments]] [strategy] [strategy.params] [risk] [venues.
 
 backtest_runner.hpp
 BacktestRunner (8.4): wires Engine<S, SimClock, SimTransport, InlineFeed> to a SimDriver and collects a BacktestResult.
 
 csv_source.hpp
 CsvSource: hand-rolled parser for the row format documented in data_source.hpp (ts_ns,type,inst,side,price,qty,seq, optional header line, '#' comments).
 
 data_source.hpp
 DataSource (8.4): a timestamp-ordered stream of normalized market-data events consumed by the simulator.
 
 fee_model.hpp
 Fees are charged by the simulated venue, so the model lives in fastmm::sim; the backtest exposes it under its own namespace for configuration and reporting.
 
 journal_source.hpp
 JournalSource: market-data events of an .fmj journal (BookDelta / BookSnapshot / Trade / BookTicker records, in sequence order).
 
 live_analysis.hpp
 What a live session's fills were worth, from its journal alone (fastmm-data analyze): per instrument and overall, the fills, maker share and traded notional, the spread they captured against the venue mid and their markouts and adverse selection at each horizon (markout.hpp), next to the order traffic.
 
 markout.hpp
 Post-fill markouts: the metric that separates spread captured from adverse selection.
 
 metrics.hpp
 Metrics (8.4) computed from the result rows: equity bars (1 s by default), fills and orders.
 
 replay.hpp
 Deterministic replay (5.11): runs Engine<S, SimClock, ReplayTransport, JournalFeed> over a session journal recorded by fastmm-live, a sim or a backtest run (BacktestConfig::journal_out) and proves that the engine reproduces the recorded outbound stream bit for bit.
 
 result.hpp
 BacktestResult (8.4): structure-of-arrays rows (numpy-friendly: each column is one contiguous vector) plus the summary Metrics and the raw counters of every component.
 
 sweep.hpp
 Parameter sweep (8.4/8.5): cartesian grid over strategy parameters run on a std::jthread pool; every worker owns its own data cursor (source_factory) and backend, results come back in grid order (first parameter varies slowest).
 
 synthetic_source.hpp
 SyntheticSource: a MarketGenerator run against its own MatchingEngine, published through MdAggregator as a plain market-data stream (snapshot, 100 ms depth batches, trades, book tickers).