# McClellan Oscillator

Also known as: Summation Index, Haurlan Index.
A Breadth, Sentiment & External Data concept (Breadth) in the LuxAlgo Library.

## What is the McClellan Oscillator?

The McClellan Oscillator is a breadth-momentum indicator developed by Sherman and Marian McClellan in 1969, building on P.N. Haurlan's early use of exponential smoothing in market analysis. Each day you take net advances (advancing issues minus declining issues, classically on the NYSE) and subtract the 39-day EMA of that series from its 19-day EMA. The result oscillates around zero: positive when short-term breadth is improving faster than its longer baseline, negative when it is deteriorating. Many modern implementations use ratio-adjusted net advances, dividing the daily difference by the sum of advances and declines (often scaled by 1,000), so readings stay comparable as the number of listed issues changes.

The 19- and 39-day lengths are not arbitrary. Haurlan, a Jet Propulsion Laboratory engineer who published the Trade Levels reports, popularized exponential smoothing constants of 10% and 5% for market work, which correspond to 19- and 39-day EMAs. The McClellans built their oscillator as the difference between those two trend values and published the method in Patterns for Profit (1970). Their son Tom McClellan has continued the family's breadth work, including the ratio-adjusted versions used for long histories.

Readings above zero say the average stock is participating in gains; deep negative spikes often accompany selling climaxes, and divergences against the index warn that a price move lacks participation. The cumulative running total of the oscillator is the McClellan Summation Index, a slower gauge of the breadth trend that frames the regime around the oscillator's swings.

