WhitmanTrading

CCI vs Awesome Oscillator

The commodity channel index rescales the gap between the typical price and its 20-period average by 0.015 times the mean deviation, so its size adjusts to the market. The awesome oscillator subtracts a 34-period average of bar midpoints from a 5-period one and leaves the result in price units.

The commodity channel index and the awesome oscillator sit in the same kind of panel and swing around the same zero line. One of them divides by how much price usually wanders; the other does not. Over 33 years of SPY that single difference decides whether a fixed threshold means anything.

What each one is

The commodity channel index is a scaled distance from an average. Donald Lambert introduced it in Commodities magazine in 1980: the typical price (the mean of high, low and close) minus its 20-period average, divided by 0.015 times the mean deviation of the typical price from that average. The commodity channel index covers the steps.

The awesome oscillator is an unscaled gap between two averages. Bill Williams built it from bar midpoints, (high + low) / 2: the 5-period simple average minus the 34-period simple average, drawn as a histogram. The awesome oscillator covers how its colors are set.

Neither has a ceiling. Both can print any value, but only one keeps its typical size steady when the market’s price level changes.

Where they differ

Units. The CCI is a pure number. The awesome oscillator is in the instrument’s own price units, dollars for SPY, so it grows as price grows.

What feeds them. The CCI uses the typical price, which includes the close. The awesome oscillator uses the midpoint of the high and low, so the close plays no part.

How long they look back. The CCI uses 20 periods for its average and its deviation. The awesome oscillator compares 5 periods with 34.

What a threshold means. Lambert chose 0.015 so that most readings land between minus 100 and plus 100, making 100 a portable line. The awesome oscillator has no such line; any level is specific to one instrument at one price.

What 33 years of SPY did to each scale

The awesome oscillator grew with the price. The median absolute reading was $0.53 in 1994 and $12.36 in 2022, 23.3 times larger. SPY’s median close rose more than thirteenfold from 1994 to 2025, and the oscillator followed it.

The CCI barely moved. Its median absolute reading by year stayed between 74.68 (2015) and 103.34 (2020), a ratio of 1.38. The share of readings inside plus or minus 100 ran from 47.6% (1995 and 2019) to 67.46% (2015).

So a fixed level behaves very differently on each. An awesome oscillator reading beyond $5 either way never happened in 1994 and happened on 222 of 250 sessions (88.80%) in 2025. A CCI reading beyond 100 either way happened on 40.48% of sessions in 1994 and 44.00% in 2025.

And Lambert’s target did not hold on daily SPY. StockCharts reports he set 0.015 so that roughly 70% to 80% of values would fall between minus 100 and plus 100, adding that the share depends on the look-back. Over every session from January 1994 to October 2026, it was 54.40%, with 30.01% above plus 100 and 15.59% below minus 100.

Horizontal bars for SPY: the awesome oscillator was beyond $5 on 0.00% of sessions in 1994 and 88.80% in 2025, while the CCI was beyond 100 on 40.48% in 1994 and 44.00% in 2025.
Share of SPY sessions beyond a fixed level, 1994 against 2025: the awesome oscillator beyond $5 either way and the commodity channel index beyond 100 either way. Source: Yahoo Finance, SPY daily bars (m72-spy-cci-and-awesome-oscillator-scale-by-year-1994-2026.csv).

Which one to use: CCI or Awesome Oscillator?

Use the commodity channel index when one threshold has to serve for years. Its scale held within a narrow band while SPY’s price rose more than thirteenfold.

Use the awesome oscillator when you only read its sign or its turns. Zero crossings and color changes do not depend on scale, so the dollar units do not hurt them.

Use the awesome oscillator with a level only if you re-set the level as price moves. A threshold from an old chart becomes almost meaningless once price has doubled.

And when you want acceleration in closing prices, consider MACD. It builds the same difference-of-averages idea from closes, with a signal line.

One threshold, two decades apart: SPY, 1994 and 2025

In 1994. The awesome oscillator’s median absolute reading was $0.53, and a $5 reading never occurred. The CCI’s median absolute reading was 88.92.

In 2025. With price more than thirteen times higher, the awesome oscillator’s median absolute reading was $11.27, and a $5 reading was ordinary. The CCI’s median absolute reading was 92.06.

The point. The same $5 rule would have fired on none of the 1994 sessions and almost all of the 2025 ones, while a CCI rule at 100 fired on a similar share in both years. Divided by price, the awesome oscillator’s median was 1.13% in 1994 and 1.78% in 2025, so even scaling by price does not make it steady.

The original data

The sample. Daily SPY highs, lows and closes from Yahoo Finance over 29 January 1993 to 2 October 2026. Readings are counted from 3 January 1994, after the 34-session average and the 20-session deviation are complete.

The formulas. As their authors set them and as StockCharts and TradingView describe them (both read 4 October 2026). CCI(20) = (typical price minus its 20-period simple average) / (0.015 times the mean absolute deviation of the last 20 typical prices from that average). Awesome oscillator = 5-period minus 34-period simple average of (high + low) / 2.

The files. Yearly medians and in-band shares for both are in the SPY CCI and awesome oscillator by year file; every daily reading is in the SPY daily CCI, MACD and awesome oscillator file. The two read the same side of zero on 81.67% of sessions.

When it fails

The failure is a dollar threshold that quietly stops meaning anything. A trader sets an awesome oscillator level from a year of readings and it works as a filter for extreme days. Price climbs for a few years. The bars grow with it, the level is crossed on most sessions, and the filter now passes almost everything. No rule changed; the units did. On SPY a $5 line went from never crossed to crossed on 88.80% of sessions.

The second failure is assuming 100 on the CCI marks the same rarity everywhere. On daily SPY, readings beyond it were common.

A third is running both and counting agreement. They share most of their inputs.

A fourth is quoting either level across instruments. The awesome oscillator’s is in that instrument’s price.

And a fifth is reading color changes as signals. They flip on very small differences.

The commodity channel index covers Lambert’s scaled reading. The awesome oscillator covers Williams’s midpoint histogram. And MACD covers the closing-price version of a difference of averages.

The practical check

If you use the awesome oscillator, never carry a number from an old chart to a new one. Set the level from the last year of readings on the same instrument, and reset it when price has moved a long way.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.