Rejected thesis
Beat-persistence pre-earnings drift
Thesis (real but too small to productize): When a company has beaten EPS consensus on each of the last 3 quarters, the stock drifts up in the 3-10 trading days before the next print as positioning builds.
Code: research/beat_persistence_validate.py
Report: research/beat_persistence_report.json (n=7,660 events)
Why we're parking it: Signal exists but the magnitude is too small to support a defined-risk options structure or a meaningful stock-only position.
| Filter | n | edge @ 10 d | pre-earnings mean |
|---|---|---|---|
| baseline (3-quarter streak ≥ +5 %) | 7,660 | +0.7 % | +0.4 % |
| min-surprise ≥ 20 % in the streak | 1,533 | +1.2 % | +0.4 % |
| min-surprise ≥ 50 % in the streak | 506 | +2.1 % | +0.8 % |
Even the tightest bucket (n=506) shows only ~2 % edge across a ~6-day hold. After options friction and entry slippage that probably collapses to ~0.5-1 %. Bounce, coil and PEAD all show 25 %+ options edge on larger samples — beat-persistence isn't competitive.
Verdict: Not added to the watch-list. The fact that beats persist before the next print isn't useful as a standalone trade because analyst-revision activity is largely priced before our signal fires. Keep the validator in the tree for future re-litigation if better analyst-revision or whisper-number data becomes available.
| Sample | 7,660 |
|---|---|
| Validator | research/beat_persistence_validate.py |
| Verdict | Rejected |
Every result here is reproducible from the script named above. Reports are in the repository.
- Volatility squeeze
- Pre-FOMC drift
- Uptrend pullback
- Momentum continuation
- Industry-relative momentum (at 4-week lookback)
- Earnings-reaction reversal (anti-PEAD)
- Sector ETF mean-reversion
- 52-week-high breakout
- Volume accumulation (above-200DMA +...
- Cross-sector momentum
- Analyst-upgrade cluster
- PEAD × sector tailwind (combination)