Rejected thesis
Deep-drawdown bounce (capitulation cohort, no MA dependency)
Code: research/drawdown_bounce.py
Report: research/drawdown_bounce_report.json (n=31,399 events)
Strips the MA cross out entirely: fires when a stock is 15 %+ below its trailing 252d high, has been falling for at least 60 trading days since that high, has a negative trailing-20d return, and is showing volume confirmation (5d vol ≥ 1.2x 60d baseline).
| Bucket | n | 60d edge | 250d edge |
|---|---|---|---|
| dd_deep (-50% to -30%) | 7477 | +1.7 % | +6.4 % |
| dd_severe (≤ -50%) | 1937 | +7.6 % | +25.4 % |
| vol_confirmed + dd ≤ -30% | 2654 | +3.8 % | +12.5 % |
| OOS 2020+ vol_confirmed + dd ≤ -30% | 1545 | +4.3 % | +18.1 % |
| IS pre-2020 vol_confirmed + dd ≤ -30% | 1109 | +2.9 % | +3.8 % |
Three observations: 1. The bounce is monotonically stronger with deeper drawdown. 2. The death-cross + dd combo earns ~3x the edge of dd alone — the cross does add timing on top of pure drawdown context. 3. n is much larger here than in the cross variant, so this is more practical to operationalise as a basket.
| Sample | 31,399 |
|---|---|
| Validator | research/drawdown_bounce.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)
- Beat-persistence pre-earnings drift
- Sector ETF mean-reversion
- 52-week-high breakout
- Volume accumulation (above-200DMA +...
- Cross-sector momentum
- Analyst-upgrade cluster