3. Metrics
July 26, 2026 · View on GitHub
Status: Draft — content TBD.
This section will catalogue the scalar and time-series fields that a producer MAY populate on:
BacktestMetrics— per-run metrics (seeRun.backtest_metrics).Summary— per-engine-slot aggregate metrics (seeEngineSlot.summary).MonteCarloTest— per-slot significance-test results (seeEngineSlot.monte_carlo_tests).
TODO
- Full per-run
BacktestMetricsfield catalog: capital / P&L, return curves, risk-adjusted (Sharpe / Sortino / Calmar / profit factor / annual volatility / VaR / CVaR), drawdowns, TWR (alpha-only) variants, trade statistics, trade durations, trade returns (averages, medians, current-only variants), frequency, exposure, best/worst, period win-rates. - Full pooled
Summaryfield catalog, including cross-run consistency and in-run stability metrics. MonteCarloTeststructure:name,method,metric,observed_value,null_distribution,n_permutations,p_value,alternative,seed,window,universe_key.- Reserved
MonteCarloTest.methodvalues (shuffle_ohlcv, and reservations for future flavours). - Semantics for each metric (definition, units, expected sign, boundary cases such as zero-trade runs).
- Which fields SHOULD be extracted to blobs (see 4. Blobs).
- Handling of unpopulated /
nil/NaNscalar metrics.
Until this section is filled in, refer to the reference implementation's design doc for the canonical field list: