Indicators Deep Dive~12 min+30 XP

ATR & Volatility

Volatility has a unit

Every indicator you've learned so far has been about direction — which way is price going, or how much momentum does it have. ATR is different. It's the one indicator that doesn't care which way price moves; it measures how far price moves, on average, per bar.

That distinction is why ATR is the most practically-used indicator in professional trading. Direction lets you take a trade. Volatility lets you size the trade correctly, place stops that survive normal noise, and compare two different instruments on equal terms. Without ATR, every trade is guessing at scale.

J. Welles Wilder Jr. introduced ATR in New Concepts in Technical Trading Systems (1978) — the same book that gave us RSI, ADX, Parabolic SAR, and DMI. ATR is the least famous of that bundle and arguably the most useful.

True Range — the right kind of range

Naive daily range is just H − L. But markets gap. A stock closes at $100, opens at $95 tomorrow, trades between $93 and $97. Its H − L is $4 — but it actually moved $7 from yesterday's close to today's low. A naive range would understate the volatility.

Wilder's True Range fixes this:

TR=max(HL,HCprev,LCprev)\text{TR} = \max\left(H - L,\quad |H - C_{\text{prev}}|,\quad |L - C_{\text{prev}}|\right)

Three candidates; take the largest. The prev-close-based terms fold overnight gaps into the volatility measure. Kaufman endorses the upgrade directly:

It would be best to substitute the true range, rather than the high-low range, as a better measure of volatility. — Perry Kaufman, Trading Systems and Methods

Bulkowski, notably, uses the naive H − L in his own published "volatility stop" (22-day range × 2). That's a pragmatic simplification — his statistical work doesn't lean heavily on gap-capturing — but for systems trading, use True Range.

ATR — smoothing the true range

The Average True Range smooths TR over NN bars using Wilder's signature recursion:

ATRt=(N1)ATRt1+TRtN\text{ATR}_t = \frac{(N-1) \cdot \text{ATR}_{t-1} + \text{TR}_t}{N}

This is Wilder's smoothing — the same α = 1/N recursion as RSI, not a standard EMA. Seeded with the simple average of the first NN TR values. If you port ATR from one library to another and the numbers drift, that's almost always the reason: a standard EMA uses α = 2/(N+1) which is roughly 2× more responsive.

Default period: Wilder's 14. Kaufman uses 14 in profit-target examples and 20 in position-sizing tables (kaufman.txt:31081, 42592) — 14 is the reference, but the trading-system literature freely uses 10, 20, or 30 depending on context.

Play with it

Market
Latest ATR4.15
Close212.06
ATR %1.96%
ATR answers one question: how far does this instrument move per bar on average? The number itself is not a buy/sell signal. Its job is to scale stops, scale position sizes, and tell you when volatility is expanding or contracting. Flip between markets: trending markets tend to expand ATR during big moves; sideways markets settle it into a narrow band.

Flip between trending and sideways markets. Notice:

  • ATR's absolute value depends on the price level. A $200 stock has a larger ATR than a $20 stock even if the two are equally volatile in percentage terms.
  • ATR% (ATR ÷ Close) normalizes that. A 2% ATR means the instrument moves about 2% per bar on average — tradable across any price level.
  • Trending markets inflate ATR during the trend. Sideways markets collapse it into a narrower band.
  • ATR never gives a direction signal. If you're staring at the ATR line trying to decide long or short, you're using the wrong indicator. ATR answers how much, not which way.

Use #1: position sizing

This is why ATR matters. Every trading book tells you to risk a fixed percentage of your account per trade — say 1%. But fixed dollars at risk means the number of shares has to vary inversely with volatility. Buy 1000 shares of a volatile name and your stop distance is huge; buy 1000 shares of a quiet name and your stop distance is tiny. Without ATR, the "1% risk per trade" rule has no teeth.

Kaufman's formula is the canonical recipe:

shares=account×risk%ATR×multiplier\text{shares} = \frac{\text{account} \times \text{risk\%}}{\text{ATR} \times \text{multiplier}}

Stop distance is ATR × multiplier (typically 2–3). Shares are whatever number keeps the dollar risk at your target.

ATR position sizing calculator
Risk ($)$250
Stop distance5.00 pts
Shares50
Capital deployed$5000
Formula: shares = (account × risk%) / (ATR × multiplier). Capital deployed: $5000 (0.20× of account). Notice the risk per trade stays constant at $250regardless of instrument — that's the whole point. A volatile stock gets fewer shares with a wider stop; a calm stock gets more shares with a tighter stop. Same dollar risk either way.

Change the ATR value from $2.50 to $25. Notice shares collapse from hundreds to tens — same dollar risk, same account, wildly different share count. This is the whole point of ATR sizing.

Kaufman's Chapter 23 Table 23.4 gives the cross-asset extreme: mid-2018 Amazon 20-day ATR was ~$20 while Bank of America was ~$0.54. For equal dollar risk, that's 4 Amazon shares versus 131 BAC shares. Flat dollar sizing — "just buy $10,000 of each" — would make AMZN a 2% daily position and BAC a 0.05% position. ATR sizing fixes this.

The Kaufman summary:

All positions will have equal volatility risk, which tends to maximize diversification.

Use #2: stops

