# CCI (Commodity Channel Index)

> The Commodity Channel Index measures how far the typical price has stretched from its own recent average, in units of its own typical deviation — an unbounded oscillator where ±100 marks unusual territory.

Canonical: https://patternsradar.com/learn/cci

CCI takes the typical price — the average of high, low and close — and asks how far today's sits from its 20-bar mean, scaled by the average size of such deviations. The scaling constant is chosen so roughly three-quarters of readings land between −100 and +100; beyond those lines, price is further from its average than it usually strays. Unlike RSI the scale is unbounded — readings of ±200 happen, and mean what they say.

Donald Lambert built it for commodities, but the use on daily equity bars is the same two-sided one. Mean-reversion traders treat the zone beyond −100 as washed-out and wait for the cross back — leaving the zone, not entering it, is the signal, since the return is the first evidence selling has stopped. Momentum traders read a push through +100 the opposite way, as a stock breaking out of its normal orbit, and ride it while CCI holds above the line.

Those two readings contradict each other, and that is the honest caveat: +100 is either overbought or a breakout depending entirely on context CCI does not contain. In a strong trend the index can hold beyond ±100 far longer than the mean-reversion trade can tolerate, and because it is unbounded there is no level that forces a turn. The usual repair is a trend filter deciding which of the two playbooks applies.

Against RSI, the mechanical difference is what gets measured: RSI compares up-closes to down-closes, CCI measures raw distance from the average, so CCI reaches its extremes faster and overshoots further. It behaves closer to a z-score of price than to a bounded oscillator, which is also why its thresholds are ±100 rather than 70/30.

## In Sift

Written as `cci(20)`. A working scan — stocks whose CCI left the oversold zone within two sessions while the long-term trend holds:

```sift
where cci(20) crossed above -100 within 2 bars and close > sma(200)
```

1 of the 500 most-traded NSE stocks match today, as of 2026-08-20.

## Scans that use it

- [CCI oversold turn](https://patternsradar.com/screener/cci-oversold-turn.md): CCI back above −100 within the last two sessions, in a stock still above its 200-day.
- [CCI overbought](https://patternsradar.com/screener/cci-overbought.md): CCI above +100 with RSI agreeing — stretched by two different measures at once.

## Common questions

### What does a CCI reading above +100 mean?

Price is trading further above its 20-bar average than it usually strays — outside the band that contains roughly three-quarters of readings. Momentum traders read it as strength escaping its normal range; mean-reversion traders read it as stretch. Both readings are legitimate, which is why CCI is usually paired with a trend filter that decides which applies.

### Is CCI better than RSI?

They measure different things. RSI compares the average size of up-closes to down-closes and is bounded at 0–100; CCI measures raw distance from a recent mean and is unbounded, so it reaches extremes faster and registers magnitude RSI compresses. Neither dominates — the useful comparison is running the same setup on both against history.
