iteration 7 ยท 2026-07-23 ยท P2 ยท laptop-drives-bigblack
Train on one feature alone over the leakage-free CPCV substrate and ask: does it beat a coin toss out-of-sample? This is the per-feature return object that later unlocks the Deflated Sharpe and PBO tests. It grounds on 869,833 real bars.
readonly=2. Compute wall ~11 s. Runs on the grounded #0 CPCV substrate (50 disjoint leave-one-group-out folds, purge+embargo).To judge whether a single feature is useful on its own, we let it make out-of-sample bets across 50 time-slices and score how consistently it wins. The score's pass-mark is not a round number like 1 โ we learn it from shuffled (no-signal) data: here the real bar is 2.13. If you'd naively used 1.0, you'd wrongly call a useless feature "useful" 31.5% of the time. And a feature whose edge lives in only a few regimes is invisible to the standard averaging score โ so we add a concentration-robust readout that catches it, halving the concentration a feature needs before we can see it.
| Gate | Result | |
|---|---|---|
| z* from null + FPR | z* = 2.13 (null 95th pct, >1.0); FPR(z*) 0.028 โค ฮฑ; FPR at naive z=1.0 = 0.315 | PASS |
| Power (known-positive) | real look-ahead: .75 โ .85 โ .85 โ .93; N_min 20,000 | PASS |
| Known-duplicate | exact clone โ identical z_SFI | PASS |
| Harden (episodic) | z=mean/sd ฮบ_min 0.2; concentration-robust ฮบ_min 0.1 (rescues ฮบ=0.1) | PASS |
The CPCV fold scores are correlated, so the null distribution of the z-score is much wider than the textbook N(0,1). A naive pass-mark of z=1.0 therefore lets through 31.5% of pure-noise features. Deriving z* from the block-permuted null (2.13) restores false-positive control to 2.8% โ exactly the ยง7 "PREREG from null, not 1.0" requirement.
z = mean/sd is suppressed and silently kills it (ฮบ_min 0.2). The concentration-robust statistic (folds beating the null per-fold 95th percentile) catches the concentrated signal โ ฮบ_min drops to 0.1, rescuing the ฮบ=0.1 case mean/sd misses. Regime-concentrated features are routed to this robust readout / #18 detector, never boneyard-ed.GROUNDED โ the per-feature return object is validated.
Next iteration โ #8 Deflated Sharpe Ratio (on SFI paths) โ rides on this return object to deflate for the number of features tried.