Pre-registered 2026-09-09. Double-sort: monthly top-20 live-momentum (resid+sector) -> 10 lowest-accrual (Study-7 Q3, frozen annual), fallback fill by momentum rank (2842 fallback days in-sample). 101 universe (99 matched), top-10, hold=21, next-open, 10bps, sqrt(252). Split 2016-01-01. Guard PASS.
| Variant | OOS Ret | OOS Sharpe | OOS MaxDD | Turn/yr | CorrMkt | CorrBase | ResidSh | p vs BASE |
|---|---|---|---|---|---|---|---|---|
| BASE_live resid+sector H21 | +1507.27% | 1.29 | -30.87% | 8.24 | 0.75 | 1.00 | 0.74 | - |
| TILT mom-top20 x low-accrual | +623.78% | 1.02 | -32.36% | 8.39 | 0.80 | 0.92 | 0.28 | 0.9978 |
IS (pre-2016) reference
| Variant | IS Ret | IS Sharpe | IS MaxDD |
|---|---|---|---|
| BASE_live resid+sector H21 | +284.38% | 0.68 | -62.35% |
| TILT mom-top20 x low-accrual | +197.22% | 0.58 | -62.35% |
Bar (pre-registered): PORT PASS = OOS p<0.05 vs BASE_live with resid >= BASE resid and sane turnover. Else REJECT.
Verdict (2026-09-09) — REJECT (tilt dilutes; live stays)
TILT 1.02 vs BASE_live 1.29, p=0.9978, resid 0.28 vs 0.74, IS also worse (0.58 vs 0.68). Third confirmation of the Study-6 lesson: the live resid+sector selector is already sharp — constraining it (hold incumbents, filter by accruals) cuts winners, not noise. Coverage audit sharpens the point: OOS the mom-top-20 pool averages only 11.5 names with accruals (59-70 eligible of 99; 558/2667 days below 10 trigger the momentum fallback), so the double-sort operates at untradable thinness AND the wrong direction. Accruals is closed as a selection device (standalone MARGINAL-beta-plus, tilt REJECT). No live change.