这是什么指标
CCI(Commodity Channel Index,商品通道指数)属于周期类极值动量指标,衡量的是当前典型价格相对一段时间内典型价格平均水平的偏离程度。它没有像 RSI 那样把数值压缩进 0–100 的固定区间,而是围绕零轴上下浮动,理论上无上下界,但 Donald Lambert 当初的设计假设约 70%–80% 的读数会落在 −100 到 +100 之间,因此 ±100 成为最常用的临界线。
新手最该先知道的一件事:CCI 不是趋势指标,也不是单纯的超买超卖指标,它的本质是”价格离自己最近的平均水平有多远”。读数从 0 到 +100,描述的是价格正在向上偏离平均;超过 +200 则属于罕见的极端偏离。把 CCI 当成”价格的离心力计”来理解,比当成”信号灯”要更接近 Lambert 的原意——读数越大,说明此刻的价格越不像它最近的自己。
它的来历
CCI 由美国期货交易者 Donald Lambert 于 1980 年在 Commodities magazine(即后来的 Futures magazine)首次发表。当时 Lambert 关注的是大宗商品市场的周期性波动——棉花、玉米、可可这类受季节、库存和气候节律影响的品种,价格往往呈现出可识别的周期高低点。他需要一个工具,能在周期的极端位置给出客观信号,而不是依赖肉眼判断”现在是不是涨太多了”。
Lambert 选择典型价格 (High + Low + Close) / 3 作为基础,而不是收盘价单点,原因是商品市场盘中波幅常常包含关键信息:日内冲高回落或下探回升,单看收盘会丢掉这部分结构。0.015 这个看似随意的常数,是 Lambert 经过经验校准得出的——它让大约 70%–80% 的读数落在 ±100 范围内,使得超出区间的读数具备统计上的”罕见性”。
虽然名字里带着”Commodity”,CCI 后来被广泛迁移到外汇、股指、个股甚至加密货币。指标本身不挑品种,挑的是品种是否具有可识别的周期波动。在强单边趋势资产上,CCI 会长时间停留在极端区,这并非指标失灵,而是它在如实反映”这段时间价格一直远离平均水平”。
计算公式
CCI 的计算分三步,每一步都建立在前一步的基础上。
第一步:典型价格 (Typical Price, TP)
$$TP_i = \frac{High_i + Low_i + Close_i}{3}$$
第二步:典型价格的简单移动平均 (SMA of TP)
$$SMA(TP)_n = \frac{1}{n}\sum_{i=1}^{n} TP_i$$
第三步:典型价格的平均绝对偏差 (Mean Deviation, MD)
$$MD_n = \frac{1}{n}\sum_{i=1}^{n} \left| TP_i – SMA(TP)_n \right|$$
主公式:
$$CCI = \frac{TP – SMA(TP)_n}{0.015 \times MD_n}$$
默认参数 $n = 20$。这是 Lambert 原始设计中针对日线商品周期校准过的窗口,对应大约一个月的交易日。
公式解读:分子 $TP – SMA(TP)$ 表示当前典型价格与近 n 日平均水平的偏离量,单位是价格本身。分母里的 $MD$ 是这段时间典型价格平均偏离均值的程度,可以理解为一种”平均波动尺”。两者相除,就把”偏离量”换算成了”偏离了多少个平均波动单位”——这是 CCI 能跨品种、跨周期直接比较的根源。常数 0.015 的作用是把这个比值缩放到一个便于读数的尺度上,使 ±100 成为有意义的统计边界,而不是任意数字。需要注意,分母用的是平均绝对偏差 (MAD),不是标准差,这一点和 Bollinger Bands 等指标在数学上不同,导致 CCI 对极端值的反应更线性、不那么平滑。
在图上怎么读

