Backtest / Manual

Backtest / Manual

Two modes. Backtest runs a strategy over a defined dataset using the canonical research engine. Replay steps through historical data to inspect what the strategy would have seen and done, causally. Replay is diagnostic: it must never be used to feed future information back into strategy design.

DashboardMonitor (what is running)Strategies

Canonical engine
RETAINED
Independent replication
FOR FINALISTS
Strategies indexed
71
Live/funded execution
NOT ENABLED

Backtest

Historical evidence over a defined dataset, using the canonical research engine
What it can establish
  • · How a frozen strategy would have performed over committed candles
  • · Cost and slippage sensitivity, when the run applies them
  • · Chronological breakdowns for robustness questions

A backtest is never prospective evidence and never arms anything. It also cannot settle a question its dataset does not cover — a partition boundary is part of the result.

Run / inspect a backtest/backtestexisting surface, unchanged
Job queue/backtestsdurable, checkpointed runs; live progress
V1 rules the engine evaluates/strategygenerated from the active config

Replay / Manual

Step through history to see what was knowable at each timestamp
What it can establish
  • · Which information was visible at a decision timestamp
  • · Engine state, entry eligibility, risk state, stop/target
  • · Why a trade was taken or skipped

Replay is diagnostic and educational. Using a replay observation to redesign a rule after the fact is exactly the leakage the causality gates exist to prevent.

Replay a session/replayexisting surface, unchanged
Bias validation harness/replay/bias-validationdeterminism regression check
Live Feed engine view/livethe same state machine, on live bars

Engines and harnesses behind these modes

What produces the evidence, and what it may conclude
Strategy Lab campaign gate runneron demandlib/strategy-engine/research/strategyLab/campaign/runner.ts

Carries pre-registered strategies through the full stage ladder — pre-test, Lightning screen, robustness, execution/stat, Discovery vs Validation, Holdout eligibility, the one-shot sealed Holdout, and the Final Research Audit. It is the only component allowed to record a stage verdict; every surface in this app reads those verdicts back verbatim.

Historical backtest job runneron demandlib/backtest/jobs/runBacktestJob.ts

Replays committed 1-minute candles through the production V1 engine in bounded, checkpointed, date-disjoint chunks. Produces historical evidence only; a backtest result is never prospective evidence and never arms anything.

Replay bias validatoron demandapp/api/replay/bias-validation/route.ts

Re-runs recorded sessions to confirm the engine still reproduces the same session-bias-gated decision path. A regression check on determinism, not a source of new research evidence.

Phase 2 gaps

Named rather than implied
  • · A single controls surface for strategy, market, approved partition, costs, slippage, stress suite and funded overlay — today those are set per surface.
  • · Replay’s explicit “information visible at this timestamp” inspector, including order events and fills beside the engine state.
  • · A funded-overlay toggle wired into a backtest run rather than only into live-shadow reporting (see Funded Simulation’s gap list).
  • · Independent second-engine replication for finalists, once a finalist exists (engine policy: replicate, do not replace).

Nothing in this section was removed or rewritten to make room for those: every existing route above still works exactly as it did.

Read from docs/TRADE_REP_MASTER_PLAN_REBOOT.md · lib/registry/internalHarnesses.ts