Rejected thesis
Classical candlestick patterns (single- and three-bar)
Thesis (rejected): The textbook reversal candles — hammer / shooting star / bullish-engulfing / bearish-engulfing / doji / three-white-soldiers / three-black-crows / morning-star / evening-star — predict the direction implied by their name over the next 5-40 trading days.
Code: research/candlestick_patterns.py,
research/three_candle_patterns.py
Reports: research/candlestick_patterns_report.json (n=278,076),
research/three_candle_patterns_report.json (n=23,763)
Why they failed: Unconditional edges are tiny and often the wrong sign. All thresholds were ATR-normalised so the test scales across vol regimes, and a trend filter (10-day return / SMA20) was attached to the bullish vs bearish candles. n is large in every bucket — these aren't sample-size problems.
| Pattern (unconditional) | n | 5d edge | 20d edge | 40d edge |
|---|---|---|---|---|
| hammer | 10,579 | -0.6 % | -0.1 % | +0.9 % |
| shooting star (bearish!) | 11,909 | +0.1 % | +0.3 % | +0.5 % |
| bullish engulfing | 26,146 | +0.3 % | +0.8 % | +1.2 % |
| bearish engulfing | 38,973 | +0.1 % | +0.1 % | +0.2 % |
| doji | 190,469 | +0.0 % | +0.0 % | -0.0 % |
| three white soldiers | 3,447 | -0.5 % | -0.9 % | -1.8 % |
| three black crows | 3,649 | -0.0 % | -0.8 % | -0.8 % |
| morning star | 7,929 | -0.3 % | -0.4 % | -0.1 % |
| evening star | 8,738 | +0.0 % | -0.4 % | -0.5 % |
Shooting star should be bearish, three-white-soldiers should be bullish — both come out flat or backwards. Doji is exactly zero on 190k events.
Verdict: The unconditional candlestick patterns are noise after the rest of the recent move is controlled for. The one salvageable finding is in the conditioning section below (bullish engulfing in deep drawdown → modest amplification).
| Sample | 278,076 |
|---|---|
| Validator | research/candlestick_patterns.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