Novel Overreaction Harvest Gap

Overreaction Harvest GapOHG
HONEST NULLsoccer_intl: overshoot 0.286 but model beats market only 22% of the time at max disagreement -> OHG 0.081 (a failure to harvest, not an edge); mlb: overshoot 0.072 but model beats market only 38% of the time at max disagreement -> OHG 0.009 (a failure to harvest, not an edge)
Structural market overshoot at large in-game moves, scaled by how far short our model falls of beating the market at max disagreement -- a measured failure to harvest, not an edge.
OHG = (n-weighted mean |moved_to - outcome| over {3-6pt,6-10pt,10pt+}) * (0.5 - model_closer_rate at >=.10 disagreement).| sport | overreaction abs mean | overreaction buckets used | model can beat model closer rate | max disagreement bucket | max disagreement n | model brier at max disagree | market brier at max disagree | ohg | market usually right at max disagree |
|---|---|---|---|---|---|---|---|---|---|
| soccer_intl | 0.2856 | bucket=3-6pt n=103 abs_moved_to_minus_outcome=0.2779; bucket=6-10pt n=21 abs_moved_to_minus_outcome=0.3648; bucket=10pt+ n=91 abs_moved_to_minus_outcome=0.276 | 0.2152 | >=.10 | 4406 | 0.3306 | 0.172 | 0.0813 | yes |
| mlb | 0.0721 | bucket=3-6pt n=2860 abs_moved_to_minus_outcome=0.0801; bucket=6-10pt n=1069 abs_moved_to_minus_outcome=0.0656; bucket=10pt+ n=794 abs_moved_to_minus_outcome=0.0518 | 0.3773 | >=.10 | 33,402 | 0.2827 | 0.2103 | 0.0088 | yes |
We searched for prior work before claiming anything. Here is what exists:
Overreaction/reversion is Moskowitz (2021, Journal of Finance, 'Asset Pricing and Sports Betting') and Choi & Hui (2014, JEBO) -- market_overreaction.json's own block flags the component INCREMENTAL. Disagreement skill is standard forecast verification. Crossing them into 'the market is wrong AND we still can't cash it' is a measured-FAILURE diagnostic that no one publishes (papers publish edges, not confessions). Do not claim the components as new.
- MANDATORY: OHG is an honest NULL -- at max disagreement the market is usually right (model_closer_rate 0.38 mlb / 0.22 soccer). It measures a FAILURE to harvest, NOT an edge.
- consecutive-row grain, in-game; mlb + soccer_intl only.
- soccer tail buckets are tiny (n=21-103), so the soccer overreaction magnitude is noisy.