McClellan oscillator and summation index
Lesson 10 · about 10 min
The A/D line is cumulative and slow. Sherman and Marian McClellan's 1969 idea was to apply two exponential moving averages to the daily net advances and take the difference, producing an oscillator that swings around zero and catches turns in breadth momentum weeks before the A/D line itself shows a divergence. The summation index is that oscillator accumulated, which turns it back into a slow regime measure.
The oscillator
McClellan oscillator = EMA19(net advances) − EMA39(net advances)
where net advances = advancers − decliners for the day. The 19-day EMA (smoothing factor 0.10) reacts quickly; the 39-day EMA (factor 0.05) reacts slowly. When breadth momentum is improving the fast average pulls above the slow one and the oscillator is positive.
Most modern versions are "ratio-adjusted": net advances are divided by (advancers + decliners) and multiplied by 1,000 before the EMAs, so that readings are comparable across eras with different numbers of listed stocks. The zones below assume that version on NYSE data.
+150 ┤ extreme; breadth thrust territory (see next lesson)
+100 ┤ overbought; rallies often pause
+50 ┤ bullish
0 ┼──────────────────────────────────────── zero line: momentum flips here
-50 ┤ bearish
-100 ┤ oversold; declines often pause
-150 ┤ extreme; capitulation
Four ways to read it
Zero-line crosses. Crossing above zero means breadth momentum has turned positive. Crude, frequent, and often late by a few days, but it is a clean regime flip for a mechanical filter.
Extremes. Beyond ±100 the oscillator has historically marked short-term exhaustion. Beyond ±150, something climactic is happening. Neither is a reversal trigger on its own.
Divergence with price. Price makes a new high, oscillator makes a lower high while staying positive: momentum in breadth is fading before the A/D line has visibly diverged. This is the McClellan's edge over the raw A/D line: it shows the second derivative.
Complex vs simple structures. The McClellans' own reading focused on shape. A "complex" structure, with the oscillator chopping around one side of zero for weeks, signals a strong trend in that direction. A "simple" structure, a single quick spike and return, signals a trend that is not sustained.
Complex (strong trend): Simple (weak spike):
/\ /\ /\ /\
/ \/ \/\/ \___ / \
─────────────────── 0 ─────────/────\────── 0
\___/
Key idea: The McClellan oscillator is breadth momentum. Its sign says which way participation is accelerating; its extremes say when it is stretched; its divergences appear before the A/D line's do. The summation index accumulates it into a regime measure.
The summation index
Summation index today = summation index yesterday + oscillator today
Because it accumulates, it behaves like a smoothed, momentum-weighted A/D line. In the ratio-adjusted version, readings above roughly +1,000 mark healthy bull regimes and readings below -1,000 mark bear regimes, with the zero line as a rough dividing point. A rising summation index from below -1,000 has often marked the early stage of new uptrends.
| Summation index | Regime read |
|---|---|
| Above +1,000, rising | Broad bull; long setups have the wind |
| Above +1,000, falling | Bull weakening; late-cycle, tighten |
| Between -1,000 and +1,000 | Transitional; look to other tools |
| Below -1,000, falling | Bear; short setups have the wind |
| Below -1,000, rising | Bear weakening; early recovery candidate |
The summation index's turns (from falling to rising or the reverse) are the slow regime signals; the oscillator's crosses are the fast ones. A common swing filter: trade long only when the summation index is rising, regardless of level.
A worked example
Suppose the last three days' ratio-adjusted net advances were +150, +220, +80 (that is, after dividing by total issues and multiplying by 1,000). Yesterday's EMA19 was +40 and EMA39 was +10. Today's net advance is +80.
- EMA19 today = 0.10 × 80 + 0.90 × 40 = 8 + 36 = +44
- EMA39 today = 0.05 × 80 + 0.95 × 10 = 4 + 9.5 = +13.5
- Oscillator = 44 − 13.5 = +30.5
If yesterday's summation index was +620, today's is 620 + 30.5 = +650.5.
Notice that the oscillator is positive and rising even though today's net advance (+80) was the weakest of the three days. The oscillator is measuring whether the recent average is better than the longer average, not whether today was a good day.
Failure modes
- Trading every zero cross. In a range, the oscillator crosses zero every few days. Pair it with the summation index's direction or the % above 50-day.
- Treating ±100 as a reversal. In a strong trend the oscillator can hold above +100 for a week while the index gains several percent. The extreme is a "do not chase" note, not a "sell" note.
- Ignoring the ratio adjustment. Raw-count versions from old books quote different zones. Know which one your platform plots.
- Rate-sensitive listings. Same artefact as the A/D line, since the inputs are the same. Cross-check with an S&P-member version if the NYSE composite disagrees with everything else.
Try it: Compute the ratio-adjusted oscillator by hand for ten days from published advancers and decliners (seed the two EMAs with the first day's value). Then compare to a platform's plot. Once the numbers match, note the oscillator's sign at the start of your last twenty swing trades and check whether your win rate differed between positive and negative signs.
Recap
- McClellan oscillator = EMA19 − EMA39 of daily net advances, usually ratio-adjusted; it measures breadth momentum around zero.
- Read zero crosses for regime flips, ±100 for stretched conditions, divergences for early narrowing, and complex vs simple structures for trend strength.
- The summation index accumulates the oscillator; ±1,000 are rough bull/bear zones, and its turns are slow regime signals.
- Neither is a trigger on its own; combine with the % above 50-day and price.
- Know whether your platform's version is ratio-adjusted before applying any zone.
See it drawn
Original diagrams for the ideas on this page. Illustrative, not real market data.