Rejected thesis
Sector ETF mean-reversion
Thesis (rejected): When a SPDR sector ETF closes ≥ 2 sigma below
its 60-day mean and the broad market isn't in a tail move
(|z_SPX| < 1.5), the ETF reverts 5-10 trading days later.
Conrad / Kaul 1988 mean-reversion generalised to sector level.
Code: research/sector_reversion_validate.py
Report: research/sector_reversion_report.json (n=203 events
across 11 sector ETFs)
Why it failed: Hit rate is high (60-66 %) but edge over control is essentially zero - the reversion is generic market drift, not signal-specific alpha.
| Horizon | Event mean | Ctrl mean | Edge | Hit |
|---|---|---|---|---|
| 3 d | +0.13 % | +0.30 % | −0.17 % | 55 % |
| 5 d | +0.24 % | +0.42 % | −0.18 % | 60 % |
| 10 d | +0.66 % | +0.59 % | +0.06 % | 66 % |
| 20 d | +1.11 % | +1.01 % | +0.10 % | 63 % |
Sector ETFs at −2 σ are at −2 σ for macro reasons (a real sector headwind, rate move, etc.) and the dislocation persists. Going long the lagging sector earns roughly the same as buying any random day - we'd just be buying an upward-drifting index.
Verdict: Skip. The signal is dominated by macro persistence; the "mean reversion" assumption doesn't apply at sector-ETF level over 5-20 day horizons.
| Sample | 203 |
|---|---|
| Validator | research/sector_reversion_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)
- Beat-persistence pre-earnings drift
- 52-week-high breakout
- Volume accumulation (above-200DMA +...
- Cross-sector momentum
- Analyst-upgrade cluster
- PEAD × sector tailwind (combination)