---
title: "Commodity Channel Index (CCI): Formula"
description: "The Commodity Channel Index, created by Donald Lambert, measures how far the typical price (the average of high, low and close) sits from its simple moving..."
canonical: https://www.getswoopr.com/indicators/momentum/commodity-channel-index/
source: "Swoopr Investment: https://www.getswoopr.com"
---

## Direct Answer



> Commodity Channel Index (CCI) is an unbounded oscillator that measures how far typical price is from its moving average relative to mean deviation. A higher reading generally means price is unusually far above its recent statistical average; a lower reading generally means price is unusually far below its recent statistical average. The main limitation is that the ±100 conventions are not hard boundaries and strong trends can keep CCI extreme.





      


# Commodity Channel Index (CCI): Formula, Meaning, Signals, Examples and How to Use It



## How Is Commodity Channel Index Calculated?

The Commodity Channel Index, created by Donald Lambert, measures how far the typical price (the average of high, low and close) sits from its simple moving average, scaled by the mean absolute deviation. It is an unbounded oscillator that swings around zero.

**Formula:** `CCI = (TP - SMA(TP, n)) / (0.015 * MD); TP = (High + Low + Close) / 3; MD = mean absolute deviation of TP from SMA(TP, n)`

**Inputs:**

- High, low and close for each bar
- Averaging period n (20 is the usual default)
- Lambert's scaling constant 0.015

**Worked example.** With a typical price of 105, a 20-bar average of 100 and a mean deviation of 2, the CCI is 166.7. The inputs are illustrative numbers, not market data.

**Reading it.** Readings above zero mean typical price is above its recent average, and below zero means it is below. Values beyond +100 or -100 are conventionally treated as unusually far from the average. They mark stretched readings, not fixed turning points, and can persist in a strong trend.

**Limits.** The plus and minus 100 levels are conventions rather than hard boundaries, and the output has no cap, so strong trends can keep it extreme for long stretches. The value also changes with the period chosen and with the typical-price definition.



## Indicator snapshot





| Attribute | Value |
| --- | --- |
| Abbreviation | CCI |
| Category | Momentum |
| Creator / origin | Donald Lambert |
| Primary inputs | High; Low; Close; mean deviation |
| Common settings | 20 periods common |
| Output | Band/overlay/profile |
| Typical range | Unbounded |
| Primary purpose | Measure the speed, persistence, or relative intensity of recent price movement. |
| Main limitation | The ±100 conventions are not hard boundaries and strong trends can keep CCI extreme. |





## What is Commodity Channel Index?



Commodity Channel Index is an unbounded oscillator that measures how far typical price is from its moving average relative to mean deviation. It should be treated as a transformation of observable market data, not as an independent source of truth. The useful question is not whether the indicator is “bullish” or “bearish” in isolation, but what specific market property it measures, which assumptions enter the calculation, and whether that information is already duplicated by another tool on the chart.



For Swoopr, the canonical profile should separate definition, calculation, interpretation and decision use. That keeps readers from collapsing a descriptive metric into a trading strategy. An indicator can describe trend, momentum, volatility, participation, positioning or risk without providing a complete entry, exit, sizing or portfolio decision.



## What does it measure and why is it used?



Measure the speed, persistence, or relative intensity of recent price movement. The practical value is repeatability: the same inputs and formula can be applied across a defined dataset, allowing users to compare readings through time or across instruments when the calculation convention is held constant.



The calculation can still be misleading if the data source, session, adjustment method, smoothing rule or parameter set changes. Two platforms can legitimately report different readings while using different assumptions, so check which conventions a chart uses.



## Formula



**CCI = (TypicalPrice−SMA(TypicalPrice)) / (0.015×MeanDeviation)**



### Calculation discipline



1. Fix the instrument, timeframe and session before computing the indicator.
2. Use one documented price/volume source and one corporate-action convention.
3. State every lookback, smoothing method and reset rule.
4. Handle missing data and zero denominators explicitly.
5. Reproduce at least one worked example from raw inputs during QA.
6. Compare the implementation with a second independent calculation before publication.



