#66 — SMA-Stack robustness (conservative real-spread backtest of live 010)
Hypothesis — what it tests
Whether the live SMA-Stack's apparent edge (and any exit-fence or regime-gate variant of it) survives conservative real-spread fills, walk-forward, Monte Carlo, and finite-margin risk-of-ruin analysis.
Description
Account 010's SMA-Stack strategy looked robust live (~81% win rate, +495–693p, no −200p stops in its 4-week window), so a deliberately conservative backtest was built to find out if that was real: real per-bar spread (ask−bid, killing an earlier fixed-spread shortcut), mid signals with worse-side fills and 2-pip stop slippage, the exact live exits (200p emergency fence + PSAR/TP + flip guard, one code path), sealed IS/OOS, walk-forward, bootstrap Monte Carlo, and a finite-margin realizable-risk simulation. Two engine bugs were caught on the way (a degenerate permutation-based MC p-value, and stops filled at bar-close instead of the trigger level), and a first −19,849p run was diagnosed as ~82% flip-churn artifact — the engine over-traded live frequency by 5–10x. The live-faithful no-flip verdict: net −3,616p over 1,283 trades (IS −3,408p, OOS −208p), max DD −4,510p, WF 2/6 folds positive, MC p_net=0.947 — no positive edge. Exit-reason decomposition showed the mechanism: TP/PSAR exits are net positive ≈ +19,800p but 116 200-pip fence catastrophes (−23,432p) erase them — the clean live window had simply caught zero fences. A Bandy CAR25/safe-f analysis then gave the definitive volume answer: CAR25 is negative at every position size (−34% even at live sizing, P(DD≥25%)=74%), so 010 is not tradeable at any volume.
Key result
Indicators
Algorithms
Code
Interactive version (search, filters, figures): the experiment explorer.