|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
BacktestConfig: everything a run needs, assembled from the TOML sections [engine] [[instruments]] [strategy] [strategy.params] [risk] [venues. More...
#include "fastmm/config/config.hpp"#include "fastmm/core/engine.hpp"#include "fastmm/core/instrument.hpp"#include "fastmm/core/treasury.hpp"#include "fastmm/sim/market_generator.hpp"#include "fastmm/sim/sim_transport.hpp"#include "fastmm/strategies/params.hpp"#include <cstdint>#include <string>#include <string_view>#include <vector>Go to the source code of this file.
Classes | |
| struct | fastmm::bt::BacktestConfig |
Namespaces | |
| namespace | fastmm |
| namespace | fastmm::bt |
Enumerations | |
| enum class | fastmm::bt::InitialState : std::uint8_t { fastmm::bt::StateFile = 0 , fastmm::bt::Journal = 1 , fastmm::bt::None = 2 } |
| Where the strategy's starting state comes from ([backtest] initial_state). More... | |
BacktestConfig: everything a run needs, assembled from the TOML sections [engine] [[instruments]] [strategy] [strategy.params] [risk] [venues.
<x>.fees] [sim] [backtest] (8.4, 8.7) or built by hand (examples, tests, Python).
[backtest] [sim] (synthetic market) source = "synthetic" | "journal" | "csv" seed, duration_s, start_mid, path = "data.fmj" | "data.csv" depth_update_ms, book_ticker, seed = 1 limit_rate_per_s, market_rate_per_s, duration_s = 60 (synthetic horizon) mid_step_rate_per_s, fill_model = "matching" | "l2_queue" cancel_rate_per_order_s, offset_p, queue_conservatism = 0..1 base_spread_ticks, limit_qty_median_lots, latency_fixed_us, latency_jitter_us, market_qty_median_lots, regimes, latency_ack_us, latency_ack_jitter_us, latency_md_us, latency_md_jitter_us, p_drop volatile_mult, seed_levels latency_cancel_us, latency_cancel_jitter_us, order_service_us md_arrival = "venue" | "recorded", reorder_window_ms = 1000 balances_from_journal = false, own_orders_in_feed = true, transfer_latency_ms = 0 initial_state = "state_file" | "journal" | "none", params_from_journal = false [backtest.balances] <ASSET> = "\<amount\>" (and [backtest.venues.<name>.balances]) equity_bar_s = 1, initial_capital = 0 markout_horizons_s = "1,10,60" output_dir = "runs/backtest", journal_out = ""