图中上方是原油 CL=F 的日线 K 线走势,下方副图显示 CCI(20) 曲线,标注出 +100、0、−100 三条水平参考线。CCI 曲线在零轴上方运行时,说明典型价格高于近 20 日平均水平;穿越 +100 进入上方区域,则表明偏离度已经进入 Lambert 定义的”统计上不常见”范围;反之,跌破 −100 进入下方区域,描述的是价格明显低于近期平均的状态。
阅读 CCI 时,位置和穿越方向比绝对数值更重要。多头条件触发的常见形态是 CCI 自下而上穿越 +100,或从 −100 下方回升越过 −100——前者代表新一轮向上偏离启动,后者代表前期超卖结束、价格开始向均值回归。空头条件触发对称:CCI 自上而下跌破 −100,或从 +100 上方回落跌穿 +100。这两类形态需要等待收盘确认,盘中触发再缩回是 CCI 最常见的假信号来源,尤其在低成交量时段。
出场条件触发通常对应 CCI 回到零轴附近、丢失方向感,或反向穿越前期信号线。例如做多入场后,CCI 跌回 0 轴或转头下穿 +100,都是动量衰竭的提示。
风险条件触发有两类形态最值得警惕:一是 CCI 在零轴附近高频反复穿越,对应市场处于无方向震荡,每一次”穿越信号”都可能在几根 K 线后反转,属于典型的锯齿陷阱;二是 CCI 长时间停留在 +200 以上或 −200 以下不回落,这往往不是反转将至,反而是强趋势的特征——在这种状态下逆向交易会持续承受趋势压力。
副图上还可以观察 CCI 与价格之间的背离结构。价格创新高但 CCI 高点逐级下移,或价格创新低但 CCI 低点抬升,这类背离需要在 CCI 已经离开极端区之后才具备参考意义,仅在极值区内出现的背离虚假率较高。
实战案例
2022 年上半年俄乌冲突推动原油单边上行,那段时间 CL=F 的 CCI(20) 数次冲上 +200 以上,并较长时间维持在 +100 以上区域。如果按照”CCI 上穿 +100 做多、跌破 +100 平仓”的机械规则操作,触发后实际走势确实延续了向上扩张,但持仓过程中 CCI 多次短暂跌穿 +100 又迅速反弹,会反复触发出场再进场。这段走势验证了规则的多头触发逻辑,但也挑战了”极端区即将反转”的直觉——在强趋势中,CCI 长期停留在极端区本身就是趋势强度的表达,不是反转预警。
另一个对照案例发生在 2023 年下半年到 2024 年初。OPEC+ 多次减产决策与需求担忧拉锯,CL=F 进入一段宽幅震荡,CCI(20) 在 +100 和 −100 之间反复穿越,并多次触及零轴附近。这种环境下,每一次极值穿越后价格延伸幅度都很有限,常在 3–5 根日线内反向回到震荡中枢。这段走势挑战了”穿越即趋势启动”的简化解读——在缺乏方向背景的市场里,CCI 的极值穿越退化为均值回归的提示,而不是趋势信号。
两个案例并列在一起,呈现的是同一指标在不同市场状态下的不同含义。强趋势中 CCI 的极端读数是延续的证据,震荡市中 CCI 的极端读数是回归的证据。判断当下属于哪一种状态,往往不能只靠 CCI 自己,需要其他工具配合识别市场环境。
常见误读
把 +100 / −100 当作”超买超卖”反向交易的固定信号,是最普遍的误区。Lambert 原始设计里,超出 ±100 表达的是统计罕见性,不是反转点,强趋势中读数会长期超出阈值。
将 CCI 用作脱离价格背景的独立信号源。CCI 的所有解读都建立在”近 n 日”的相对参照系上,脱离 K 线结构看 CCI 数值,等于在没有标尺的情况下读尺子刻度。
混淆收盘穿越和盘中穿越。CCI 盘中触发 +100 又在收盘前缩回的情况非常常见,把盘中读数当成确定信号会显著放大假信号率。
把 CCI 极端值与价格的背离当作即时反转信号。背离在 CCI 仍处于极值区内时虚假率高,需等 CCI 回到 ±100 区间内并配合价格结构破位才更具参考意义。
忽略参数对信号密度的影响。20 是 Lambert 校准过的默认值,缩短到 10 或 14 会让信号更频繁但噪声也更大,拉长到 50 或 100 则适合识别更长周期的偏离,不能照搬别人的参数。
进阶要点
参数调整的核心思路是匹配交易周期。短线日内交易者常用 14 或更短的窗口,捕捉日内的偏离回归;中线波段交易者保留 20 的默认值;长线趋势识别者会拉长到 40 至 100,并把 ±100 阈值适当放宽到 ±150 或 ±200,避免在长周期下过早触发。
与其他指标的搭配能弥补 CCI 单独使用时的方向判断盲区。一个常见组合是 CCI 配合 ADX:用 ADX 判断市场处于趋势态还是震荡态,趋势态下重视 CCI 的”跟随极值”含义,震荡态下重视 CCI 的”均值回归”含义。另一种搭配是 CCI 配合移动平均线,用均线判定大方向,仅采用与大方向一致的 CCI 信号,过滤掉逆势触发。背离结构也常与 RSI 或 MACD 交叉验证,单一指标的背离比多指标共振更易出现假信号。
不同周期与品种的差异不可忽视。商品类品种由于受供需冲击影响,CCI 极值出现频率高于股指;外汇主流货币对在央行政策预期主导时 CCI 信号节奏明显加快;个股则要考虑事件驱动(财报、并购)造成的跳空,对 CCI 这类基于价格连续性的指标会产生瞬时极端读数。在 4 小时及以下周期使用时,行情噪声会被放大,建议把入场判断结合更高时间框架的 CCI 状态做过滤,称为多周期一致性确认。

发表评论