Choppiness index
A 0 to 100 number for how choppy price has been, based on the path length versus the range.
What it shows
E.W. Dreiss's choppiness index compares the sum of true ranges over 14 bars with the overall high-low range of those bars. If price moved in a straight line, the sum of ranges is not much bigger than the overall range, and the index is low. If price zigzagged, it is high.
Values above 61.8 are called choppy and below 38.2 trending.
How we find it
The same code that draws it on your chart follows these steps, with the same result every time.
- Sum the true range over 14 bars.
- Find the highest high minus lowest low over those 14 bars.
- CHOP = 100 × log10(sum ÷ range) ÷ log10(14).
- Plot with lines at 38.2 and 61.8.
Starting values: Length 14; Lines 38.2 / 61.8. These are proposed and will be tuned on real price data before launch.
How to read it
- The panel shows CHOP.
- Above 61.8: choppy price.
- Below 38.2: trending price.
Status labels you may see
| Label | What it means |
|---|---|
| Choppy | CHOP above 61.8. |
| Middle | Between. |
| Trending | CHOP below 38.2. |
What cancels it
Nothing cancels it.
What traders check next
- ADX.
- Duration.
- Price trend.
Limits
- Does not say direction.
- Lines are Fibonacci-based conventions.
- Lags.
Try it in forecastviz
- Open any ticker and choose Trend strength and direction → Choppiness index in the left menu.
- Switch between 3M, 6M, 1Y to see how the picture changes.
- Compare with Average directional index and Efficiency ratio on the same chart.
Questions
Why 61.8?
It is a Fibonacci ratio, chosen by convention.
Is it like ADX?
Both measure trendiness differently.
Related trends
Further reading
- Wilder, New Concepts in Technical Trading Systems
- Chande and Kroll, The New Technical Trader
- Hosoda, Ichimoku Kinko Hyo
- Murphy, Technical Analysis of the Financial Markets
- Kaufman, Trading Systems and Methods
Educational only. Not financial advice, and not a price forecast. Charts are drawn by code from past price data, which may be delayed.