OptiNod 学院

Choppiness Index(震荡指数):提前过滤趋势指标空转区间的市场状态过滤器

Choppiness Index(震荡指数)能先告诉你,当前市场是否值得相信趋势信号,但它不给出方向。它最适合用作判断标准:数值偏高的震荡区间暂停趋势策略,改用均值回归策略。

依据振荡指标的信号下单之前,应当先问一个问题:这是一个值得相信该信号的市场吗?Choppiness Index回答的正是这一点。


Choppiness Index(震荡指数)由澳大利亚商品交易员E.W. Dreiss创建。如其名称所示,它衡量价格无方向地来回起伏的程度,本文简称CI。计算公式只有一行:CI = 100 × log10(ΣATR(1)/(HH−LL)) / log10(N)。取最近N根K线(通常为14)的1根ATR之和,除以同一区间的最高价减最低价,再取对数,缩放到0~100。数值高表示震荡,数值低表示趋势。通常以 61.8 以上为震荡,38.2 以下为趋势。


很多人把这个指标当作衡量趋势强度的又一把尺子。但CI不含方向信息。CI为75,并不说明是向上震荡还是向下震荡。方向无法从CI读出。于是不少人想拿它当方向指标,用不了,就嫌它反应慢、没用,从图表上删掉。而CI本来要回答的那一个问题,即眼下我的趋势信号所处的市场是否有效,却从来没有被问过。


本文把CI用作决定是否接受趋势信号的标准。读完之后,即使RSI或MACD给出了趋势信号,你在入场之前也会先看一眼CI的数值。


CI在趋势区间与震荡区间中的反向变化
CI在趋势区间与震荡区间中的反向变化价格沿单一方向运行时,CI保持在低位;在同一区间内来回往复时,CI升至61.8以上,趋势信号因此变得可疑。

CI衡量的是价格的移动效率


CI衡量的是价格的移动效率。分子是1根ATR之和,即每根K线实际走过的距离的总和;分母是最高价减最低价,即起点与终点之间实际拉开的幅度。趋势行情中,走过的距离与拉开的幅度相近,比值接近1,CI较低。震荡行情中,每根K线都在来回运动,幅度却原地不动,比值大幅拉开,CI升高。


这一结构使CI与 ADX 不同。ADX累积 +DI与 −DI的差值,衡量方向性运动的强度;CI不看方向,只看波动扩散了多少。因此两者常常得出同样的结论,却会在临界区间出现分歧。在ADX刚开始抬头的初期趋势里,CI往往已经降到了低位,因为ATR之和与幅度的比值能更早捕捉到幅度开始拉开的那一刻。


2024年5月初到7月底的BTC周线可以清楚地看到这种差异。周线收盘价从61,484美元(5月6日当周)走到68,250美元(7月22日当周),期间只是在5.5万到7.2万之间上下波动,起点与终点之间的距离不过7千美元出头。幅度很大,却几乎没有推进。这一区间的 CI(14) 大多在56~66的高位运行,同期ADX则在不上不下的中间值附近徘徊。往复很多、推进很少,这一点在CI上看得最清楚。


CI偏高时忽略趋势信号


CI真正的用处是把守趋势跟踪策略的入口。RSI向上突破50、MACD金叉、EMA多头排列,这类信号都只在价格沿单一方向推进的前提下才能赚钱。CI在62以上,说明这个前提已经不成立。震荡行情中,金叉出现在顶部附近,死叉出现在底部附近,跟着信号走,每次都是高点买入、低点卖出。


原因很简单。趋势信号来自反应滞后的均线,而均线要等价格向一侧走出足够距离之后才会交叉。在没有推进的震荡行情里,这种交叉发生的位置,往往正是价格已经掉头反向的地方。CI数值偏高,是在警告:当前市场里所有信号都会慢一拍到达。因此在CI数值偏高的区间,趋势策略应当停止新开仓。


