Backtest
No engine yetThere is no backtest engine, and there is no fake one here either. This is the plan: what will be built, which parts are already standing, which are missing by name, and the four honesty rules the results will be held to — rendered as working components below, so they exist in code before the first backtest runs.
What it will be
A backtest is a job, not a request: it reads years of bars, simulates fills and can run for minutes. So it submits and polls, matching the job pattern the research pipeline already runs.
POST /quant/backtestGET /quant/backtest/{runId}backtest_run · backtest_tradeDELETE /quant/backtest/{runId}GET /quant/backtest
One engine, not six. Their build ships six interchangeable Python libraries and its own code documents the cost: two providers error until you install something, and a third has commands disabled because the result renderer cannot read its output shape.
Shipping order
- Run a backtestWave 1
- Random-entry baselineWave 1
- Returns analysisWave 1
- Parameter optimisationWave 2
- Walk-forwardWave 2
- Indicator signal generatorsWave 2
- ML label generatorsWave 3
- Cross-validation splittersWave 3
- Indicator sweepWave 3
What it needs, and what is already standing
- Daily price bars
/assets/{symbol}/ohlcPARTIAL - Quant metrics
/quant/summary/{symbol}/quant/risk/{symbol}/quant/rolling/{symbol}/quant/drawdown/{symbol}/quant/correlation/quant/portfolio/riskREADY - Transaction ledger
/me/portfolios/{id}/transactions/me/portfolios/{id}/transactions/{transactionId}READY - NAV snapshots
/me/portfolios/{id}/history/me/portfolios/{id}/performance/me/portfolios/{id}/snapshots/rebuildREADY - Benchmark series
/macro/indices/macro/historyREADY - Credits and metering
/credits/wallet/credits/ledger/credits/packsREADY - A job pattern to copy
/admin/ai-research/runs/admin/ai-research/run/{runId}READY - Strategy library
/strategies/strategies/{slug}/ai-research/strategiesnot for this marketPARTIAL - The runner itselfMISSING
- Run and trade tablesMISSING
- Executable strategy registryMISSING
- Intraday barsMISSING
- Crypto price historynot for this marketMISSING
The honesty layer
These are the part of the reference build worth copying exactly, and they are the difference between a backtest tool and a backtest toy. Each one below is the real component, rendered with the input that triggers it.
Commission and slippage are both zero. These returns are gross and are not achievable by anyone. Re-run at twice your assumed cost and see whether the edge survives.
This strategy produced ZERO trades over the selected range. Every performance figure is meaningless — widen the date range, loosen the entry rules, or check the symbol and the interval.
Part of this run used generated prices, because the price source was unreachable for part of the range. The results do not reflect real markets and must not be read as though they do.
Showing the first 200 of 4,213 rows. Export the run for the complete set.
Round-trip cost calculator
Commission 0.04% per trade, slippage 0.03% per fill.
What to use in the meantime
Most of what people want a backtest for — how volatile was it, how deep did it fall, how long did recovery take, how correlated are these — is already computable over real history and does not need a simulation.
Open QuantOpen Portfolio