The Bid & Ask

Quotations, Dispatches, and the Daily Tape

Thursday, August 13, 2026

Rejected thesis

Classical candlestick patterns (single- and three-bar)

The result

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).


At a glance
Sample278,076
Validatorresearch/candlestick_patterns.py
VerdictRejected

Every result here is reproducible from the script named above. Reports are in the repository.

Other rejected theses