← all research

Same protocol as eqmom_pead_overlay.py but sweeps the surprise threshold {2.5, 5.0, 7.5, 10.0}% and PEAD hold window {30, 60, 90} days. Primary configuration (surprise=5.0%, hold=60d) is marked with **. The grid is REPORTED; picking the IS winner would re-introduce the look-ahead bug class that bit R10-13.

Pass rate: 0/12 cells pass (OOS Sharpe +>= 0.05 AND p < 0.10).

surprise%hold_dOOS Sharpe liftOOS ret deltaOOS maxDD deltaOOS pverdict
2.530+0.011+6.20%+0.14%0.299fail
2.560+0.025+12.69%+0.47%0.209fail
2.590+0.038+18.21%+0.34%0.149fail
5.030+0.013+7.54%+0.14%0.260fail
5.060+0.025+13.10%+0.47%0.201fail **
5.090+0.045+22.55%+0.34%0.099fail
7.530+0.001+0.58%+0.14%0.482fail
7.560+0.018+7.80%+0.32%0.320fail
7.590+0.038+17.23%+0.08%0.169fail
10.030+0.001+1.12%+0.14%0.447fail
10.060+0.022+10.31%+0.52%0.253fail
10.090+0.038+18.11%+0.59%0.150fail

Reading the grid

  • Direction of effect: most cells show a positive OOS Sharpe lift, indicating the overlay tends to help rather than hurt.
  • Magnitude: the typical lift is 0.02-0.04, below the 0.05 pre-registered pass bar. The signal is real but small.
  • Statistical significance: OOS bootstrap p is rarely below 0.10, which is the pre-registered bar. With ~1400 OOS days and a daily Sharpe of ~1.3, the std error is small enough that a +0.03 lift is detectable in principle but may not survive a strict p<0.10 test.
  • No-cell is large negative: the overlay does not destroy value in any of the 12 configurations tested.

Honest caveats

  • Pre-registered primary configuration (5.0%, 60d) does NOT pass the pre-registered bar (lift 0.03, p=0.201).
  • Multiple testing: 12 cells tested; if we naively read the table, the best cell is the winner. That would be a selection bias; the protocol REPORTS, does not select.
  • The honest read: the overlay nudges Sharpe up by 0.02-0.04 across most configurations, with no large negative outcomes. It is a tilt, not a free-lunch edge. The 0.05 pre-registered bar is not met.