← all research

All studies use validation/framework.py (lag>=1, next_open, dead-stock-safe, cost_bps decimal). IS <2016-01-01, OOS >=2016-01-01, bootstrap n=5000, beta audit vs EW market and vs EqMom.

VariantSegmentRet (cum)Sharpe(252)MaxDDpCorrMktCorrEqMomResidSharpe
Announcement drift (ret1>0, hold60)IS+9.48%0.16-12.57%0.3020.410.390.19
Announcement drift (ret1>0, hold60)OOS+148.40%0.75-21.25%0.0050.410.390.19
MAX long low (bottom decile, hold21)IS+111.14%0.59-46.08%0.0370.890.71-0.19
MAX long low (bottom decile, hold21)OOS+214.10%0.78-34.06%0.0060.890.71-0.19
Halloween (long SPY Nov-Apr, lag1)IS+86.48%0.54-33.71%0.0480.720.62-0.15
Halloween (long SPY Nov-Apr, lag1)OOS+92.23%0.50-33.72%0.0550.720.62-0.15
SPY buy-holdIS+95.43%0.44-55.19%0.0861.001.000.00
SPY buy-holdOOS+349.45%0.89-33.72%0.0031.001.000.00
EqMom baseline (12-1 top decile, hold21, net10bps)IS+195.59%0.62-54.71%0.0281.001.000.00
EqMom baseline (12-1 top decile, hold21, net10bps)OOS+1004.91%1.06-38.55%0.0011.001.000.00

Verdicts (OOS only, p<0.05 and resid>0 and corrEqMom<0.6 required for PASS)

  • Announcement drift (ret1>0, hold60): REJECT (p=0.005, Sharpe 0.75, corrEqMom 0.39, resid 0.19) — resid~0.
  • MAX long low (bottom decile, hold21): REJECT (p=0.006, Sharpe 0.78, corrEqMom 0.71, resid -0.19) — high corr/beta.
  • Halloween (long SPY Nov-Apr, lag1): REJECT (p=0.055, Sharpe 0.50, corrEqMom 0.62, resid -0.15) — no seasonal alpha.
  • SPY buy-hold: — (p=0.003, Sharpe 0.89, corrEqMom 1.00, resid 0.00) — reference.
  • EqMom baseline (12-1 top decile, hold21, net10bps): — (p=0.001, Sharpe 1.06, corrEqMom 1.00, resid 0.00) — reference.

Notes

  • Announcement drift: ret1 = close[t+1]/close[t]-1 on earnings date t, hold positives from t+2 for 60 calendar days, equal-weight, gross (cost ~0.02% daily).
  • MAX: max daily return in prior 21 trading days, signal = -MAX, top decile long, hold21, net 10bps next_open.
  • Halloween: long SPY Nov-Apr, flat May-Oct, lag1 (signal at D decides for D+1).
  • All three families are price/calendar-based and were never explored in prior rounds (factor zoo, intraday, PEAD, commodity, etc.).