# Kaufman Efficiency Ratio

A Trend concept (Trend strength & direction) in the LuxAlgo Library, with 1 indicator implementation.

## What is the Kaufman Efficiency Ratio?

The Kaufman Efficiency Ratio measures how directly price traveled over a lookback window. Take the absolute net change (the close now versus the close N bars ago) and divide it by the sum of the absolute bar-to-bar changes across the same window. The result lies between 0 and 1: a value of 1 means every bar moved in the same direction, a perfectly straight path, while values near 0 mean price churned back and forth and finished close to where it started. Perry Kaufman introduced the ratio (he also called it fractal efficiency) in the mid-1990s as the signal-to-noise engine of his adaptive moving average.

Kaufman presented it in his 1995 book Smarter Trading as the measurement that lets one indicator serve two regimes: rather than choosing between a fast average that whipsaws and a slow one that lags, his adaptive average reads the ratio each bar and slides its smoothing between the two extremes. The ratio itself is deliberately primitive, one division on closing prices, which is why it reacts within a window's length when a market's character changes.

Because it compares displacement to distance traveled, the ratio gauges trendiness, not direction: a clean downtrend scores as high as a clean uptrend. Its best-known role is inside [KAMA](https://www.luxalgo.com/library/concept/kama/), where it maps to a smoothing constant so the average accelerates in efficient moves and flattens in noise, but it also stands on its own as a regime filter.

Its blind spots are the price of its simplicity. Built on closes alone, it never sees intrabar violence, so a market of huge wicks and flat closes can read as efficient; a single outsized bar can prop the net change and flatter the ratio; and the reading is hostage to its window, with a 10-bar ratio and a 50-bar ratio routinely disagreeing about the same chart. Thresholds are conventions to be tested, not constants, which is why the ratio is usually read against its own recent history.

## How to read the efficiency ratio on a chart

The ratio plots as a 0-to-1 line (or percentage) in its own pane; the reading is level, persistence, and change.

1. Plot the ratio with its window (10 bars is the common default; longer windows describe slower regimes).
2. Read the level against the instrument's own recent range of readings rather than an absolute constant; markets differ in their baseline efficiency.
3. Watch persistence: a ratio that rises and holds marks a move traveling cleanly, while a spike that immediately decays was one impulsive bar, not a regime.
4. Treat decay as the actionable event: the ratio rolling over while price still grinds is often the earliest mechanical sign that chop is returning.
5. Add direction separately, from structure or an [MA slope filter](https://www.luxalgo.com/library/concept/ma-slope-filter/), because the ratio scores straightness without caring which way the line points.

## How it's calculated

The Efficiency Ratio measures how much of a window's total price travel was net directional progress, from 0 in pure chop to 1 in a perfectly straight move.

```
Direction_t = abs(C_t - C_(t-n))
Volatility_t = Σ abs(C_(t-i) - C_(t-i-1)), sum over i = 0 to n - 1
ER_t = Direction_t / Volatility_t
KAMA use: SC_t = (ER_t × (2 / (fast + 1) - 2 / (slow + 1)) + 2 / (slow + 1))^2
KAMA_t = KAMA_(t-1) + SC_t × (C_t - KAMA_(t-1))

  C_t: close at bar t
  n: lookback length in bars (default 10)
  i: bar offset inside the window
  Direction_t: absolute net change over the window
  Volatility_t: sum of absolute one-bar changes over the window
  ER_t: Efficiency Ratio at bar t, 0 to 1
  SC_t: adaptive smoothing constant fed into KAMA
  fast: fast end of the KAMA smoothing range (default 2)
  slow: slow end of the KAMA smoothing range (default 30)
  KAMA_t: Kaufman Adaptive Moving Average at bar t
  t: bar index
```

Published in Perry Kaufman's Smarter Trading (1995) as the adaptivity input for KAMA; lines 4 and 5 show that standard use.

If Volatility_t is 0 because price never moved, implementations set ER to 0 to avoid division by zero.

A signed variant drops the abs() around Direction so ER runs from -1 to +1 and carries trend direction.

## How traders use it

- As a regime filter: trend systems trade only while the ratio holds above a chosen threshold and stand aside, or hand off to mean-reversion logic, when it decays toward zero.
- As the adaptive engine inside KAMA and related averages, scaling the smoothing constant between fast and slow limits so one tool behaves differently in trend and chop.
- As a ranking metric across symbols or timeframes, sorting for markets currently trending efficiently enough to justify breakout or pullback playbooks.
- As a gate on entries: requiring a minimum efficiency before honoring a [breakout](https://www.luxalgo.com/library/concept/breakout/) or crossover signal filters the triggers that fire inside congestion, where such signals fail most often.
- As a design pattern: the same displacement-over-path measurement drives other [adaptive-lookback](https://www.luxalgo.com/library/concept/adaptive-lookback-ma/) tools, which swap parameters dynamically instead of asking the trader to re-tune per regime.

## Efficiency ratio vs other trendiness gauges

- **Adaptive-lookback MA** (https://www.luxalgo.com/library/concept/adaptive-lookback-ma/): Adaptive averages are the ratio's chief consumers: they convert a trendiness measurement into a smoothing decision each bar. The ratio is the sensor; the adaptive average is the actuator built on top of it.
- **MA Slope Filter** (https://www.luxalgo.com/library/concept/ma-slope-filter/): A slope filter measures the direction and steepness of a smoothed line, blending trendiness with direction. The efficiency ratio isolates path quality alone: a market can grind efficiently with a shallow slope, and the two reads disagree in exactly the cases worth noticing.
- **Trend Regime Label** (https://www.luxalgo.com/library/concept/trend-regime-label/): A regime label outputs a discrete state, often by combining several conditions. The efficiency ratio is one of the cleanest raw inputs such labels consume: continuous, bounded, and cheap, but silent about direction and blind to intrabar range.

## FAQ

### What does a Kaufman Efficiency Ratio of 1 mean?

It means price moved in the same direction on every bar of the lookback: the net change equals the total distance traveled, a perfectly efficient path. Readings of exactly 1 are rare and brief in real markets. Most series oscillate far below it, so practitioners judge the ratio against its own recent range rather than against the theoretical maximum.

### How is the efficiency ratio different from ADX?

Both gauge trend strength without direction, but the mechanics differ. The efficiency ratio is a single path-length calculation over one window, bounded exactly between 0 and 1 and quick to react. [ADX](https://www.luxalgo.com/library/concept/adx-dmi-system/) smooths directional movement through several averaging stages, responds more slowly, and is conventionally read against fixed thresholds near 20 or 25. Some traders run both and act only on agreement.

### What lookback window should the efficiency ratio use?

Kaufman's adaptive average uses 10 bars by default, and that remains the common starting point. The window defines the question: a 10-bar ratio grades the last two trading weeks' path on a daily chart, while a 50-bar ratio grades the quarter. Shorter windows flip between regimes faster and noisier; longer ones are steadier and later. Match it to the holding period the reading will govern.

### What threshold marks a trending market?

There is no universal constant. Efficiency baselines differ by market and timeframe, so a fixed cutoff like 0.3 that works on one chart is meaningless on another. The defensible approaches are relative: percentile thresholds computed from the instrument's own history, or regime rules that require the ratio to hold above its recent average for several bars rather than merely touch a level.

### How does the efficiency ratio differ from the Choppiness Index?

They are near-mirror measurements. The efficiency ratio divides net change by the sum of close-to-close moves, rising in clean trends; the Choppiness Index compares summed true range with the window's total span, log-scaled, rising in congestion. CHOP sees intrabar range because it is built on true range, while the ratio sees only closes, which is the practical difference between them.

### Can the efficiency ratio drive mean-reversion systems?

Inverted, yes: persistently low readings certify the churning conditions mean-reversion wants, and some systems hand control between trend and reversion logic on exactly that switch. The same caveats apply in reverse, since the ratio lags by its window and a breakout can begin while the reading still says chop. Pairing the state with structure keeps the handoff honest.

## Implementations in the Library

- Anchored Powered KAMA (LuxAlgo): https://www.luxalgo.com/library/indicator/anchored-powered-kama/

## Related concepts

- Trend Regime Label: https://www.luxalgo.com/library/concept/trend-regime-label/
- ADX / DMI System: https://www.luxalgo.com/library/concept/adx-dmi-system/
- Aroon: https://www.luxalgo.com/library/concept/aroon/
- Vortex: https://www.luxalgo.com/library/concept/vortex/
- Vertical Horizontal Filter: https://www.luxalgo.com/library/concept/vertical-horizontal-filter/
- Trend Intensity Index: https://www.luxalgo.com/library/concept/trend-intensity-index/
- R-squared Trend Fit: https://www.luxalgo.com/library/concept/r-squared-trend-fit/
- Correlation Trend Indicator: https://www.luxalgo.com/library/concept/correlation-trend-indicator/
- Random Walk Index: https://www.luxalgo.com/library/concept/random-walk-index/
- Trend-quality Composites: https://www.luxalgo.com/library/concept/trend-quality-composites/

---

Source: https://www.luxalgo.com/library/concept/kaufman-efficiency-ratio/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/