The Edge That Wasn't
All 81 experiments › #12

#12 — RCA — lookahead + MACD bug

2026-04-12
Verdict: negative · ⛔ 16/16 live-negative, two bugs found
The root-cause analysis of why all 16 deployed strategies lost money live (≈−55,000 pips over 4,869 trades) found two training-pipeline bugs: a multi-timeframe indicator that leaked up to 719 future bars, and a live curator computing a different indicator than training under the same name.

Hypothesis — what it tests

Why were all 16 live strategies net-negative despite 42-747 p/d validated backtests — regime change, bad luck, or a systematic apparatus defect?

Description

Every deployed strategy showed spectacular backtests (42-747 p/d) and negative live pips, so the live ledger was pulled from DuckDB: 16/16 strategies net negative, combined ≈−55,000 pips across 4,869 trades (worst four ≈−12,000p each). Bug #1: compute_mc_on_series in lib/asi_indicator.py downsampled each timeframe using the last bar of every block, so outputs at bar i used up to 719 bars of future data (bp=720) — training saw smoother, future-leaked mc_d/mc_dd that live could never reproduce. Bug #2: the live curator's macd_hist was a different indicator than training — SMA instead of EMA, MACD line instead of histogram, simple-mean ATR instead of Wilder — same variable name, different meaning. The fix was lib/incremental_features.py, a causal single-source FXFeatureBuilder used identically by training export and the live curator. The live losses were reframed as inevitable, not unlucky.

Key result

16/16 strategies live-negative, ≈−55,000 pips / 4,869 trades; worst ≈−12,000p each (asi_mc_008, wf_pnlmae, pnl_mae_a, range_neat); leak up to 719 future bars at bp=720; V7 live −754.6p vs +371 p/d backtest

Indicators

ASIMC(D)MC(dD)MACD histogramWilder ATRKaufman Efficiency Ratio (er_norm)

Algorithms

root-cause analysis / code auditDuckDB ledger analysiscausal incremental feature reconstruction

Code

Interactive version (search, filters, figures): the experiment explorer.

← #11 CMA-NN 12-pair grid + mixed activations#13 Causal retrain verdict →
This page is one experiment from the audited record behind the book The Edge That Wasn'tget the book · about the project.