对于在趋势跟踪与均值回归之间切换交易的人,这条标准尤其重要。同一张图、同一个RSI信号,仅凭CI的一个数值,解读就会截然相反。CI低于38时,把RSI突破50当作趋势入场信号;CI高于62时,忽略同一个信号,或者转向均值回归。在看振荡指标之前先看CI,本文想改变的就是这一个习惯。


CI衡量的是环境,而不是方向
CI衡量的是环境,而不是方向CI偏高(震荡)时关闭趋势信号,偏低(趋势)时开启趋势信号。CI不会告诉你价格向上还是向下。它是决定是否接受入场的开关,而不是入场本身。

只有CI偏低时趋势信号才有效


CI降到38以下,本身并不构成买入或卖出信号。它没有方向信息,这是理所当然的。数值偏低只说明当前价格正沿单一方向高效地拉开距离,因此可以相信趋势规则。入场时机仍由方向指标决定,CI只决定是否接受那个信号。


2023年10月中旬到2024年3月的BTC上涨,是趋势指标与CI配合良好的一个例子。周线收盘价从约27,154美元(10月9日当周)涨到73,777美元高点(3月11日当周),中间虽有回调周,大的走势始终朝着同一个方向。这段时间 CI(14) 大多处在24~41的低位,期间出现的EMA多头排列和RSI强势信号几乎都得到了验证。CI数值偏低,正是可以相信趋势规则的时期。


反面的例子就是前面看到的2024年夏季震荡。CI数值偏高的区间里出现的金叉,大多发生在6.8万~7.1万的顶部附近,随后便回落到6.3万一带。以CI数值为标准的人,一开始就把这些信号排除在交易对象之外。判断趋势信号是否有效,不单看信号本身,而是看信号出现时市场的CI数值。


CI偏高时另有适用的策略


CI数值偏高的区间,对趋势策略是应当阻止入场的信号,对均值回归策略则是可以入场的信号。价格在狭窄的区间内来回运动,意味着在支撑与阻力之间往复,这正是在箱体上沿卖出、下沿买入的交易能够奏效的市场。因此,如果趋势策略和均值回归策略同时运行,可以用CI的一个数值决定启用哪一边。做法是把同一个数值分成三段,每一段启用不同的策略;在中间区段,两边都用小仓位,或者参考更高周期,暂缓判断。


CI(14)区间市场状态使用的策略
38.2 以下趋势趋势交易 · 暂停均值回归
38.2 ~ 61.8中间两边小仓位 / 参考高周期暂缓
61.8 以上震荡均值回归交易 · 暂停趋势

OptiNod对BTC 15分钟K线做了6年多(2019年9月~2026年5月)的分析,按4小时趋势效率来看,全部样本中约69%的效率低于0.3,属于震荡,明确的趋势区间只有8.6%。这意味着在15分钟K线上直接跟随趋势信号,大部分交易都来自震荡行情中的假信号。因此用CI先过滤一遍是必要的。趋势策略的信号突然变多时需要警惕,那通常是CI数值偏高的区间,也就是已经进入震荡行情的警示。


不同市场状态使用不同形态:箱体两端与趋势回踩
不同市场状态使用不同形态:箱体两端与趋势回踩CI偏高的震荡行情中,使用在箱体两端反向接单的均值回归;CI偏低的趋势行情中,使用在回踩处顺着趋势方向上车的入场。同一张图,也要根据市场状态切换形态。

均值回归形态:只在震荡时瞄准箱体两端


最看重的用法,是只在CI数值偏高时用均值回归入场。只在确认震荡的区间里,在箱体两端反方向进场,除此之外不动手。以下是基于BTC 15分钟K线的一种形态。


  • 入场条件(市场状态): 仅当CI(14)在 61.8 以上时才应用该形态,降到 38.2 以下就停止。
  • 入场: 在前20根K线箱体上沿 ±0.3%以内,RSI(14)在70以上拐头时分批卖出;在下沿 ±0.3%处,RSI在30以下反弹时分批买入。
  • 止损: 突破箱体上沿(卖出时)或下沿(买入时)外侧0.8%。若偏离箱体超过1%,视为震荡前提已被打破,全部平仓。
  • 止盈/管理: 第一目标为箱体中轴(20根K线的中间值),第二目标为对侧边缘的 −0.3%位置。确保获得箱体宽度的一半后,把止损移到保本位。
  • 失效: 入场后若CI降到50以下,说明价格正在脱离箱体、趋势开始启动,在下一根K线收盘时平仓。

