Audit-ready methodology

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.

Smartbull walk-forward · cumulative OOS
+0.00%
OOS
BTC (365d): 0.00%
Smartbull
BTC
Loading live walk-forward curve…
How walk-forward works

Train on history. Test on the future the engine never saw.

Walk-forward, visualized
18 rolling windows · 180d train · 30d test
Train (in-sample)Test (out-of-sample)OOS return
730 days of price historytoday →← OOS testd0d180d365d540d730
Train — re-rank the catalog by Sharpe.
Test — apply that ranking on the next 30 days the engine has never seen.
Slide & repeat — concatenate 18 OOS windows into the headline equity curve.
Core controls

Four guards against fooling ourselves.

Walk-forward, not in-sample

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.

Realistic friction

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.

Survivorship controls

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.

Regime-aware allocator

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.

Risk profile

How the curve breathes.

Returns alone don't tell you whether you can sleep through a drawdown. Underwater and rolling Sharpe do.

Loading walk-forward risk metrics…
Loading walk-forward risk metrics…
Slippage stress test

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.

0 bps
+191.16%
Frictionless ceiling
5 bps
+177.51%
Tight retail fills
10 bps
+163.33%
Headline — realistic
20 bps
+133.88%
Pessimistic stress
Phase 30 — cash yield overlay

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.

effective_return = trading_pnl × scale + (1 − scale) × (5% / 365)
USDC supply
Aave v3
4–7%
Institutional
Maple Finance
6–9%
Sky savings
sDAI / DSR
5–8%
Tokenized T-bills
Ondo USDY
~5%
Tokenized T-bills
BlackRock BUIDL
~5%
USDC retail
Coinbase Earn
4–5%
Smartbull assumption
5.0% APY
conservative floor — held flat through rate cycles
Evolution log

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.

Phase 4
Baseline breakout

Donchian-20 breakout with a BTC regime filter, 3.5×ATR trailing stop, and run-winners exit. The earliest profitable in-sample configuration.

Phase 11
Standalone ceiling

Pyramid into winners at +1R with stops moved to breakeven. ~+75.2% over 365 days — the limit of any single sleeve.

Phase 17
Walk-forward harness

Rolling 180-day train / 30-day test windows. Catalog re-ranked by train-window Sharpe each step; OOS returns concatenated.

Phase 21
Sharpe-weighted top-N

Replace equal-weight ensemble with weights proportional to max(0, train Sharpe). Eliminates noisy-loser drag.

Phase 24
Regime-aware Sharpe-weighted top-5

Allocator overlays BTC regime classifier with greedy decorrelation. +283.19% OOS at 10 bps slippage, Sharpe 2.07. Superseded.

Phase 33
James-Stein weight shrinkage

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.

Phase 37 — live baseline (May 17, 2026)
Sleeve-class quota (carry 10% / trend 90%)

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.

What we threw out

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.

Phase 6 — funding hard-gate + vol-target + portfolio heat cap
Looked smart, regressed PnL. Removed.
Phase 8 — combined weekend-skip + low-ATR gate
Killed entries that turned out to be profitable. PnL fell to 28%.
Phase 12 — second pyramid add at +2R
Regressed from 75.22% to 74.25%. Phase 11 is a tight local optimum.
Phase 13 — BTC/ETH/SOL/BNB/AVAX cluster cap
Cut PnL to 64.85% AND worsened MaxDD.
Phase 22 — WF persistence filter
Paid 14pp return for 0.4pp drawdown improvement. Reverted.
Risk disclosure

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.