How we validate every strategy before your capital touches it.
Most "trading bots" hand you a curve and ask you to trust them. We hand you the harness and ask you to break it. This page documents the exact pipeline — walk-forward windows, slippage stress, regime-aware allocation, and the long list of ideas we tried and threw out.
Train on history. Test on the future the engine never saw.
Four guards against fooling ourselves.
Every reported number comes from an out-of-sample test window the strategy never saw during selection. Train on 180 days, test on the next 30, slide, repeat across 78 windows.
All trades modeled with taker fees + round-trip slippage in bps. We stress-test at 0 / 5 / 10 / 20 bps. The headline +163.33% is the 10 bps number — frictionless wins that collapse at 10 bps are curve-fit.
Strategy catalog is fixed at the start of the test. The 5 worst sleeves by OOS Sharpe are dropped — but hedge sleeves (short-vol-spike) are exempt so down-regime PnL is preserved.
BTC trend classifier shifts weights toward short-vol and hedge sleeves during regime-off periods. Validated by splitting OOS windows into BTC-up vs BTC-down buckets.
How the curve breathes.
Returns alone don't tell you whether you can sleep through a drawdown. Underwater and rolling Sharpe do.
The edge survives realistic friction.
Round-trip cost is applied on (entry + exit) notional in the engine. We always evaluate at ≥10 bps — frictionless wins that don't survive 10 bps are curve-fit and get rejected.
Idle capital doesn't sit at 0%.
When the vol-target or drawdown brake de-risks the book below 100% exposure, the unallocated fraction earns a conservative 5% APY from institutional stablecoin lending. The yield is applied daily on the idle portion only (1 − active scale), and is added on top of the trading PnL — never replacing it.
In live execution this is parked non-custodially in the same wallet that holds your trading capital. No funds leave your control, no third-party custodian, no rehypothecation.
From Phase 4 to Phase 37.
Every numbered phase is a published change to the engine. The current live baseline is Phase 23. Older baselines remain reproducible in the harness for comparison.
Donchian-20 breakout with a BTC regime filter, 3.5×ATR trailing stop, and run-winners exit. The earliest profitable in-sample configuration.
Pyramid into winners at +1R with stops moved to breakeven. ~+75.2% over 365 days — the limit of any single sleeve.
Rolling 180-day train / 30-day test windows. Catalog re-ranked by train-window Sharpe each step; OOS returns concatenated.
Replace equal-weight ensemble with weights proportional to max(0, train Sharpe). Eliminates noisy-loser drag.
Allocator overlays BTC regime classifier with greedy decorrelation. +283.19% OOS at 10 bps slippage, Sharpe 2.07. Superseded.
Top-N weights shrunk toward equal-weight prior (λ=0.25). Cuts overfit to in-sample Sharpe; tighter drawdowns at flat returns. Superseded by Phase 37.
Re-enables basis/cash-and-carry sleeves with a hard 10% capital cap so they can't Sharpe-trap the trend allocation. +163.33% OOS last-12m at 10 bps, Sharpe 3.31, max DD −13.6%. Current live engine.
Rejected phases — and why.
A backtest engine without a kill list is just a curve-fitting machine. Here are ideas that looked smart on paper and lost money in walk-forward.
Crypto trading carries substantial risk of loss. Walk-forward out-of-sample results are not a guarantee of future performance. Live results may differ due to execution slippage, exchange downtime, regime shifts and other factors. Only trade capital you can afford to lose.