
一句话结论:CCI 的两种教材用法,近一年只有「离开超卖」勉强成立。全 A 股上穿 +100 当突破,持有 20 天跑输全市场 0.24%;下穿 −100 扣成本后也是负的。离开 −100 超额 +0.36%,扣成本后 +0.21%。
CCI(Commodity Channel Index)由 Donald Lambert 在 1980 年提出。它看的是典型价格离自己均线有多远,再用平均绝对偏差标准化,所以没有 0–100 的边界。

一、原理和公式
典型价格 TP = (最高 + 最低 + 收盘) ÷ 3
CCI = (TP − MA20(TP)) ÷ (0.015 × 平均绝对偏差)
0.015 是 Lambert 放进去的常数,目的是让大多数读数落在 −100 到 +100 之间。超出这个带子,就被写成「不寻常」。
教材有两套完全相反的用法:
| 用法 | 规则 | 逻辑 |
|---|---|---|
| 回归 | CCI < −100 超卖,> +100 超买 | 偏离太远会回来 |
| 突破 | CCI 上穿 +100 追多 | 偏离是趋势开始 |
青柠在 指标 → 动量 → CCI顺势指标,默认周期 20。
二、青柠数据实验 1:两种用法对着比
全 A 股最近一年。
| 规则 | 信号次数 | 20 天收益 | 胜率 | 20 天超额 | 扣 0.15% 成本后 |
|---|---|---|---|---|---|
| 下穿 −100 | 58,602 | +0.40% | 45.0% | +0.08% | −0.07% |
| 离开 −100(从下往上) | 58,316 | +0.83% | 47.5% | +0.36% | +0.21% |
| 上穿 +100(突破) | 54,943 | +0.28% | 44.7% | −0.24% | −0.39% |
突破这一侧近一年是负的。刚碰到 −100 也没有优势。等它从超卖区走出来,才有一点超额。这和第 25 课「离开 30 和刚下穿 30 差不多」不同:CCI 更需要「走出来」而不是「刚跌进去」。
三、青柠数据实验 2:越极端越好吗
| CCI | 样本数 | 20 天收益 | 20 天超额 |
|---|---|---|---|
| 低于 −200 | 24,554 | +0.92% | −0.29% |
| −200 ~ −100 | 233,806 | +0.84% | +0.38% |
| −100 ~ 100 | 689,061 | +0.57% | −0.14% |
| 100 ~ 200 | 188,357 | +0.34% | +0.20% |
| 高于 200 | 42,082 | −0.54% | −0.52% |
低于 −200 不是更好的超卖,超额反而是负的。高于 +200 是五档里最差的。CCI 的有效区在「有点超卖」(−200 到 −100),不是「极端到地板」。
牛市里下穿 −100 的 20 天超额 −0.02%,扣成本后为负。近一年主战场在牛市,突破和刚进超卖都不成立。
四、常见误区
「既能突破又能回归,两种都能用」
近一年突破(上穿 +100)跑输。不要把两套相反的规则同时当成买点。
「CCI 越负越该抄」
低于 −200 的超额是 −0.29%。太极端的往往还在继续走。
「CCI 没有上界,突破更可靠」
没有上界只说明它可以涨过头。高于 +200 之后 20 天跑输 0.52%。
在青柠中实操
- 1. 量化策略 → + 新建策略,在 指标 → 动量 里拖入 CCI顺势指标,周期 20。
- 2. 入场用 金叉/上穿:CCI 上穿 −100(离开超卖),不要用上穿 +100 当买点。
- 3. 对照一份「CCI 上穿 +100」的突破版,同一年批量回测。
- 4. 看最差的几笔:低于 −200 的股票往往还在跌。
更多策略可以在青柠策略市场查看。下一课(第 31 课)讲 UO:把 7、14、28 三个周期合成一根线。
常见问题
0.015 是怎么来的?
Lambert 选的常数,让大约七成到八成的读数落在 ±100 内。不是从 A 股估出来的。
周期用 14 还是 20?
青柠默认 20。本课只测默认。
口径说明
股票池为全 A 股,排除 ST(按当前名称)和北交所,剔除未复权收盘价低于 3 元的股票,价格后复权;信号日 2025-10-14 至 2026-10-14。CCI(20) = (典型价格 − 其 20 日均线) ÷ (0.015 × 平均绝对偏差),典型价格为 (最高+最低+收盘)÷3。信号日收盘确认,次日开盘买入,持有至第 20 个交易日收盘;次日一字涨停剔除。超额收益 = 信号股票收益 − 同日股票池全部股票同口径平均。个股每笔来回成本 0.15%。本课只用最近一年。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。
读到这里,不如自己验证一次
文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。