KAMA Adaptive Moving Average Strategy: How to Build It in Arrow Algo

The Kaufman Adaptive Moving Average solves the oldest dilemma in trend following: a fast moving average whipsaws in chop, a slow one arrives late to every trend. Perry Kaufman’s answer, published in 1998, was an average that changes its own speed. When price moves efficiently in one direction, KAMA accelerates and hugs the trend. When price churns sideways, it slows almost to a standstill and lets the noise pass underneath. One indicator, two personalities, switched automatically.
What Is the Kaufman Adaptive Moving Average?
KAMA is a moving average whose smoothing speed is controlled by something Kaufman called the efficiency ratio. The ratio asks: over the last 10 periods, how much did price actually travel, compared to the sum of every zig and zag along the way? A straight-line move scores near 1 — perfectly efficient. A violent sideways churn that ends where it started scores near 0. KAMA then maps that score onto its speed: efficient markets get a fast average (near a 2-period EMA), churning markets get a glacial one (near a 30-period EMA).
Why Does the Adaptation Matter?
Fixed moving averages fail symmetrically. Set them fast and every range crossing fires a false signal — the whipsaw problem in its purest form. Set them slow and they surrender the first third of every trend. KAMA sidesteps the choice: in chop, the line flattens and price crosses it far less often, because the average has effectively stopped moving; in trends, it tightens up and tracks closely. In plain English, KAMA is a moving average with a built-in chop detector — the filter other MA systems have to bolt on separately.
Reading KAMA
- Price crossing a rising KAMA: the classic entry — a cross that survived the adaptive filter.
- KAMA’s slope: the regime reading. Rising means an efficient uptrend; flat means the market is going nowhere.
- The flat line itself: a stand-down signal. When KAMA barely moves, the efficiency ratio is telling you no trend exists to follow.
- Distance from KAMA: stretch above a rising line marks extension; a return to the line is the trend’s natural resting point.
Two KAMA Strategies to Build
The Slope-Filtered Cross
- Entry: price closes above KAMA and KAMA is rising (its value is higher than N bars ago).
- Exit: price closing below KAMA, or the slope turning flat.
- Why the slope check: crossings of a flat KAMA are chop by definition — the slope condition removes exactly the trades the adaptation flags as untrustworthy.
KAMA as the Regime Gate
- Rule: keep your existing entry system — a breakout, an EMA crossover, an oscillator recovery — but only allow entries while KAMA’s slope exceeds a minimum threshold.
- Effect: the efficiency ratio becomes your trend filter, standing every strategy down in churn without touching their core logic.
Building It in Arrow Algo
- Add a KAMA block and connect your candle feed — the period settings are editable properties.
- Use a crossover block on price and the KAMA output for the entry.
- Add a Lag block on the KAMA output and a condition block comparing current KAMA against its lagged value — that is your slope filter.
- Combine both through an AND gate; route the opposite cross or a flat slope to the exit.
- Backtest against a fixed EMA of similar speed on Binance, Coinbase, or HyperLiquid data. The comparison to demand: fewer trades in ranging stretches with similar trend capture. That is the adaptation earning its complexity.
Where Does KAMA Fall Short?
- Violent reversals. KAMA adapts to efficiency, not direction. A fast crash is highly efficient — the line will chase it down as eagerly as it chased the rally up. Stops remain your protection.
- Transition lag. The efficiency ratio needs several bars to recognise a new trend, so KAMA still misses the first move out of a range.
- Setting sprawl. Three parameters (ratio window, fast and slow constants) invite tinkering. Kaufman’s 10/2/30 defaults have survived nearly three decades — start there and stay close.
- False security in slow chop. Wide, drifting ranges can keep the efficiency ratio moderately high while still whipsawing. The slope filter, not the adaptation alone, handles those.
The Essentials
- The Kaufman Adaptive Moving Average changes speed with market efficiency — fast in trends, near-frozen in chop.
- A flat KAMA is information: no trend worth following exists right now.
- Trade crossings only when the slope confirms, or use the slope as a regime gate for other strategies.
- Keep Kaufman’s default settings; the indicator’s value is the adaptation, not the tuning.
- Arrow Algo’s KAMA block plus a Lag block makes the full slope-filtered system drag-and-drop — the complete KAMA guide has the full background.
Disclaimer: This content is for educational purposes only and does not constitute financial advice. Trading involves significant risk and you should only trade with capital you can afford to lose. Past performance is not indicative of future results. Always conduct your own research before making any trading decisions.
Ready to build your own automated trading strategies without writing a single line of code? Start for free at Arrow Algo and join thousands of traders who’ve made the switch to systematic trading.