Skip to main content

📘 True Range & Average True Range (ATR): Foundations of Volatility

Overview

The Average True Range (ATR) is one of the earliest and most enduring measures of market volatility. It was introduced by J. Welles Wilder Jr. in 1978 in his book “New Concepts in Technical Trading Systems”, alongside other classics like RSI and Parabolic SAR.

ATR was designed for commodity markets — which had fixed daily sessions and often saw large overnight gaps. These gaps made ordinary high-low ranges unreliable for measuring “how much price really moved.” Wilder’s fix was simple and brilliant: define True Range (TR) as the maximum of three possible price movements.


🧮 True Range Formula

For each bar ( t ):

TRt=max(HtLt,;HtCt1,;LtCt1)TR_t = \max \Big( H_t - L_t,; |H_t - C_{t-1}|,; |L_t - C_{t-1}| \Big)
TermMeaningCaptures
HtLtH_t - L_tIntrabar rangeNormal day-to-day volatility
HtCt1\lvert H_t - C_{t-1} \rvertGap up movementOvernight or session gaps upward
LtCt1\lvert L_t - C_{t-1} \rvertGap down movementOvernight or session gaps downward

The “max of three” construction ensures that the True Range always reflects the full movement of price, including any gap between bars. If you only used HtLtH_t - L_t, you’d completely miss the volatility caused by those gaps.


📈 Average True Range (ATR)

ATR is simply a smoothed average of True Range values, typically over 14 periods:

ATRt=MA(TRt,n=14)ATR_t = \text{MA}(TR_t, n=14)

Wilder originally used a modified exponential smoothing method (similar to an EMA), but modern implementations often use either an EMA or SMA.

ATR is non-directional — it doesn’t care whether price moved up or down, only how far it traveled. That’s why it’s the backbone for:

  • Position sizing and stop placement
  • Volatility regime detection
  • Risk-adjusted signal scaling

🧭 Why It Made Sense in 1978

When ATR was invented:

  • Markets closed overnight.
  • Gaps were frequent and meaningful.
  • Volatility needed to account for both in-session movement and between-session jumps.

The “max of three” logic elegantly solved that. In today’s 24/7 markets like crypto or forex, where gaps are rare, the extra terms usually just match ( H_t - L_t ). But keeping the full formula is still good practice because:

  • It gracefully handles data dropouts or exchange outages.
  • It remains consistent across all asset classes.
  • It detects micro-gaps from things like oracle or mark-price resets in perps.

⚡ Quick Example

CandleHighLowPrev CloseTR = max( )Explanation
1102991003Normal in-bar move
211010910010Gap-up captured by
31089510914Gap-down captured by

Then ATR(3) = mean(3, 10, 14) = 9.0


🧩 Interpreting ATR

ContextMeaning
Rising ATRExpanding volatility → large candles or erratic moves
Falling ATRContracting volatility → calm, compressed price action
High ATR vs history“Stormy” regime; breakouts and reversals have more noise
Low ATR vs history“Quiet” regime; coiled ranges, potential volatility expansion ahead

ATR doesn’t predict direction — it describes environment.


🕓 Notes for Continuous Markets (Crypto, FX)

For 24/7 assets:

  • The “gap” terms rarely dominate, but keeping them maintains robustness.
  • TR degenerates to roughly ( H_t - L_t ) under normal continuous trading.
  • You can safely interpret ATR as rolling candle amplitude.

Advanced volatility studies (which you’ll build later) use ATR as the base layer for:

  • ATR rate-of-change (volatility momentum)
  • ATR percentile vs hour-of-week (contextual volatility)
  • ATR excursion time (duration of high-vol states)

🧠 Summary

ConceptDefinitionPurpose
True Range (TR)max( H−L,H−C₋₁,L−C₋₁)Capture total movement, including gaps
Average True Range (ATR)Smoothed mean of TRMeasure volatility magnitude
Why “True”?Includes between-bar gapsReflects total risk exposure
InventorJ. Welles Wilder Jr., 1978For commodities’ session gaps
Modern RelevanceStill best general-purpose volatility metricWorks across markets

🧭 Next Steps: From Classic ATR to Modern Volatility Studies

This piece has covered the origin and mechanics of True Range and Average True Range — the foundation of nearly all volatility analysis. The next steps extend these concepts into the modern, continuous-market era, where volatility itself becomes an evolving state variable rather than a static measure.

1. ATR Dynamics

Explore how ATR changes through time, not just what its value is.

  • ATR Rate of Change (ATR-ROC): measures volatility momentum — how quickly the market’s amplitude is expanding or contracting.
  • ATR Acceleration: the second derivative, highlighting early signs of volatility explosions or cool-offs.

2. Contextual Baselines

Define what “normal volatility” really means.

  • Historical Average Comparison: relate current ATR to a rolling or long-term mean.
  • Seasonal Baselines: compare against the typical ATR for the same hour-of-day or day-of-week.
  • Median + MAD Bands: create robust volatility zones that ignore outliers and better represent common market rhythm.

3. Volatility Regime Mapping

Build a volatility state machine that classifies each bar into regimes such as:

  • Quiet (low and stable)
  • Awakening (volatility increasing)
  • Stormy (high and expanding)
  • Cool-down (high but contracting)

These regimes can be studied for persistence — for instance, measuring how many bars it takes to revert from a high-volatility spike back to baseline.

4. Practical Applications

Turn the theory into actionable trading logic:

  • Adaptive position sizing and stop placement.
  • Signal filtering: only trigger entries when volatility context is favorable.
  • Regime-aware risk budgeting and dynamic leverage control.

Next Article: ATR Rate of Change – Detecting Volatility Momentum This follow-up will formalize volatility acceleration, visualize ATR surges across multiple timeframes, and show how these patterns can pre-empt directional breakouts.


Would you like me to format this as a full markdown document (with front-matter metadata like title, sidebar_position, and tags) so it’s ready to commit to your QLIR docs repo?