这一形态的核心,是只挑出逆势交易能够奏效的市场。趋势行情中,同样的RSI超买是更大涨幅的起点;在CI数值偏高的箱体内,同样的信号则指向顶部。区分这两种情况的,是CI数值。


趋势形态:只在CI偏低时顺势入场


这是把前一个形态反过来,只在CI数值偏低时接受趋势入场。方向和时机由趋势指标确定,CI只决定是否接受那个信号。


  • 入场条件(市场状态): 仅当CI(14)在 38.2 以下时才接受趋势入场,在 61.8 以上停止新开仓。
  • 入场: 条件满足的前提下,EMA 20向上穿越EMA 50,且收盘价位于两条线之上,则在下一根K线开盘价买入(以上升趋势为例)。
  • 止损: 入场K线的 ATR×1.5 下方,或跌破EMA 50,以先触及者为准。
  • 止盈/管理: 不设固定止盈,持有到收盘价跌破EMA 50超过1%为止。若CI重新升到 61.8 以上,将持仓比例减半。
  • 失效: 入场后CI立即超过50并继续上升,说明趋势偏弱,把止损上移到保本位,并在下一根K线收盘时平仓。

趋势形态的作用在于减少信号数量。只在CI数值偏低时接受信号,入场次数会大幅减少,但留下来的信号质量会提高。这是因为震荡行情中出现的假交叉,在入口处就被剔除了。


常见陷阱


试图读取CI的方向。 把CI上升解读为卖出、下降解读为买入。这个指标没有方向信息,数值的涨跌只说明正在向震荡还是向趋势移动。CI为75,向上还是向下都是同一个75。


只把阈值当作固定数字。 61.8/38.2 只是起点,不同资产、不同周期的震荡与趋势分界并不相同。确定自己交易对象的阈值,方法很简单。


  1. 在过去6个月到1年的数据中,用肉眼标出趋势区间和震荡区间。
  2. 为每个区间的 CI(14) 分布画出直方图。
  3. 把两组数据分开的边界值,分别作为上阈值和下阈值。

N周期设得太短。 把N缩短到7~8,CI数值会在每根K线上穿越阈值,判定不断改变。标准频繁变化,就不成其为标准。以14为默认值,如果嫌切换太频繁,就往调大的方向调整。


不要只凭CI入场


CI是判断当前处于哪种市场状态的标准,之后的方向与时机需要由其他工具负责,才算稳固。入场之前,先确认以下几点。


  • CI(14)是否处于预定阈值的正确一侧(趋势形态为 38.2 以下,均值回归形态为 61.8 以上)
  • 是否至少用自己交易对象的历史分布确认过阈值(没有直接照搬 61.8/38.2)
  • 负责方向与时机的其他指标(EMA交叉、RSI等)是否给出同样的结论
  • 是否与更高周期上看到的市场状态相符
  • CI数值在前几根K线之间是否没有来回闪烁,而是稳定地处于一侧

如果像对待其他振荡指标那样,把CI挂在信号栏里只是瞟一眼,它就只是一条反应慢又含糊的线。只有在依据趋势信号入场之前,用它来判断该信号所处的市场是否有效,CI才能在图表上发挥作用。


同样的EMA交叉,会因CI状态不同而被放行或拦截
同样的EMA交叉,会因CI状态不同而被放行或拦截核心在于:CI偏低的趋势区间中的EMA交叉予以放行,CI偏高的震荡区间中的同一个交叉予以拦截。

确认使用该指标的策略结果

上传按该指标信号交易的 TradingView 策略的交易列表(CSV)或 MT5 报告,即可计算盈亏、回撤和交易分布。无需登录即可分析。

分析我的交易记录 查看分析示例