Commodity Channel Index (CCI): Detecting Extremes
The CCI measures how far price has strayed from its average. Learn the CCI formula, the ±100 levels, and how traders use it to spot cyclical extremes.
Commodity Channel Index (CCI): Detecting Extremes
Most oscillators cap at 0–100. CCI is unbounded — it can hit +200 or −300, and that's exactly how it shows when a move is truly extreme.
The Commodity Channel Index (CCI), developed by Donald Lambert in 1980, measures how far an asset's price has deviated from its statistical average. Despite the name, it works on any market — stocks, forex, crypto, commodities — and is especially good at flagging cyclical extremes.
The formula
Typical Price (TP) = (High + Low + Close) / 3
SMA(TP, N) = N-period simple moving average of TP
Mean Deviation = average of |TP − SMA(TP)| over N periods
CCI = (TP − SMA(TP)) / (0.015 × Mean Deviation)
The 0.015 constant is Lambert's choice — it makes about 70–80% of CCI values fall between −100 and +100.
Worked example:
| Value | Number |
|---|---|
| TP today | $52 |
| SMA(14) of TP | $50 |
| Mean Deviation | $1.50 |
| CCI | (52 − 50) / (0.015 × 1.50) = 2 / 0.0225 ≈ +89 |
A reading of +89 is strong but within the normal band. A reading of +200 would mean price has strayed far from the mean — a true extreme.
The levels
| CCI | Meaning |
|---|---|
| Above +100 | Strong bullish — overbought in a range |
| Above +200 | Extreme bullish — exhaustion risk |
| Below −100 | Strong bearish — oversold in a range |
| Below −200 | Extreme bearish — exhaustion risk |
| Between ±100 | Normal trading range |
Because CCI is unbounded, it distinguishes "strong" (+120) from "extreme" (+250) — something bounded oscillators like RSI cannot do.
How to trade it
1. Cyclical extremes (mean reversion)
In a range, fade CCI extremes back toward the mean:
- Sell when CCI rises above +100 and crosses back below
- Buy when CCI falls below −100 and crosses back above
2. Trend confirmation
In a trend, CCI staying above +100 confirms bullish strength; staying below −100 confirms bearish strength.
3. CCI divergence
Like RSI and MFI, CCI can diverge from price:
- Price makes a higher high, but CCI makes a lower high → bearish divergence
- Price makes a lower low, but CCI makes a higher low → bullish divergence
Worked example strategy
Range-bound setup:
- Price is range-bound between $45 and $55 (200 SMA flat)
- CCI pushes to +150 (above +100)
- Wait for CCI to cross back below +100 — short trigger
- Stop above the recent high
- Target the bottom of the range ($45) or the mean ($50)
Define risk with the stop loss calculator and check RR with the risk-reward calculator.
CCI vs other oscillators
| Feature | CCI | RSI | Stochastic |
|---|---|---|---|
| Bounded? | No | Yes (0–100) | Yes (0–100) |
| Input | Typical price | Gains/losses | Close vs range |
| Best for | Cyclical extremes | Trend momentum | Range timing |
Common mistakes
- Fading CCI extremes in a strong trend — CCI can sit above +200 for days
- No trend filter — mean-reversion fails in trends
- Using it without price confirmation — wait for a candlestick reaction
- Ignoring the ±200 level — that's where true extremes live
How to start
- Add the 20-period CCI to a daily chart
- Mark the ±100 and ±200 levels
- Identify whether the market is trending or ranging
- Mean-revert ±100 in ranges; ride CCI in trends
- Always pre-set risk with the stop loss calculator
Summary
CCI measures how far price has strayed from its average — and because it's unbounded, it can tell you "strong" from "extreme." Use it to fade cyclical extremes in ranges and to confirm trend strength. Pair it with a trend filter and price action, and it's a versatile addition to any oscillator toolkit.