01 — Reversal Patterns

Head & Shoulders#

Bearish ReversalHeuristic2 min read
◆ The PatternThree peaks — the classic top reversal

The Head & Shoulders is the best-known reversal pattern. A left shoulder peak, a higher head peak, then a lower right shoulder. When price breaks below the neckline (drawn through the two troughs), the bearish reversal is confirmed.

Target = Neckline − (Head − Neckline)
Measured move: the distance from the head to the neckline, projected downward from the breakpoint.
// Head & Shoulders anatomy
Key insight: Volume typically decreases from left shoulder → head → right shoulder. Declining volume on the right shoulder confirms weakening buying pressure.
Pattern bridge: The three-peak reversal is a distribution shape — the center peak is the mode. In ML, bias-variance follows the same arc: performance rises, peaks, then degrades.
How traders use this (with caveats)
  1. Identify three peaks with the middle one highest — the pattern often takes weeks to form
  2. Draw the neckline through the two troughs between the peaks
  3. Wait for a close below the neckline on increased volume — don't front-run
  4. Measure the distance from head to neckline — project that distance downward for a price target
  5. Set a stop-loss above the right shoulder — if price reclaims it, the pattern has failed
Reality check: Academic studies show mixed results for chart patterns. A 2000 study by Lo, Mamaysky & Wang found some statistical significance, but later studies with transaction costs often show diminishing edge. Use chart patterns as one input alongside quantitative signals — never as your sole decision tool.
Performance in practice
  • Large hand-counted samples (Bulkowski 2005) report that many patterns never reach their measured target; treat the target as an optimistic estimate and published success rates as rough guides
  • Volume confirmation — falling volume into the right shoulder, rising volume on the break — is the classic filter (Edwards & Magee)
  • Failure rate rises in strong trends — a clear H&S in a strong bull market often ends in a failed breakdown and continuation higher
  • Tested by algorithm, the pattern carries some information but rarely a trading edge on its own after costs (Lo, Mamaysky & Wang 2000)
When to use this
✓ Use when: You see three clear peaks after an extended uptrend. Volume declines on each successive peak. The pattern is forming on a daily or weekly timeframe (longer timeframes are less noisy). You have other confirming signals (RSI divergence, declining momentum).
✗ Skip when: The pattern is on an intraday chart (noise dominates). The broader trend is strongly bullish with no momentum divergence. You're relying solely on the pattern without risk management. The "head" is barely higher than the "shoulders" — ambiguous patterns have low reliability.
Try it on real data
Kaggle: Daily Stock Prices (S&P 500, all tickers, 2000-2023)
Download daily OHLCV data and look for H&S patterns in SPY around major tops (2000, 2007, 2022). Compare the pattern's predicted target vs actual drawdown.
Worked example

Left shoulder 108 (day 5), head 115 (day 14), right shoulder 109 (day 22), and both troughs between them at 100 — the neckline. The shoulders are within 1% of each other and the head clears both; day 26 closes at 99, below the neckline, which confirms it. Measured move: 100 − (115 − 100) = 85.

The example data

The turning points the daily closes run through, in straight lines between them; high and low are half a point either side of each bar.

DayClose
095
5108
9100
14115
18100
22109
2699
3092
Where it misleads
  • In real time the right shoulder is just a rally until the neckline breaks, and many necklines never break. The pattern is easiest to see afterwards.
  • The measured move is a rule of thumb; prices often stop short of it, and a pullback to the neckline after the break is common.
  • Studies differ: some find information in the pattern (Osler & Chang 1995 in currencies; Savin, Weller & Zvingelis 2007 in U.S. stocks), but not a rule to trade blindly.
In code
def swings(s, n=3):                     # a swing high (low) is the extreme of the 2n+1 bars around it
    w = s.rolling(2 * n + 1, center=True)
    return s[s == w.max()], s[s == w.min()]
c = df['close']
highs, lows = swings(c)
ls, head, rs = highs.iloc[-3:]                       # left shoulder, head, right shoulder
between = lows[(lows.index > highs.index[-3]) & (lows.index < highs.index[-1])]
neck = between.mean()                                # neckline (flat here)
is_hs = head > max(ls, rs) and abs(ls - rs) / head < 0.05
target = neck - (head - neck)                        # measured move
confirmed = c.iloc[-1] < neck
Python, in your browser — edit the code and run it again

Assumes import numpy as np, import pandas as pd, and a DataFrame df with columns open, high, low and close for the data above.

Sources
  • Technical Analysis of Stock Trends, R. D. Edwards & J. Magee, 1948 (later editions revised by W. H. C. Bassetti)
  • Encyclopedia of Chart Patterns (2nd ed.), T. N. Bulkowski, Wiley, 2005 — success and failure rates from large counts of patterns
  • G. Savin, P. Weller & J. Zvingelis, “The Predictive Power of ‘Head-and-Shoulders’ Price Patterns in the U.S. Stock Market”, Journal of Financial Econometrics 5(2), 2007
  • C. L. Osler & P. H. K. Chang, “Head and Shoulders: Not Just a Flaky Pattern”, Federal Reserve Bank of New York Staff Report 4, 1995

Last reviewed October 2026 · How this site checks its content · Report a mistake

Check yourself

1. When is a head-and-shoulders top considered complete in classical charting?

Show answer

C. Before the neckline breaks, the shape is just three peaks — and many such shapes resolve upward.

2. How is the classic price target measured?

Show answer

B. The measured move is a rule of thumb, not a forecast with known accuracy.

3. What does research say about chart patterns like this one?

Show answer

A. Lo, Mamaysky & Wang (2000) found some patterns shifted return distributions slightly; profits after costs and out of sample are another matter.

Linked from 1
Open in the full reader, with the topic sidebar