Volatility & bands

Choppiness Index · CHOP

A 0-to-100 gauge of whether the market is trending or chopping sideways.

Works in most conditionsEngine-computed on a fixed sample series
14512096

The formula

Compare the total distance price actually travelled (the sum of each bar's true range) with the net high-to-low range of the whole window. When price covers a lot of ground for little net progress it is choppy; when the net range dominates it is trending.

CHOP = 100 × log₁₀( Σ ATR₁ over N ÷ (Highest High_N − Lowest Low_N) ) ÷ log₁₀(N)
Worked example
InputValue
Σ of 14 bar ranges30.0
Net range (HH − LL)12.0
Ratio2.50

CHOP = 100 × log(2.5) ÷ log(14) ≈ 35 → trending (below 38.2)

What it is

The Choppiness Index, created by Australian commodity trader E.W. Dreiss, measures whether a market is trending or chopping sideways: it quantifies how trendy price is without saying anything about direction. It compares how far price has actually travelled bar to bar against the total range it has covered over the window. A market that marches straight up covers little extra ground relative to its net range and scores low, while a market that thrashes back and forth covers lots of intrabar distance within a small net range and scores high. The question it answers is whether the current environment favours trend-following or range and mean-reversion tactics. It is bounded roughly between 0 and 100, with high values meaning choppy consolidation and low values meaning a strong directional trend.

How it is calculated

Over a lookback of n bars, with 14 the common default, sum the individual one-bar true ranges to get the total distance price travelled, then divide by the overall range, which is the highest high minus the lowest low across the whole window. The index is CI = 100 x log10( Sum of True Range over n / (MaxHigh(n) - MinLow(n)) ) / log10(n). The logarithms normalise the ratio so the output stays within a roughly 0-to-100 band regardless of n. When price trends cleanly, the summed bar ranges only slightly exceed the total window range, the ratio is near 1, its log is near 0, and CI is low; when price chops, the summed bar ranges dwarf the net range, the ratio is large, and CI climbs toward 100. Dividing by log10(n) scales the result for the chosen lookback.

Reading it, step by step

The index is read against two Fibonacci-derived thresholds, 61.8 and 38.2. Readings above 61.8 indicate a choppy, consolidating, rangebound market, while readings below 38.2 indicate a strong trend is in force. Crucially, it is not directional, so a low reading tells you a powerful trend exists but not whether it is up or down, and it must be paired with a directional tool. It is often used as a leading warning, because extended high choppiness in a coiled, congested market frequently precedes a breakout, so a CI that has been pinned high and starts falling can flag the birth of a new trend. Conversely a very low CI signals a mature, extended trend that may be nearing exhaustion or consolidation. The reading is best interpreted as a regime label rather than a buy or sell trigger.

Best timeframes

  • Scalping1m – 5m
  • Day trading5m – 15m14-period default
  • Swing1h – daily
  • PositionDaily – weekly

CHOP tells you whether to trend-follow or mean-revert — it never tells you which way price goes.

Choppiness Index vs regime tools

CHOPADXATR
Range0 to 1000 to 100Unbounded
DirectionalNoNoNo
Trend vs chopYesPartlyNo
BoundedYesYesNo

Common price-action setups

How the signal typically plays out on the chart.

Coil primed to break

CHOP climbs into the high zone above 61.8 as the market coils — prepare for expansion and trade the break when it drops out of the zone.

Trade the break
New trend begins
Fade the chop

With CHOP high the market is ranging — buy support and sell resistance, stopping just beyond each edge of the range.

Fade the range
Mean reversion
Trend from low CHOP

CHOP drops below 38.2 as a trend takes hold — trade the breakout in the trend direction and stop back inside the prior base.

Buy the breakout
Trend follows through

Best timeframes and settings

The standard lookback is 14 periods, applied across daily and intraday charts on any liquid instrument, since it needs only high, low, and close. Shortening the period makes it react faster to shifts between trend and chop but noisier, while lengthening it gives a steadier regime read that lags transitions. It is widely used on daily charts to decide whether to deploy trend or range strategies for the coming stretch, and on intraday charts to time breakouts out of congestion. Some traders adjust the thresholds, using 60 and 40 instead of 61.8 and 38.2, to taste. The trade-off is the usual period dilemma: a short lookback flags regime changes early but flickers, and a long one confirms them reliably but late.

When and where to use it

Use the Choppiness Index as a regime filter to decide which style of strategy to run: trend-following when it is low, and mean-reversion or range tactics when it is high. It is especially valuable for breakout traders, who watch for extended high-choppiness congestion to resolve into a trend, and for systematic traders who want to switch tactics based on the environment rather than forcing one approach everywhere. It applies to any liquid market and timeframe. It is not a directional signal and should never be used alone to choose long or short. Reach for it whenever the key question is not which way to trade but whether the market is even in a state where your chosen approach can work.

Strategies that use it

Regime switch: run trend-following entries such as moving-average crosses or breakouts only when CI is below 38.2, and switch to range tactics like fading support and resistance only when CI is above 61.8, standing aside in the ambiguous middle. Breakout timing: watch for CI to stay elevated above 61.8 during a tight consolidation, then trade the breakout in the direction price resolves once CI begins falling, treating the drop as confirmation a trend is starting. Trend-exhaustion caution: when CI falls to very low readings, recognise the trend is extended and tighten trailing stops or avoid fresh trend entries, anticipating an eventual return to chop. In each case the index sets the tactical context while a directional tool picks the side.

Combining it with other indicators

Because the Choppiness Index is non-directional, it must be paired with directional tools, so moving averages, ADX, or price structure supply the up-or-down that it omits. ADX is a natural complement, as both measure trend strength, and requiring CI low while ADX rises gives a robust trend confirmation. Bollinger Bands help visualise the very compression that high CI quantifies, so a squeeze plus high CI strengthens a breakout thesis. Momentum oscillators like RSI decide the direction and timing of the trade once CI has flagged the regime. The consistent approach is to let CI answer trend-or-chop, then hand off to a directional and a timing tool to execute.

Where it fails

The index is coincident to lagging, so it confirms a regime that is already underway rather than predicting it, and a market can shift from trend to chop before CI catches up. It gives no direction, so used alone it is useless for actually placing a trade. Its thresholds are approximate and vary by instrument and timeframe, so blindly trading the 61.8 and 38.2 lines without context leads to error. Sharp single-bar spikes in true range can distort short-window readings. The way to use it well is as a regime filter feeding a directional system, with an understanding that it describes the present environment more reliably than it forecasts the next one.

A worked example

Suppose over a 14-bar window the sum of the individual one-bar true ranges is 30 points, while the overall range, the highest high minus the lowest low across all 14 bars, is only 10 points because price thrashed back and forth without net progress. The ratio is 30 / 10 = 3, and CI = 100 x log10(3) / log10(14) = 100 x 0.477 / 1.146 which is about 41.6, a middling reading tilting toward chop. Now imagine a cleanly trending window where price marched steadily higher: the summed bar ranges are 12 points and the total range is 11 points, a ratio of about 1.09, giving CI = 100 x log10(1.09) / log10(14) = 100 x 0.037 / 1.146 which is about 3.3, a very low reading confirming a strong trend. The contrast shows the mechanism: chop inflates the summed ranges relative to net range and lifts CI, while a clean trend keeps them nearly equal and pins CI near zero.

Common mistakes

  • Reading direction into it — CHOP is non-directional and says nothing about which way to trade.
  • Acting on it late, since it confirms the regime only after the fact.
  • Using it without a trend indicator to supply the actual direction.
  • Treating the 61.8 / 38.2 thresholds as hard lines rather than Fibonacci-derived guides.
  • Expecting it to time entries — it is a regime filter, not a trigger.