Compare — ranking Runs without guessing why
Comparing two backtest Runs is a causal claim — if they differ on more than one input, there's no way to know which one caused a better number. Compare picks 2-4 Runs, detects exactly which parts of their Run Definition (Version, symbol, date window, initial cash, spread, max positions, market data, engine version) differ, and only declares a winner when exactly one of those differs.
How Compare works
- Select Runs — Pick 2-4 Runs from the sidebar list — the stats table, equity overlay, and monthly table all update together as the selection changes
- Read the banner — Identical Run Definition, single-axis (comparable — a winner is highlighted), or Confounded (more than one axis differs — numbers are still shown, but no winner is declared)
- A greyed cell — That specific metric is unreadable for the axis that's currently varying (e.g. dollar PnL when initial cash differs, or Max Drawdown across an old/new stats definition) — hover it for the exact reason, not a generic warning
- "No data" — A Run with zero Trades — shown as no data, never as last place. The subtitle says whether the graph never fired a Trigger, or every Trigger it fired got suppressed by the engine
- "Run to match" — Appears for a Confounded pair of exactly two Runs — re-runs one Run's Version under the other's config (cash/spread/max positions) and date window, always shrinking to whichever of the two already ran narrower so it never needs a bigger quota than either already used. Never touches the Draft
Availability: Compare only reads Runs you already own and, for "Run to match," creates a new Run through the same path and quota as Run Backtest — there's no separate paywall for Compare itself.