![Commodity Channel Index (20) drawn on a hypothetical 150-day price series generated for this page, not market data. The series runs through an uptrend, a pullback, a range and a second advance. CCI 20 ranges from -185.04 to 212.2 and ends at 92.73; it is above 100 on 67 of 131 days; it is below -100 on 20 of 131 days.](https://www.getswoopr.com/images/charts/indicator-momentum-commodity-channel-index.webp)
*Commodity Channel Index (20) on a hypothetical price series generated for this page. The data is invented to show how the indicator behaves through a trend, a pullback and a range; it is not market data and not a forecast. Select the chart to open it full size.*

## How to read Commodity Channel Index



A higher reading generally means **price is unusually far above its recent statistical average**. A lower reading generally means **price is unusually far below its recent statistical average**. That interpretation is descriptive, not predictive. The same numerical state can lead to different outcomes in a strong trend, quiet range, event-driven gap or illiquid market.



### Bullish, bearish and neutral context



A bullish interpretation is appropriate only when the reading lines up with the indicator's actual job. For a trend tool, that means direction or trend persistence; for a momentum tool, it means stronger upside momentum; for a volatility measure, “higher” is not bullish at all:it only means larger expected or realized movement. A generic bullish or bearish label therefore does not fit a direction-neutral indicator.



A neutral state should be defined when the indicator does not provide enough evidence for its intended job. This is especially important for bounded oscillators near mid-range, volatility gauges near historical medians, or spread measures near long-run norms.



## Common settings



The common reference is **20 periods common**. This is a starting convention, not a universally optimal parameter. Shorter lookbacks generally respond faster and produce more state changes; longer lookbacks smooth noise but react later. Parameter selection should be tied to the intended decision horizon, then tested over multiple instruments and regimes rather than optimized to one historical period.



## Worked hypothetical interpretation



Suppose a researcher calculates Commodity Channel Index with the documented settings across a liquid security and observes a material change in the reading. The first step is to state what changed in the underlying input. The second is to ask whether price structure, volume, volatility or the benchmark environment confirms that interpretation. The third is to define what observation would invalidate it. Only after those steps should the indicator feed a strategy rule.



This sequence prevents a common error: treating the indicator output as if it arrived independently of the price, volume, options or market data used to calculate it.



## Best and weak market conditions



Commodity Channel Index (CCI) is most useful when the market property it measures is actually relevant to the decision. It is weakest when the regime changes faster than the lookback, the market is illiquid, the input data are incomplete, or the chosen parameter set is mismatched to the timeframe. A trend indicator tends to struggle in ranges; a mean-reversion oscillator can remain extreme during persistent trends; volume-based measures can break when venue coverage changes; options and on-chain measures can be provider-specific.



## Strengths



- Dividing by mean deviation scales each reading by how much price has typically strayed, so the distance is expressed in units of recent variation.
- Using high, low and close in the typical price captures more of each bar than the close alone.
- Reproducible when the formula and data convention are fixed.



## Weaknesses and false signals



- The ±100 conventions are not hard boundaries and strong trends can keep CCI extreme.
- Parameter changes can alter timing and classification.
- Correlated indicators can create false confidence by repeating the same underlying information.
- Historical relationships can fail after market structure or volatility regimes change.
- Backtests can be overstated by look-ahead bias, survivorship bias, unrealistic fills or omitted transaction costs.



## Combining Commodity Channel Index with other indicators



The strongest combination usually pairs different input families rather than similar formulas. Before adding another indicator, identify the specific error it is supposed to catch and measure how often the two signals disagree. High agreement between two price-only oscillators is not necessarily confirmation; it can be arithmetic redundancy.



Related entities for this profile include: Rate of Change, Relative Strength Index, Stochastic Oscillator, Williams %R, Awesome Oscillator, Balance of Power.



## When not to use it



Do not use Commodity Channel Index as a standalone forecast or as a substitute for position sizing, liquidity checks, execution planning or fundamental research when those are relevant to the decision. Avoid publishing “best settings” without a defined asset universe, timeframe, cost model and out-of-sample validation. If the indicator depends on proprietary or provider-specific methodology, the provider's own documentation is the authority on how it is calculated.



## Practical checklist



- [ ] What exact question is the indicator answering?
- [ ] What data series, session and adjustments are used?
- [ ] What parameters and smoothing rules are fixed?
- [ ] Is the indicator bounded, unbounded or price-denominated?
- [ ] Does a second indicator add independent information?
- [ ] What market regime is present?
- [ ] What would invalidate the interpretation?
- [ ] Have slippage, costs and execution constraints been considered?
- [ ] Has the calculation been independently reproduced?



## Frequently asked questions



### Is Commodity Channel Index a buy or sell signal?



No. It is an analytical measure. A trade still needs a hypothesis, trigger, invalidation rule, position size, exit logic and realistic execution assumptions.



### What is the best setting for Commodity Channel Index?



There is no universal best setting. Start with the conventional reference (20 periods common) and test nearby values across instruments, regimes and out-of-sample periods. Favor stable parameter regions over one historical winner.



### Can Commodity Channel Index be used by itself?



It can describe its specific market property by itself, but using it alone generally leaves other important dimensions:direction, regime, participation, valuation, liquidity or risk:undefined.



### Does Commodity Channel Index work on every timeframe?



The calculation may be portable, but behavior is not. A 14-period reading on a five-minute chart describes a very different market window from the same setting on a daily chart. Validate the exact timeframe.



### Why does Commodity Channel Index give false signals?



False signals arise from lag, noise, regime changes, parameter sensitivity, data conventions and the fact that market participants react to new information after the reading is calculated.



### How should Commodity Channel Index be backtested?



Write rules before testing, use point-in-time data, include delisted securities where relevant, model realistic fills and costs, reserve a validation sample, break results out by regime and compare with a simpler baseline.



## Related Swoopr content



- Parent hub: [Momentum Indicators](https://www.getswoopr.com/indicators/momentum/)
- Related guide: [Commodity Channel Index (CCI)](https://www.getswoopr.com/technical-analysis/momentum/commodity-channel-index-cci/)
- Related indicators: Rate of Change, Relative Strength Index, Stochastic Oscillator, Williams %R, Awesome Oscillator, Balance of Power



## Sources and further reading



- [TA-Lib Functions](https://ta-lib.org/functions/)
- [TradingView built-in indicator list](https://www.tradingview.com/charting-library-docs/latest/ui_elements/indicators/Indicators-List/)



## Editorial and risk note



This page is educational content, not individualized investment advice. It does not imply guaranteed prediction, accuracy or outperformance.






## Frequently Asked Questions


        



Is Commodity Channel Index a buy or sell signal?




No. Readings above zero mean typical price is above its recent average, and below zero means it is below. The plus and minus 100 levels are conventions rather than hard boundaries, and the output has no cap, so strong trends can keep it extreme for long stretches. A trade built on it still needs a trigger, an invalidation rule, a position size and realistic execution assumptions.










What is the best setting for Commodity Channel Index?




Commodity Channel Index takes these inputs: high, low and close for each bar; averaging period n (20 is the usual default); lambert's scaling constant 0.015. There is no universal best setting for the tunable ones, so test them across instruments, regimes and out-of-sample periods and favor stable parameter regions over one historical winner.










Can Commodity Channel Index be used by itself?




The plus and minus 100 levels are conventions rather than hard boundaries, and the output has no cap, so strong trends can keep it extreme for long stretches. The value also changes with the period chosen and with the typical-price definition. For that reason it is read next to measures of direction, participation, valuation, liquidity and risk, not alone.










Does Commodity Channel Index work on every timeframe?




The calculation (CCI = (TP - SMA(TP, n)) / (0.015 * MD); TP = (High + Low + Close) / 3; MD = mean absolute deviation of TP from SMA(TP, n)) can be run on any bar size, but behavior is not portable: a reading on a five-minute chart describes a very different market window from the same reading on a daily chart. Validate the exact timeframe before relying on it.










Why does Commodity Channel Index give false signals?




When prices are very flat the mean deviation becomes tiny, so a small move can produce a large CCI value. Because the scale has no upper or lower limit, the same threshold can be reached often in one market and rarely in another. Lag, noise and regime changes add to this, because market participants react to new information after the reading is calculated.










How should Commodity Channel Index be backtested?




Rebuild Commodity Channel Index from high, low and close for each bar using point-in-time data, write the rules before testing, include delisted securities where relevant, model realistic fills and costs, reserve a validation sample and compare with a simpler baseline.












S




Swoopr Editorial Team



The Swoopr Editorial Team produces independent investment education, research, and tools for understanding markets, evaluating opportunities, and managing risk. All content is educational only and does not constitute personalized investment advice.



See our [editorial policy](https://www.getswoopr.com/legal/editorial-policy/) and [corrections policy](https://www.getswoopr.com/legal/corrections-policy/).
