Rejected thesis
Volume accumulation (above-200DMA + 20d-vs-90d volume spike)
Thesis (marginal): Stocks in an established uptrend (above 200-day MA) with a sudden 20-day volume spike (z-score >= 1.0 vs the 90-day baseline) and confirming positive recent returns should continue for 20-40 days as institutional accumulation builds.
Code: research/accumulation_validate.py
Report: research/accumulation_report.json (n=2,074)
Why we're parking it: Real signal but the magnitude is too small to support an options structure after frictions.
| Horizon | Event mean | Ctrl mean | Edge | Hit |
|---|---|---|---|---|
| 5 d | +0.16 % | +0.19 % | -0.03 pp | 55 % |
| 10 d | +0.40 % | +0.29 % | +0.11 pp | 56 % |
| 20 d | +1.13 % | +0.71 % | +0.43 pp | 57 % |
| 40 d | +2.54 % | +1.66 % | +0.88 pp | 57 % |
Hit-rate 57 % is real (significantly above coinflip on n=2,074) but the ~0.5-1 % edge per trade is too small for the options-spread framework that worked for bounce / coil / PEAD. After 30 % friction haircut, edge would round to zero in practice.
Verdict: Not added to the watch-list. Could be combined with other filters to amplify (e.g. accumulation + PEAD = stricter buy signal) but on its own the alpha is too thin.
| Sample | 2,074 |
|---|---|
| Validator | research/accumulation_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
- Sector ETF mean-reversion
- 52-week-high breakout
- Cross-sector momentum
- Analyst-upgrade cluster
- PEAD × sector tailwind (combination)