Within market-internals work it is the momentum gauge. Level-based tools such as the [% of stocks above the 20/50/200-day MA](https://www.luxalgo.com/library/concept/percent-stocks-above-20-50-200-day-ma/) and intraday reads such as the [TICK index](https://www.luxalgo.com/library/concept/tick-index/) show where participation stands, while the McClellan Oscillator shows how fast participation is changing. Deep extremes often coincide with fear readings elsewhere, such as spikes in the [VIX](https://www.luxalgo.com/library/concept/vix/), which is why it features in composite risk dashboards. Like all breadth tools it describes participation, not price, so it is read alongside the index rather than instead of it.

## How to read the McClellan Oscillator on a chart

It plots as an oscillator around zero in its own pane; reading it means recognizing which of its known behaviors is on screen.

1. Confirm the calculation first: which universe it covers (NYSE, Nasdaq, or a custom basket) and whether it is raw or ratio-adjusted, because typical levels differ between versions.
2. Read the zero line: sustained time above it means short-term breadth momentum favors the bulls, while repeated failures just beneath it mark persistent distribution.
3. Mark extremes against that version's own history. On the classic NYSE calculation, readings beyond roughly plus or minus 100 are commonly cited as stretched, but calibrate to the series you actually plot.
4. Hunt divergences at price extremes: a new index high with a clearly lower oscillator peak means fewer stocks are carrying the advance.
5. Frame it with the Summation Index: oscillator dips against a rising Summation Index are pullbacks in an advancing breadth regime, while the same swings under a falling one are rallies into weakness.

## How it's calculated

The oscillator reads breadth momentum as the spread between fast and slow EMAs of daily net advances; the Summation Index is its running total.

```
NetAdv_t = A_t - D_t
EMA19_t = EMA19_{t-1} + 0.10 × (NetAdv_t - EMA19_{t-1})
EMA39_t = EMA39_{t-1} + 0.05 × (NetAdv_t - EMA39_{t-1})
McOsc_t = EMA19_t - EMA39_t
MSI_t = MSI_{t-1} + McOsc_t
Ratio-adjusted variant: RANA_t = 1000 × (A_t - D_t) / (A_t + D_t), used in place of NetAdv_t

  A_t: number of advancing issues on day t
  D_t: number of declining issues on day t
  t: trading day
  NetAdv_t: net advances
  EMA19_t: 19-day EMA of net advances, smoothing 0.10 = 2 / (19 + 1) (the 10 percent trend)
  EMA39_t: 39-day EMA of net advances, smoothing 0.05 = 2 / (39 + 1) (the 5 percent trend)
  McOsc_t: McClellan Oscillator
  MSI_t: McClellan Summation Index, the running total of the oscillator
  RANA_t: ratio-adjusted net advances, net advances per 1000 advancing plus declining issues
```

Classically computed on NYSE daily breadth; the EMA approach follows P.N. Haurlan's earlier Haurlan Index.

The ratio-adjusted form divides by advances plus declines so readings stay comparable as the number of listings changes; the McClellans use it for their published figures.

The Summation Index is often calibrated so that neutral sits near +1000 rather than 0.

## How traders use it

- Zero-line crosses mark shifts in breadth momentum and are used to confirm or question index-level trend signals built from [advance/decline internals](https://www.luxalgo.com/library/concept/advance-decline-internals/).
- Extremes are read two ways: unusually deep negative readings flag washed-out selling that sometimes precedes rebounds, while extreme positives can mark either short-term overbought conditions or the kind of initiation surge studied under breadth thrusts.
- Divergences against price at new index highs, especially when other internals such as new highs minus new lows agree, warn that leadership is narrowing.
- Regime filtering via the Summation Index: staying with index exposure while the Summation Index rises and tightening risk when it rolls over, a slower cadence than the oscillator's own swings.
- Dashboard duty: combined with volatility gauges and sector [ratio charts](https://www.luxalgo.com/library/concept/ratio-charts/) to judge whether an index move has broad sponsorship or is being carried by a handful of mega-caps.

## McClellan Oscillator vs other breadth gauges

- **Advance/decline Internals** (https://www.luxalgo.com/library/concept/advance-decline-internals/): The advance/decline line cumulates net advances indefinitely, making it a trend tool whose divergences play out over months. The McClellan Oscillator differences two EMAs of the same data, making it a swing tool measured in days to weeks. Same input, different clock speed.
- **% Stocks Above 20/50/200-day MA** (https://www.luxalgo.com/library/concept/percent-stocks-above-20-50-200-day-ma/): Percent-above-MA gauges show the level of participation at a snapshot, which suits regime mapping. The oscillator shows the rate of change of participation, so it turns earlier but whipsaws more. Many analysts read the pair together as level plus momentum.
- **TICK Index** (https://www.luxalgo.com/library/concept/tick-index/): The TICK index counts upticking minus downticking stocks moment to moment, an intraday execution tool. The McClellan Oscillator compresses daily breadth closes, so it speaks to swing timing. They share the breadth idea but operate on different horizons.

## FAQ

### What is the McClellan Summation Index?

It is the cumulative running total of the McClellan Oscillator: each day's oscillator value is added to the prior total. Because it integrates the oscillator, it moves slowly and serves as a longer-term gauge of the breadth trend, rising while breadth momentum stays net positive. The oscillator times shorter swings; the Summation Index frames the regime around them.

### What data does the McClellan Oscillator require?

Daily counts of advancing and declining issues for a chosen universe, traditionally the NYSE. The same math works on the Nasdaq, an index's constituents, or any basket with advance/decline data. The ratio-adjusted variant, which divides net advances by total advances plus declines, is preferred for long histories because the raw number of listed issues changes over time.

### What are overbought and oversold levels for the McClellan Oscillator?

On the traditional NYSE calculation, readings beyond about +100 and -100 are the most commonly cited extremes, with deeper prints marking capitulation-grade breadth. Ratio-adjusted versions and custom universes scale differently, so treat published numbers as starting points and calibrate to the plotted series' own history.

### Why does the McClellan Oscillator use 19- and 39-day EMAs?

They come from P.N. Haurlan's smoothing constants of 10% and 5%, which convert to 19- and 39-day EMA lengths. The pairing sets a short trend value against a baseline roughly twice as slow, and the convention stuck because decades of published breadth analysis are built on it.

### Can the McClellan Oscillator be used on crypto?

Only with a defined universe: some implementations count advancing versus declining coins across a basket of large caps and run the same math. It cannot be computed for a single pair, since breadth requires many issues. A [currency strength meter](https://www.luxalgo.com/library/concept/currency-strength-meter/) fills a loosely similar aggregation role in forex.

### How reliable are McClellan Oscillator divergences?

They are warnings, not timing signals. Narrowing breadth at highs has preceded many meaningful tops, but it can persist for weeks while a capitalization-weighted index grinds higher on a few large names. Most practitioners require price confirmation before acting on a divergence.

## Related concepts

- Advance/decline Internals: https://www.luxalgo.com/library/concept/advance-decline-internals/
- Up/down Volume: https://www.luxalgo.com/library/concept/up-down-volume/
- TICK Index: https://www.luxalgo.com/library/concept/tick-index/
- % Stocks Above 20/50/200-day MA: https://www.luxalgo.com/library/concept/percent-stocks-above-20-50-200-day-ma/
- New Highs − New Lows: https://www.luxalgo.com/library/concept/new-highs-new-lows/
- Equal-weight vs Cap-weight Ratio: https://www.luxalgo.com/library/concept/equal-weight-vs-cap-weight-ratio/
- Participation Divergence at Index Highs: https://www.luxalgo.com/library/concept/participation-divergence-at-index-highs/
- TRIN: https://www.luxalgo.com/library/concept/trin/
- Breadth Thrusts: https://www.luxalgo.com/library/concept/breadth-thrusts/
- Sector Breadth: https://www.luxalgo.com/library/concept/sector-breadth/

---

Source: https://www.luxalgo.com/library/concept/mcclellan-oscillator/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/