Rule: positive-surprise names, top quintile of each announcement day's surprises, hold 60d, next-open, OOS >= 2016. Null = shuffle surprise within day among positives. N perms = 200. Decision: REJECT if placebo p>=0.05 (the quintile ranking is noise).
- any-positive (baseline) OOS Sharpe: 0.62
- top-quintile (live) OOS Sharpe: 0.83
- null mean 0.63, p95 0.69
- empirical placebo p = 0.000 (11810 announcements)
- sanity: fast builder minus edge_hunt10 reference = +nan
Verdict: SIGNAL
- top-quintile 0.83 vs any-positive 0.62 vs randomised-quintile null 0.63.
- REJECT -> the surprise-magnitude filter does not beat a random quintile from the same day's positives; the drift is the event-window exposure, not the ranking.