Rejected thesis
Classical oversold oscillators (RSI / Williams %R / MFI / Stochastic)
Thesis (rejected): extreme oversold readings on the standard oscillators (RSI < 30, Williams %R < -90, MFI < 20, Stochastic %K < 15) mark exhaustion of selling pressure. Buying on these readings — alone or as a 3-of-3 consensus — should produce a tradeable bottom.
Code: research/oversold_indicators.py
Report: research/oversold_indicators_report.json (n=422,148 events
across all four oscillators)
Why it failed: Even the strictest combination — all three of RSI / Williams / MFI in extreme oversold simultaneously, on a name already ≥ 30 % off its 252d high, OOS 2020+ — barely produces +0.8 % edge at 40 d. Short-horizon edges are negative: buying when an oscillator extreme prints reliably bleeds 1-2 % over the next week before any mean reversion shows up.
| Bucket | n | 5d edge | 20d edge | 40d edge |
|---|---|---|---|---|
| rsi_os (RSI < 30) all | 43,351 | -1.10 % | -0.78 % | -0.44 % |
| rsi_os OOS 2020+ dd ≤ -30% | 9,059 | -1.44 % | +0.38 % | +2.66 % |
| williams_os all | 152,857 | -1.10 % | -0.87 % | -0.59 % |
| mfi_os all | 30,776 | -0.91 % | -0.78 % | -0.45 % |
| stoch_os all | 181,560 | -1.10 % | -0.94 % | -0.65 % |
| triple_os (RSI+Wms+MFI) all | 13,604 | -0.94 % | -0.69 % | -0.35 % |
| triple_os OOS 2020+ dd ≤ -30% | 3,026 | -1.60 % | -0.89 % | +0.79 % |
Oscillator extremes are noisy: a stock that's gone "very oversold" by the textbook oscillator definition is more often than not still in the middle of a slide, not at the bottom. The "buying-at-RSI-30" discipline is essentially the value-trap edge — flat-to-negative.
Verdict: Skip the oscillators as standalone bottom-timers. The direction of the oscillator reading isn't enough — what matters is the pattern over time (divergence; see Working signals below) or a consensus across distinct trigger mechanisms (consensus_capitulation).
| Sample | 422,148 |
|---|---|
| Validator | research/oversold_indicators.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