Pre-reg: IS < 2016-01-01, OOS >= 2016-01-01. Decision BASE = resid L126/H21 (live-proxy). Costs 10bps one-way decimal (25bps stress on PRIMARYs). sqrt(252). Corp-action |gap|>20% never skipped. Earnings forward window carries the scheduled-vs-actual caveat (see E section).
GAP family (full universe)
| Variant | OOS Ret | OOS Sharpe | OOS MaxDD | Net10 Sharpe | Turn/yr | CorrMkt | CorrBase | ResidSh | p vs BASE |
|---|---|---|---|---|---|---|---|---|---|
| BASE resid L126/H21 | +1198.86% | 1.20 | -35.49% | 1.20 | 8.12 | 0.79 | 1.00 | 0.65 | - |
| BASE raw L126/H21 (ref) | +942.19% | 1.07 | -38.77% | 1.07 | 8.57 | 0.77 | 0.98 | 0.45 | - |
| G PRIMARY skip gap>+2% | +967.79% | 1.14 | -35.57% | 1.14 | 8.75 | 0.79 | 0.99 | 0.55 | 0.9936 |
| G skip gap>+1% | +786.39% | 1.08 | -34.80% | 1.08 | 10.01 | 0.80 | 0.98 | 0.45 | 0.9976 |
| G skip gap>+3% | +1103.23% | 1.18 | -35.97% | 1.18 | 8.45 | 0.79 | 1.00 | 0.62 | 0.9492 |
| G skip | gap | >2% | +870.56% | 1.13 | -35.25% | 1.13 | 9.40 | 0.81 | 0.98 |
| G control skip lagret>+2% | +861.96% | 1.13 | -33.32% | 1.13 | 10.36 | 0.79 | 0.98 | 0.54 | 0.9824 |
GAP skip diagnostics (PRIMARY, OOS mean skipped/top-decile): 2.83% of names skipped per day.
EARN family (covered universe)
| Variant | OOS Ret | OOS Sharpe | OOS MaxDD | Net10 Sharpe | Turn/yr | CorrMkt | CorrBase | ResidSh | p vs BASE |
|---|---|---|---|---|---|---|---|---|---|
| BASE resid covered | +1215.66% | 1.21 | -35.49% | 1.21 | 8.13 | 0.79 | 1.00 | 0.67 | - |
| E PRIMARY fwd-5d blackout | +1184.95% | 1.20 | -35.49% | 1.20 | 8.38 | 0.80 | 1.00 | 0.66 | 0.7144 |
| E fwd-2d blackout | +1183.17% | 1.20 | -35.49% | 1.20 | 8.25 | 0.79 | 1.00 | 0.65 | 0.7766 |
| E fwd-10d blackout | +1025.76% | 1.16 | -35.49% | 1.16 | 8.93 | 0.81 | 0.99 | 0.58 | 0.9724 |
| E control past-2d (PIT-pure) | +1203.46% | 1.20 | -35.49% | 1.21 | 8.21 | 0.79 | 1.00 | 0.67 | 0.6898 |
EARN skip diagnostics (PRIMARY, OOS): mean 2.66% of covered names in blackout per day.
IS (pre-2016) reference — PRIMARYs + BASEs
| Variant | IS Ret | IS Sharpe | IS lift vs BASE |
|---|---|---|---|
| GAP BASE resid L126/H21 | +188.83% | 0.56 | - |
| GAP BASE raw L126/H21 (ref) | +232.45% | 0.67 | - |
| GAP G PRIMARY skip gap>+2% | +167.18% | 0.54 | -0.02 |
| EARN BASE resid covered | +184.63% | 0.56 | - |
| EARN E PRIMARY fwd-5d blackout | +184.53% | 0.56 | -0.00 |
Verdicts
GAP PRIMARY (skip gap>+2%): REJECT (OOS gross lift -0.06 (need >=+0.10); net10 lift -0.06 (need >=+0.10); net25 Sharpe +1.07 (stress info); p 0.9936 (need <0.05); resid +0.55 (need >0); IS lift -0.02 (need same sign); control lift -0.07 (need < PRIMARY); DSR(K=5) 1.00 (info))
EARN PRIMARY (fwd-5d blackout): REJECT (OOS gross lift -0.00 (need >=+0.10); net10 lift -0.00 (need >=+0.10); net25 Sharpe +1.14 (stress info); p 0.7144 (need <0.05); resid +0.66 (need >0); IS lift -0.00 (need same sign); control lift -0.00 (need < PRIMARY); DSR(K=4) 1.00 (info))
E caveat reminder: forward window uses ACTUAL (not scheduled) dates — a PASS would still need a scheduled-calendar shadow before any live vote; a past-2d-only win = PEAD repackaging, REJECT.
Time: 38s. TOP_K=50, HOLD=21d, covered=496/501.