ML K5/H60

SAME 78 ML FEATURES · TOP/BOTTOM 5 · 60-DAY HOLD · PURGED SHARPE 0.76 NOT 1.99 · PAPER
About this strategy — what it is, what it looks for, how it operates

The deployed ml book uses 78 features with K=10 and a 20-day hold — a configuration inherited from research/110 and never tested against alternatives. A 75-cell K x hold map showed that cell sits in a poor region of its OWN surface. This book changes nothing but the construction: same 78 features, top-5/bottom-5, 60-day hold.

  • ChangeK 10→5, hold 20→60 days. Features identical to deployed ml — no feature selection, so no selection risk in the comparison
  • ⚠ LABEL LEAKAGE 2026-07-30The target is close.shift(-HOLD) but training selected date < d, so a row at d-30 carried a label built from prices at d+29 — inside the window being traded. No purge in any script. Re-run with training cut off HOLD sessions before each fold: candidate 1.90 → 0.76, deployed 1.41 → 0.46.
  • Why it hit this book hardestthe bias scales with HOLD (a 60-day label leaks 60 days, a 20-day label 20), so it predicted the exact finding this book was built on. It also explains why the K/hold result failed to transfer to precision25 — real structure transfers, leak artifacts do not.
  • Edge is now inside the noiseadvantage over the deployed cell fell +0.49 → +0.30, while the purged seed range is 0.34. With 3 seeds the two configs are indistinguishable. The original "3 seeds spread 0.01" stability claim was itself an artifact — leaked labels make predictions deterministic across seeds.
  • Forward record IS validat live prediction time shift(-HOLD) is NaN for the last HOLD sessions, so dropna() removes exactly the leaking rows. The live model is naturally purged. This paper book is a sound forward test; it was simply advertised against a number it could never hit.
  • Real-world corroborationthe deployed ml book: unpurged backtest +21%/yr, purged +6.9%, LIVE -8.92%. Reality is tracking the purged figure or worse.
  • Honest caveatINCEPTION is 2026-07-30. An earlier 07-15 start was removed: the ETF denylist and 50%-move guard were written because 2026-07-15 showed SOXS +974%, so scoring that window would credit the book for a cleaning rule fitted to it. Earlier periods are backtest and were part of the data the K/hold cell was chosen on — they are deliberately NOT shown as live. Paper only, no orders.
Backtest — 5-fold walk-forward, honest true-daily marks (2024-01 → 2026-05)
Sharpe
0.76 (purged)
Win rate
CAGR
+13.1% (purged)
Max DD

Backtest numbers, not live results — measured on honest true-daily marks across a 5-fold walk-forward with 10bps costs. Past performance does not guarantee future returns.

TOTAL P&L
+$72
+0.72% on $10,000 deployed
REGIME PAUSED
VIX
PERFORMANCE
RETURN
+0.72%
+$72 on capital deployed
SHARPE
need 17 more days
WIN RATE
0 closed (30 open)
MAX DD
-0.74%
worst drawdown
REALIZED P&L
$0
0 closed trades
UNREALIZED P&L
+$72
30 open positions
LONG EXPOSURE
$5,684
net +$72
SHORT EXPOSURE
$5,612
gross $11,296

Open Positions30 held · live MTM

Loading...

Recent Closed Tradeslast 0 closed · most recent first

No closed trades yet