Chaikin Volatility

The rate of change of the high-low range over time. Detects volatility expansion and contraction directly — useful as a regime indicator.

IndicatorBy AlgoLiftUpdated 4 min read
On this page 13What it measuresFormulaInputs in AlgoLiftRecommended settingsOutputs in AlgoLiftHow to read itBest in / worst inThree setups1. Volatility expansion entry filter2. Compression-then-release pattern3. Position-sizing modulatorAdvanced patterns in AlgoLiftCommon mistakes

Measures the rate of change of the smoothed high-low range. Unlike ATR, which gives an absolute volatility reading, Chaikin Volatility gives a percentage change — telling you whether volatility is expanding or contracting, and how fast.

What it measures

  • Rate of volatility change. Percentage change in the smoothed high-low range over the lookback. Positive = volatility expanding; negative = contracting.
  • Regime transitions. Sharp positive readings often coincide with breakouts; sharp negative readings with consolidation.
  • Not absolute volatility. Chaikin Volatility says nothing about whether current volatility is high or low — only whether it's increasing or decreasing. Pair with ATR for the absolute level.

Formula

Inputs in AlgoLift

SettingDefaultRangeNotes
EMA Period101–200Smoothing for the high-low range.
ROC Period101–200Lookback for the percentage change computation.
  • (10, 10) — default: Chaikin's original. Works on daily and intraday alike.
  • (5, 5): Faster — more sensitive to short-term volatility changes.
  • (20, 20): Slower — for medium-term regime classification.

The two periods are typically kept similar — diverging them changes the indicator's character.

Outputs in AlgoLift

HandleTypePlottedNotes
VolatilityNumericAlwaysThe Chaikin Volatility percentage. Can be positive or negative.
Avg. RangeNumericOn selectThe EMA of high-low difference. A standalone absolute-volatility measure.
SlopeNumericOn selectRate of change of the volatility value. Useful for spotting acceleration.

How to read it

  • Reading > +30: Volatility expanding strongly — often coincides with breakouts, news events, or trend acceleration.
  • Reading < −30: Volatility contracting strongly — consolidation, calming after a move.
  • Reading near 0: Volatility is unchanged from the lookback period — stable regime.
  • Slope rising: Volatility expansion accelerating.
  • Slope falling from a high reading: The expansion phase is exhausting.

The interpretation is purely about change — high Chaikin readings during low absolute volatility (early in a breakout) mean very different things from high readings during already-high volatility (continuing acceleration).

Key Takeaway

Chaikin Volatility answers a specific question: "is volatility increasing or decreasing right now?" It doesn't answer "is volatility high or low" — that's ATR's job. The two indicators together give a complete volatility picture: ATR for the level, Chaikin Volatility for the direction.

Best in / worst in

Best in regime-transition detection — identifying when markets shift from quiet to active or vice versa. Useful as a strategy-arming flag rather than a primary trade trigger.

Worst in strategies that need direction signals (Chaikin Volatility is direction-agnostic — it spikes positively during both bullish and bearish volatility expansions). Also weak as a standalone primary signal — the rate-of-change reading needs context.

Three setups

1. Volatility expansion entry filter

Allow trades only when volatility is meaningfully expanding.

  • Long: MACD crossover bullish AND Chaikin Volatility > +15 (expansion confirmed).
  • Short: MACD crossover bearish AND Chaikin Volatility > +15 (any expansion direction works — volatility doesn't care).

The filter ensures the breakout signal happens during real activity, not during dead-tape moments that produce fakeouts.

2. Compression-then-release pattern

Detect when volatility has been contracting and is now turning to expand.

  • Setup: Chaikin Volatility was negative for at least 10 consecutive bars (compression).
  • Trigger: Chaikin Volatility crosses above 0 AND slope > 0 (expansion beginning).
  • Action: Arm a directional system for the next 10 bars — the compression-release often produces a clean breakout.

Use a Set Variable flag to track the armed state.

3. Position-sizing modulator

Reduce position size when volatility is expanding sharply (uncertainty).

  • Size formula: base_size × max(0.5, 1 − Chaikin_Volatility / 100).
  • Result: Reading of +50 → 0.5× base size (cautious during volatile expansion). Reading of −20 → 1.2× base size (slightly larger during quiet conditions).

Combined with fixed-fractional risk math, this scales exposure inversely to volatility-of-volatility.

Advanced patterns in AlgoLift

Chaikin Volatility for regime classification. Three-zone regime:

  • Expansion regime: Chaikin > +15 for several bars → run trend-following strategies.
  • Contraction regime: Chaikin < −15 for several bars → run mean-reversion strategies.
  • Transition: Between −15 and +15 → pause both, or run only most conservative setups.

Switch strategy logic by regime with regime mode (Activate Regime).

Chaikin slope as a scale-out timer. When the Chaikin Volatility slope starts falling (expansion is exhausting), take partial profits via Set Target Profit with fractional position size. The volatility-of-volatility turn often precedes the directional turn by 1-3 bars.

Combined with ATR for complete volatility picture. Chaikin Volatility says "is it changing" — ATR says "what's the absolute level." Build a regime classifier that uses both:

  • Quiet & calming: Low ATR + negative Chaikin → range strategies, tight stops.
  • Loud & expanding: High ATR + positive Chaikin → trend strategies, wide stops.
  • Quiet & expanding: Low ATR + positive Chaikin → early breakout signal.
  • Loud & contracting: High ATR + negative Chaikin → trend exhausting.

Common mistakes

  • Reading it as absolute volatility. Chaikin Volatility = 50 means a 50% change — the absolute volatility level could still be anything. Always cross-reference with ATR.
  • Trading direction off the reading. Positive Chaikin doesn't mean bullish — it means more volatile, which can be bullish OR bearish. Combine with a direction indicator.
  • Tuning the two periods independently. The 10/10 default keeps the indicator coherent. Asymmetric periods (e.g., 5/20) make the interpretation muddier without obvious benefit.
Common Misconception
Myth
Chaikin Volatility is just an alternative to ATR.
Reality
They measure different things. ATR is volatility *level*. Chaikin Volatility is volatility *change*. The same market can have high ATR with low Chaikin (steady high volatility) or low ATR with high Chaikin (quiet market beginning to expand). Use both — they're complementary, not interchangeable.