The natural partner to position sizing is stop placement. Once you commit to "2 × ATR" as your stop distance, you've defined both where you'll exit on failure AND how many shares to buy. Long entry at price PP:

  • Stop-loss: P − 2 × ATR
  • Profit target: P + 3 × ATR (asymmetric, since the system needs a positive expectancy)

Kaufman documents multiple variations:

  • Profit target at entry ± k·ATR, triggered intraday: "Kaufman ch. 34, ~line 797"
  • Stop-loss at entry ± k·ATR, triggered intraday but exiting on close "to avoid being triggered by noise"
  • Bookstaber's Volatility System (an "early use of the average true range"): buy/sell when close moves more than k·ATR from the prior close, typically k = 3
  • Three-rule exit: scale out at 1, 2, and 3 ATR from entry

Bulkowski publishes his own simpler version — a 22-day average of H − L × 2 — in several trade examples: "My computer calculated a volatility stop of 28.77 for a potential 4.6% loss." Simpler math (no Wilder smoothing, no gap handling), but the spirit is the same: let volatility dictate stop distance.

Chandelier exit — Chuck LeBeau's trailing stop (highest-high − 3 × ATR) — is worth knowing but was not in our reference library; cite it conceptually.

Use #3: cross-asset comparison

ATR in points doesn't compare across instruments. ATR% does:

ATR%=ATRClose×100\text{ATR\%} = \frac{\text{ATR}}{\text{Close}} \times 100

A stock with ATR% = 1.5 is less volatile per-dollar than one with ATR% = 4.5. For a fixed-risk portfolio allocating dollars across markets, this is the unit you need. Kaufman uses this method for equal-volatility futures position sizing (kaufman.txt:23771, 42608):

  1. Divide capital equally across N markets.
  2. Compute 20-day ATR.
  3. Multiply by big-point-value to get dollar volatility.
  4. Contracts = allocation / dollar volatility.

The effect: every position carries the same expected dollar move per day. High-volatility futures get fewer contracts; low-vol ones get more. It's the same "shares by ATR" logic, generalized.

Why ATR beats standard deviation for stops

Bollinger Bands' bandwidth is a standard deviation of closes. Why isn't that enough for sizing and stops? Kaufman has three practical answers:

  1. Standard deviation uses closes only. ATR uses highs and lows too, so it captures the true extremes of intraday movement.
  2. Standard deviation misses gaps. TR's prev-close terms fold overnight gaps in. Standard deviation treats a gap as a single close-to-close return, understating the actual volatility.
  3. Standard deviation returns a percentage. ATR returns points — directly plug-and-play into a stop distance in dollars.

Kaufman's verdict:

Because the ATR uses the highs and lows, and the AV uses only the closing prices, our first choice is to use the ATR.

Annualized standard deviation (used in portfolio-level risk models) is still valid for its own use case. But for short-term stops and position sizing, ATR wins on all three practical dimensions.

Hidden traps

  • ATR is not a direction signal. It's a magnitude. Pair with a directional system (MA crossover, breakout, price structure). Alone, ATR tells you nothing about when to buy or sell.
  • Standard EMA ≠ Wilder smoothing. Same porting gotcha as RSI. If your ATR disagrees with another platform's by ~1.5×, that's the culprit.
  • Simple H−L ≠ TR. Bulkowski uses H−L in his volatility stop; it works but underestimates volatility around gaps. For earnings / news-driven stocks especially, use TR.
  • Picking k without backtesting. 2-ATR vs 3-ATR vs 4-ATR stops matter a lot. Kaufman warns against grid-searching the optimal k on the same data you'll trade — that's curve-fitting. Pick k based on hold time and acceptable drawdown, not on a backtest's max Sharpe.
  • ATR stops fit short-term trading. For multi-year trend systems, ATR-based stops will kick you out of long-term trends on normal pullbacks. Kaufman: "Once you get stopped out of a long-term trend that's still intact, it is necessary to reenter the trade in order to avoid missing the rare but large profit."
  • Comparing raw ATR across assets. Amazon's $20 ATR is not "more volatile" than BAC's $0.54 until you normalize. Use ATR% for cross-asset reads.

Quick check

Question 1 / 40 correct

Why does Wilder's True Range use three candidates instead of just H − L?

What you now know

  • True Range captures overnight gaps that a naive H − L misses. TR = max(H − L, |H − prev_close|, |L − prev_close|).
  • ATR smooths TR with Wilder's α = 1/N recursion — not a standard EMA. 14 is Wilder's default; 10–30 are all used in practice.
  • Position sizing by ATR is the most valuable use: shares = (account × risk%) / (ATR × multiplier). Same dollar risk across every trade, regardless of instrument volatility.
  • k × ATR stops are the stop-placement counterpart. 2× for swing, 3× for position, wider for trend-following.
  • ATR% = ATR / Close normalizes across instruments — the only honest way to compare volatility of a $20 and a $200 stock.
  • ATR beats standard deviation for stops because it uses highs and lows, captures gaps, and returns points (not percent).
  • ATR is not a direction signal. Pair with a separate directional framework.
  • The Chandelier exit (LeBeau: highest-high − k × ATR as a trailing stop) is worth knowing though not sourced here — one of the more popular ATR applications in practice.

Next: Stochastic Oscillator — closes out the Indicators Deep Dive unit. Where RSI is slower, Stochastic is faster; where ATR is magnitude, Stochastic is momentum.

Press complete when you're done.
Back to tree