CCI Indicator strategy
CCI stands for the Commodity Channel Index — a technical trading indicator, not the Consumer Confidence Index that shares the acronym. It is a momentum oscillator that gauges how far price has stretched from its own recent average: the reading swings around zero and runs past +100 when price is stretched unusually high, below −100 when it is stretched low. Most traders know it as an overbought/oversold signal — the familiar reading treats a push above +100 as overbought and a drop below −100 as oversold, a cue to fade the extreme. On this site the CCI is run as the opposite: a momentum breakout that goes long when CCI pushes above +100, treating the stretch as the start of a move and returning to cash only as the move fades back to the zero line. That breakout is in fact the reading Donald Lambert built the index around in 1980; the overbought/oversold fade most traders now associate with it came later, and that fade is a separate rule we deliberately do not trade or test here. An indicator this widely used is worth testing honestly rather than trusting on reputation.
An illustration of where the rule triggers — not real prices, and not a signal to act. The dashed forks mean the outcome is undetermined; whether the rule made money is what a backtest measures.
How it works
- • What it measures — CCI is a momentum oscillator — a gauge of how far price has stretched from its own recent average. CCI = (typical price − its 20-day average) ÷ (0.015 × the mean absolute deviation); the typical price is (high + low + close) ÷ 3, and the scaler is the average absolute distance of recent typical prices from that same 20-day average — a mean absolute deviation, not a standard deviation. The 0.015 is a fixed constant Donald Lambert built in (not a tunable setting), chosen so most readings land inside ±100. CCI has no ceiling or floor: it swings around zero and routinely runs past +100 or −100, so the ±100 lines are a design target — roughly 70–80% of readings sit inside them — not limits, and unlike RSI it is not capped at a fixed range.
- • Where it came from — Lambert introduced the index in 1980, in Commodities magazine, to spot cyclical turns in commodity prices, though it is applied to any market now. His own original signal was a momentum one — going long once CCI pushes above +100 — which is the reading this backtest uses. The overbought/oversold fade that most traders now associate with CCI came later. This rule keeps Lambert's breakout entry but uses a more patient exit, stepping out at the zero line rather than on a drop back below +100, so it is not a replica of his exact rule.
- • Entry — the breakout — the rule goes long when CCI pushes above +100 (the default breakout level, adjustable 50–200 in the sandbox), reading the stretch as the start of a move. Here +100 is the entry trigger — the opposite action to the overbought line it is most famous for.
- • Exit — back to the zero line — it returns to cash only when CCI fades back below the zero line — not back below +100, and never on a symmetric −100 oversold reading. It holds through the whole +100-to-0 band and steps out when the stretch has fully collapsed.
- • Not the overbought/oversold fade — the familiar retail reading treats +100 as overbought and −100 as oversold, both to fade — a mean-reversion use. This page and this backtest do the opposite: they trade the breakout above +100. The mean-reversion reading is a separate strategy, deliberately not traded or tested here, so the result below describes the breakout rule only.
- • The catch — a ±100 reading is a measure of stretch, not a forecast. On a quiet, flat range the mean absolute deviation is tiny, so CCI can spike past ±100 on almost no real movement, and a fully degenerate window makes the engine sit flat rather than fabricate a reading. Those false extremes are why this breakout rule whipsaws in and out during sideways, range-bound markets.
On this site, CCI Indicator is run as the Commodity Channel Index. See honestly how that approach performed across every famous stock and coin — costs on, no look-ahead, measured against simply buying and holding, with the losses shown.
Here the CCI is traded as a momentum breakout — long when the reading stretches above +100, out at the zero line — not the overbought/oversold fade it is best known for.
The honest caveat
Tested honestly, this breakout reading of CCI has little to show for its fame. Across our survivorship-biased set of famous US stocks and ETFs — names chosen precisely because they survived and grew, which flatters any rule — this breakout rule still lagged simply buying and holding on most of them, beating it on only a handful. That is the normal pattern here, not CCI singled out: most mechanical rules lag simply holding on these same famous names, because a rule that steps in and out pays spreads and sits out part of the climb that holding captures for free. A CCI reading is a gauge of stretch, not a forecast of what comes next: on a quiet range the scaler shrinks until the index can jump past +100 on almost no real movement — and a fully flat window reads as nothing at all, so the rule stays in cash rather than invent a signal — so those false extremes are exactly where this breakout rule whipsaws in and out for a run of small losses. None of that makes CCI useless, and none of it is advice. The honest value is finding the specific assets and conditions where this breakout rule actually paid — and never reading a famous indicator as an edge. You can run it yourself across every asset on the CCI backtester, where the whole per-asset record is shown, win and lose alike. Test it before you trust it.
Past performance is not a reliable indicator of future results. This is an educational, analytical tool — not investment advice, and not a recommendation to buy or sell anything. You make all decisions and execute on your own broker. This is an educational, analytical tool, not investment advice and not a recommendation to buy, sell or use any strategy. You make all decisions and execute on your own broker.