iteration 8 ยท 2026-07-23 ยท P2 ยท laptop-drives-bigblack
Deflate a feature's out-of-sample Sharpe by how many features were tried, counting the honest number of independent trials. 3 of 5 gates pass; two share a single, well-understood cause that needs a careful redesign โ so #8 does not graduate yet.
readonly=2. Compute wall ~12 s. Runs on the grounded #6 SFI return object + #0 CPCV substrate.| Gate | Result | |
|---|---|---|
| Harden โ N_eff recovery | ONC N_eff 7.0 โ participation ratio 6.04 (rel-err 16%) โ no collapse | PASS |
| Known-duplicate N_eff | two exact clones โ N_eff 1.0 (no extra trial) | PASS |
| Null FPR | DSR>0.95 FPR 0.004 โค 0.05 | PASS |
| FST (formula vs simulated max) | analytic SR0 0.452 vs simulated 0.239 โ 89% over-statement | OPEN |
| Power (look-ahead) | 0.07 โ 0.17 โ 0.37 (never 0.8) | OPEN |
Sanity: the real family's best feature (vwap, SFI Sharpe 3.75) deflates to DSR = 1.0 vs SR0 1.83 โ the instrument does flag a strong real signal.
The analytic Bailey-Lopez de Prado SR0 = E[max] formula assumes N_eff independent trials. But in each shuffle the whole family is scored against the same permuted target, so the trial Sharpes are correlated through that shared target โ a correlation ONC's feature-clustering (N_eff = 7) doesn't see. The max of correlated trials is smaller than the independent-N formula predicts, so the formula over-states SR0 ~2ร โ FST fails; and that inflated SR0 makes the DSR too conservative โ the look-ahead signal can't clear the bar โ power fails. Solving for the effective trials that reproduce the simulated max gives โ2.5, not 7.
Redesign to a permutation-based DSR: the deflation reference is the empirical null-max Sharpe distribution (block-permuted target), so SR0 = the simulated max by construction (matches FST correctly) and the DSR is the observed max's percentile in it โ capturing all correlation structure without an independence assumption. Calibrate the null-max threshold per N for an honest power curve. The analytic formula is retained as a reported diagnostic (it over-states โ the permutation SR0 is load-bearing). Then #8 reaches its terminal verdict.