Indicators

CCI: What It Is and How to Read Overbought and Oversold

Among the oscillators used in technical analysis, the CCI (Commodity Channel Index) has an advantage: it isn't limited to a fixed range like the RSI or the stochastic. This means that when the price makes an unusual move, the CCI also goes to an unusual level, and it's precisely this characteristic that makes it useful for identifying moments of strength or exhaustion in the market.

Despite the name referring to commodities, the indicator was created by Donald Lambert in the 1980s with that market in mind, but today it's applied to stocks, currencies, indices, and any asset traded on a chart.

How the CCI is calculated

The formula starts from the typical price of each period, calculated as the average of the high, low, and close: Typical Price = (High + Low + Close) ÷ 3. Next, you calculate the simple moving average of that typical price over a number of periods (the most common default is 20) and the average absolute deviation from that average. The CCI is then: (Current Typical Price − Average Typical Price) ÷ (0.015 × Average Deviation).

The constant 0.015 was chosen by Lambert so that, under normal market conditions, about 70 to 80% of CCI values fall between −100 and +100. It's exactly this range that serves as the reference for interpreting the indicator.

A worked example

Suppose five periods with the following typical prices: 10, 12, 11, 13, and 15. The average of these values is (10+12+11+13+15) ÷ 5 = 12.2. The absolute deviation of each value from the average is: 2.2; 0.2; 1.2; 0.8; and 2.8. The average of these deviations is (2.2+0.2+1.2+0.8+2.8) ÷ 5 = 1.44.

Applying the formula to the most recent period, with a typical price of 15: CCI = (15 − 12.2) ÷ (0.015 × 1.44) = 2.8 ÷ 0.0216 ≈ 129.6. Since this value is above +100, the indicator is signaling an overbought condition — the price rose with enough strength to move well away from its recent average.

How to interpret overbought and oversold

When the CCI goes above +100, the market is in an upward move stronger than normal for that asset, which characterizes overbought conditions. When it crosses below −100, it's the downward move that's stronger than normal, characterizing oversold conditions. It's important to understand that overbought doesn't automatically mean the price will fall — it can also be a sign of a strong trend that keeps extending.

That's why the most common use isn't trading against the CCI as soon as it crosses +100 or −100, but watching the moment it moves back inside the range. A CCI that rises above +100 and then crosses back below that level usually indicates that upward momentum is losing strength, suggesting caution for those who are long or a possible opportunity for a short-term trade in the opposite direction. The mirrored reasoning applies to the crossover back above −100, after the indicator has been below that level.

Applying it to short-term trades

On short-term trades, the CCI is usually watched together with the price chart to avoid isolated signals. A simple routine is: identify when the CCI crosses above +100 or below −100, wait for the crossover back inside the range, and only then look for confirmation with a candlestick pattern or a nearby support and resistance level before deciding on the entry.

  • CCI above +100: a moment of buying strength beyond normal.
  • CCI below −100: a moment of selling strength beyond normal.
  • CCI returning inside the −100/+100 range: a sign of a possible loss of momentum in the move.
  • Shorter periods (like 14) make the CCI more sensitive and generate more signals; longer periods (like 20 or 30) reduce noise, but delay the reading.

Limitations worth remembering

Like any oscillator, the CCI can stay in overbought or oversold territory for a long time during strong trends, which generates false signals for those who try to trade against the move too early. It works better as confirmation of other analysis than as a standalone entry trigger, and no period setting makes it foolproof. It's also worth remembering that past results don't guarantee future repetition, and that every trade carries a risk of capital loss — testing the indicator in a demo account before using it with real money helps you understand its behavior on different assets.

Practice before you risk. Open your Astron account and test your ideas on the demo account with R$ 10,000 in virtual funds.

Create free account