WhitmanTrading

Choppiness Index: A Filter, Not a Signal

The choppiness index compares how far price traveled against how far it got, on a nought to one hundred scale. High readings mean directionless movement and low readings mean trending. It is backward-looking, so its honest use is filtering whether to trade a trend method at all.

Covered on this page: TradingView.

How it works

The choppiness index asks how much of the path was wasted. It compares the sum of each bar’s true range over a window against the total high-to-low range of that whole window, then takes a logarithm and scales the result to a nought-to-one-hundred band.

In plain English, it divides ground covered by ground gained. If price moved a great deal and finished near where it started, the reading is high; if it traveled efficiently, the reading falls.

The standard setting is fourteen bars and the published thresholds are 61.8 and 38.2. Those two numbers are Fibonacci-derived rather than empirically optimized, which is worth saying plainly — a convention that stuck, not a result anyone tested and published.

Why the scale runs backwards

It says nothing about direction and is not meant to. The reading describes how much of the path was wasted, which is a question with no sign attached — a violent collapse and a violent advance print alike.

High is directionless and low is trending, which is inverted against most oscillators. People who have spent years reading high as strong and low as weak import that habit here and read every signal exactly backwards.

It belongs to the same family as an efficiency ratio. Both compare net movement with total movement over a fixed window, and both ignore direction.

In practice

Its honest use is deciding whether to trade at all. A high reading is an instruction to leave the trend-following method in the drawer, not an instruction to reverse it.

Choppiness index on an illustrative series, a price series, volume beneath, 1 marked level.
So its honest use is deciding whether to trade at all. Illustrative chart - not real market data.

It is a price measure and ignores participation entirely. Nothing in the calculation looks at volume, so a quiet drift and a heavily traded range of the same shape read identically.

On a slower chart the same period reads differently. Fourteen bars is fourteen bars whatever the interval, so a stretch that is pure chop hourly can be a clean leg daily. Choose the timeframe you actually trade.

A gap inflates the range and distorts the reading. True range counts the jump from the prior close, so one overnight move can make an orderly window print as chop.

It never tells you where the stop goes. The reading has no level attached, so every risk decision still comes from structure or bar size.

Where it sits among the trend tools

It answers a narrower question than the Average Directional Index does. The ADX is built from directional movement and rises with the strength of a move; the choppiness index only measures the efficiency of the path, and never asks which way that path pointed.

Its raw material is the same as the Average True Range. The numerator is a running sum of exactly the figure ATR averages, so the two share an input and diverge only in what they do with it — one reports typical bar size, the other reports wasted motion.

None of the three replaces trend analysis. Structure tells you what the market is doing and where the levels are; these tools only grade the quality of the ground you are standing on. Grading the ground is useful and it is not a plan.

What the choppiness index is not

How this connects

This measures whether a market is trending or ranging, which puts it alongside ADX as a filter rather than a signal.

It is built from average true range and the high-low range over a lookback, so it is entirely a volatility construction with no direction in it.

A high reading means chop. That is genuinely useful, because most indicators behave badly in exactly those conditions and this one says so explicitly.

Trend analysis is what it feeds. The sensible use is deciding which toolkit to reach for, not generating entries of its own.

And it is bounded, so it saturates: past a point it stops distinguishing between choppy and choppier.

When it fails

Trading the chop costs a round trip each time. Every entry and exit pays the spread and any commission, and in a directionless market the moves between entries are small, so that fixed toll takes a larger share of each one.

It describes the past fourteen bars and nothing ahead. That is the unavoidable limitation: it names chop only after the chop, never before.

In a range it is correct and it is also too late. By the time the reading is convincingly high, the sideways action has already taken the losses out of you.

Bar sizes vary too much for one threshold to hold. A quiet session and a news-driven one can differ severalfold in range on the same instrument, and a fixed boundary means something different in each.

It cannot tell a pause from a top. A trend that stalls and a trend that has finished print the same rising reading, because both waste motion.

And the thresholds themselves were never tested. 61.8 and 38.2 are Fibonacci ratios that arrived by convention, so treat them as a starting point, not a boundary to obey.

The original data

On the S&P 500’s daily closes from January 1950 to September 2026, 59% of ten-day windows finished higher and 41% did not, and the index closed at a new record on only about 7% of trading days. A long advance, seen ten days at a time, is mostly back-and-forth. In the site’s scan of 24,971 trading and investing videos, “choppiness” appears in 2 videos with a median of 101,648 views from 2 channels, while “bollinger” appears in 268 videos with a median of 4,842 views.

The choppiness index example: price bars cut at the decision point, volume beneath, 1 marked level.
The reading says chop and the setup looks perfect. Skip? Illustrative chart - not real market data.

Those figures say the default state of even a rising market is waste. Four ten-day windows in ten went nowhere or backwards, and more than nine days in ten were spent below an earlier high. A filter that spends most of its life saying no is therefore usually right.

The coverage numbers explain why nobody teaches this properly. Two videos on choppiness against 268 on Bollinger bands says which word people search for, not which tool is better. So do this: log the reading at the open daily for two weeks alongside whether the day trended, and compare the count of trending days against the choppy ones before you accept 61.8 as a boundary.

Trend analysis is the discipline this filter serves, because a chop reading only means something once you can name the structure it is grading.

The Average Directional Index answers the neighboring question, measuring the strength of directional movement rather than the efficiency of the path.

Average true range supplies the raw input, since the choppiness calculation sums the same per-bar true range that this indicator averages.

The practical check

Run a chop filter as a question at the start of the session rather than a rule that overrides you: is the market even paying for the method you are about to use? Often it says the ground is poor, and often that is correct. It should not stop you taking a good setup; it should change how much you are willing to lose finding out.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money. Some links on this page earn a commission if you buy through them. It costs you nothing and it does not decide what appears here or in what order — how these pages are made is set out in our methodology.