FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
backtest_config.hpp File Reference

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...
 

Detailed Description

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 = ""