What is the Commodity Channel Index (CCI)?

Developed by Donald Lambert, the Commodity Channel Index​ (CCI) is a momentum-based oscillator used to help determine when an investment vehicle is reaching a condition of being overbought or oversold. It is also used to assess price trend direction and strength. This information allows traders to determine if they want to enter or exit a trade, refrain from taking a trade, or add to an existing position. In this way, the indicator can be used to provide trade signals when it acts in a certain way.


Key Takeaways

  • The CCI measures the difference between the current price and the historical average price.
  • When the CCI is above zero it indicates the price is above the historic average. When CCI is below zero, the price is below the hsitoric average.
  • High readings of 100 or above, for example, indicate the price is well above the historic average and the trend has been strong to the upside.
  • Low readings below -100, for example, indicate the price is well below the historic average and the trend has been strong to the downside.
  • Going from negative or near-zero readings to +100 can be used as a signal to watch for an emerging uptrend.
  • Going from positive or near-zero readings to -100 may indicate an emerging downtrend.
  • CCI is an unbounded indicator meaning it can go higher or lower indefinitely. For this reason, overbought and oversold levels are typically determined for each individual asset by looking at historical extreme CCI levels where the price reversed from.

The Formula For the Commodity Channel Index (CCI) is

CCI=Typical PriceMoving Average.015×Mean Deviationwhere:Typical Price=i=1P((High+Low+Close)÷3), where P=the number of periodsMoving Average=(i=1PTypical Price)÷PMean Deviation=(i=1PTypical PriceMoving Average)÷P\begin{aligned} &\text{CCI} = \frac{ \text{Typical Price} - \text{Moving Average} }{ .015 \times \text{Mean Deviation} } \\ &\textbf{where:}\\ &\text{Typical Price} = \textstyle{ \sum_{i=1}^{P} ( ( \text{High} + \text{Low} + \text{Close} ) \div 3 ) } \text{, where } P = \text{the number of periods}\\ &\text{Moving Average} = ( \textstyle{ \sum_{i=1}^{P} \text{Typical Price} } ) \div P \\ &\text{Mean Deviation} = ( \textstyle{ \sum_{i=1}^{P} \mid \text{Typical Price} - \text{Moving Average} \mid } ) \div P \\ \end{aligned}CCI=.015×Mean DeviationTypical PriceMoving Averagewhere:Typical Price=i=1P((High+Low+Close)÷3), where P=the number of periodsMoving Average=(i=1PTypical Price)÷PMean Deviation=(i=1PTypical PriceMoving Average)÷P

How to Calculate the Commodity Channel Index (CCI)

  1. Determine how many periods your CCI will analyze. 20 is commonly used. Fewer periods results in a more volatile indicator, while more periods will make it smoother. For this calculation, we will assume 20 periods. Adjust the calculation if using a different number.
  2. In a spreadsheet, track the high, low, close for 20 periods and compute the Typical Price.
  3. After 20 periods, compute the Moving Average of the typical price by summing the last 20 Typical Prices and dividing by 20.
  4. Calculate the Mean Deviation by subtracting the Moving Average from the Typical Price for the last 20 periods. Sum the absolute values (ignore minus signs) of these figures and then divide by 20.
  5. Insert the most recent Typical Price, the Moving Average, and the Mean Deviation into the formula to compute the current CCI reading.
  6. Repeat the process as each new period ends.

What Does the Commodity Channel Index (CCI) Tell You?

The CCI is primarily used for spotting new trends, watching for overbought and oversold levels, and spotting weakness in trends when the indicator diverges with price.

When the CCI moves from negative or near-zero territory to above 100, that may indicate the price is starting a new uptrend. Once this occurs, traders can watch for a pullback in price followed by a rally in both price and the CCI to signal a buying opportunity.

The same concept applies to an emerging downtrend. When the indicator goes from positive or near-zero readings to below -100, then a downtrend may be starting. This is a signal to get out of longs or to start watching for shorting opportunities.

Overbought and oversold levels are not fixed since the indicator is unbound. Therefore, traders look to past readings on the indicator to get a sense of where price reversed. For one stock, it may tend to reverse near +200 and -150. Another commodity may tend to reverse near +325 and -350. Zoom out on the chart to see lots of price reversal points, and the CCI readings at those times.

There are also divergences. This is when the price is moving one way but the indicator is moving another. If the price is rising and the CCI is falling, this can indicate a weakness in the trend. While divergence is a poor trade signal, since it can last a long time and doesn't always result in a price reversal, it can be good for at least warning the trader that there is the possibility of a reversal. This way they can tighten stop loss levels or hold off on taking new trades in the price trend direction.

The Difference Between the Commodity Channel Index (CCI) and the Stochastic Oscillator

Both of these technical indicators are oscillators, but they are calculated quite differently. One of the main differences is that the Stochastic Oscillator is bound between zero and 100, while the CCI is unbounded. Due to the calculation differences, they will provide different signals at different times, such as overbought and oversold readings.

Limitations of Using the Commodity Channel Index (CCI)

While often used to spot overbought and oversold conditions, the CCI is highly subjective in this regard. The indicator is unbound and therefore, prior overbought and oversold levels may have little impact in the future.

The indicator is also lagging, which means at times it will provide poor signals. A rally to 100 or -100 to signal a new trend may come too late, as the price has had its run and is starting to correct already. Such incidents are called whipsaws; a signal is provided by the indicator but the price doesn't follow through after that signal and money is lost on the trade. If not careful, whipsaws can occur frequently. Therefore, the indicator is best used in conjunction with price analysis and other forms of technical analysis or indicators to help confirm or reject CCI signals.