Skip to main content
Reads

Concept8 min readUpdated May 14, 2026

Average Daily Range

Most stocks are too quiet to swing-trade. ADR is the one number that tells you whether a name moves enough to be worth your watchlist slot, and how wide a stop you need if it is.

Key takeaways · 5

  1. Average Daily Range (ADR) is the percent distance between a stock's daily high and low, averaged across a trailing window. tickerstance uses 20 trading sessions and the formula `((high − low) / close) × 100`.
  2. Practitioners read ADR as a tradeability filter: under 4% is too quiet, 4-6% is the standard swing range, 6-10% is momentum-leader territory, and above 10% calls for smaller position size.
  3. Kristjan Kullamägi (Qullamaggie) popularized ADR as a swing-trading filter: his published criteria use ADR above 5-6% as a prerequisite, with stops generally not exceeding one ADR from entry.
  4. ADR differs from Wilder's Average True Range (ATR). ADR is the simple average of high-minus-low in percent terms; ATR is Wilder-smoothed, classically denominated in price points, and includes overnight gaps from the prior close.
  5. tickerstance surfaces 20-day ADR on every `/leaders` row and on each `/leaders/[ticker]` detail page. It is a per-stock signal, not part of the Stance composite.

Why a swing trader cares about range

A swing trade depends on a stock moving far enough, fast enough, that the move pays for the risk. If a stock typically moves 1.5% from high to low in a normal session, a swing trader holding it for several days is fighting the arithmetic from the entry: the stock simply does not travel much, and a stop set far enough to survive normal noise eats most of the realistic upside.

A name that typically moves 7% high-to-low has the opposite problem. Bigger expected moves, more room for the trade to work, and more reward per unit of risk at entry. This is why momentum traders almost never trade defensive blue chips. The defensive blue chip's chart can look perfect and still not move enough to matter.

Average Daily Range is the single number that captures that property. It tells you, before you ever look at the chart, whether a stock has the volatility to be worth the watchlist slot. It is a filter first, a position-sizing input second, and a stop-distance reference third.

The calculation20 sessions, averaged
4.0%6.6%4.6%4.7%Each session contributes (high − low) ÷ close × 100Mean of 20ADR(20)4.6%average daily range

ADR computed across a 20-session window. Each session contributes (high − low) / close; the average is the stock's ADR%.

How ADR is calculated

Two formulas circulate. Both produce close to the same value for normal-volatility names.

Close-denominated (used by tickerstance): for each session, compute `((high − low) / close) × 100`. Average across N sessions. The result is the percent range the stock typically covers, expressed against the current price.

Ratio form (Qullamaggie's TC2000 formula): for each session, compute `(high / low) − 1`. Average across N sessions, multiply by 100. Close to the close-denominated version in practice because high, low, and close tend to be near each other in normal sessions. The two diverge somewhat for stocks that close at one extreme of the day.

The window. Twenty trading sessions is the conventional choice. It covers roughly one calendar month and smooths over individual earnings reports or news-driven days without diluting the read with quarter-old behavior. Some traders use 10 or even 5 sessions for faster-moving setups; the trade-off is more noise per reading.

Worked example. A stock prints these five sessions: a 3% range, a 5% range, a 4% range, an 8% range (earnings day), and a 3% range. Five-session ADR is `(3 + 5 + 4 + 8 + 3) / 5 = 4.6%`. The earnings day pulled the average up by roughly half a point; that is the noise problem a 20-session window largely cures.

Reading the number

Practitioners read ADR on a rough ladder.

Under 4%. Too quiet to swing-trade. The stock does not move enough to pay for the trade after costs and a reasonable stop. Most large-cap defensive names sit here: utilities, megacap consumer staples, low-beta dividend payers.

4 to 6%. The standard swing-trade range. Enough volatility for a multi-day or multi-week hold to produce meaningful return, not enough that a single bad session blows up the account. Most mid-cap growth and quality compounders sit here in normal regimes.

6 to 10%. Momentum-leader territory. This is the range Qullamaggie's filter targets. Stocks here tend to be small- and mid-cap growth names with active institutional buying, recent breakouts, or strong earnings revisions. Higher reward potential and meaningful overnight gap risk.

Above 10%. High volatility. Recent IPOs, post-blow-up bounces, biotechs around catalysts, low-float pump candidates. The math still works, but position size has to come down proportionally and stops widen. Many disciplined traders cap at 8-10% ADR and pass on anything wider.

Reading the numberTradeable, momentum, or too wild
ADR(20) percentage0123456789101112+% range typically covered per session
< 4%
Pass
Stock does not move enough to pay for a swing trade after costs and a reasonable stop.
Too quiet
4–5%
Tradeable
Enough range to swing-trade. Most mid-cap quality compounders sit here.
Standard swing
6–9%
Qullamaggie band
Active momentum names with recent breakouts. The screen-target band.
Momentum leader
10%+
Smaller size
Recent IPOs, biotechs around catalysts, low-float pumps. Cut size, widen stop.
High volatility

The ADR ladder most swing-trading screens use to bracket tradeable names from too-quiet or too-wild.

Three jobs ADR does

Filter. The first job. A screen that excludes everything under 4% ADR removes a large universe of stocks that will not move enough to swing-trade, regardless of how clean the chart looks. Qullamaggie's published screens use ADR > 5-6% as a hard floor.

Position sizing. The second job. If a stop is sized to one ADR, the dollar risk per share is `price × ADR%`. To keep dollar risk per trade comparable across positions, share count has to scale inversely to that product. A 4% ADR name at $50 has $2 of expected daily-noise risk per share; an 8% ADR name at $50 has $4. Same dollar risk per trade means roughly half the share count on the second name.

Stop placement. The third job. Qullamaggie's published guidance is that a stop should generally not exceed one ADR from the entry. The reasoning is symmetric: stops set inside normal daily noise get hit on routine flutters; stops set well beyond one ADR turn small losses into large ones. One ADR is the boundary between 'real signal that the trade is wrong' and 'random Tuesday'.

ADR versus ATR

Average True Range (ATR), introduced by J. Welles Wilder in his 1978 book New Concepts in Technical Trading Systems, is the older sibling and the source of regular confusion. The differences matter.

Inputs. ATR uses true range, which is the larger of three values: today's high minus today's low, today's high minus yesterday's close, or yesterday's close minus today's low. ADR uses only the daily high minus low. ATR captures overnight gaps; ADR does not.

Smoothing. ATR is Wilder-smoothed (a modified exponential variant with smoothing factor `1/N`), traditionally over 14 sessions. ADR is a simple arithmetic mean over 20 sessions in the modern convention. The two react differently to sudden volatility shifts: Wilder smoothing carries an infinitely long but geometrically decaying memory of past observations, while a simple mean cuts cleanly at the window edge.

Units. ATR's classical output is in price points (a $50 stock might print an ATR of $1.20). ADR is in percent terms (the same stock might print an ADR of 4%). Most modern platforms also expose an ATR% alongside the classical ATR; that variant closes the comparability gap, but the dollar-denominated ATR remains the default in many systems.

Use cases. Classical ATR is the standard in algorithmic systems, futures, and forex contexts where Wilder's framework was built. ADR is the standard in modern equity swing-trading screens where percent comparability across price levels is the workflow.

How the schools use it

Kristjan Kullamägi (the Swedish swing trader behind the Qullamaggie handle, who publicly reports compounding a small starting account into a peak above $80 million between 2011 and 2021) is the most explicit ADR proponent in modern swing-trading literature. His published criteria for a tradeable setup include ADR > 5-6% as a hard prerequisite, alongside relative strength, base structure, and volume. His position-sizing rule is approximately one ADR per stop, which keeps risk-per-trade comparable across the watchlist.

Mark Minervini's framework around the Volatility Contraction Pattern (VCP) is range-aware in a different way. Minervini watches a sequence of progressively smaller pullbacks across a base (a canonical example is 18% → 12% → 6%, though the specific magnitudes vary) and treats the contraction itself as the structural setup. Absolute ADR is less central to VCP, but the same volatility logic shows up in his preference for stocks with enough room to run when the breakout fires.

Stockbee (Pradeep Bonde) uses ADR-adjacent measures to filter for momentum bursts: typically a stock moving 4% or more on a single day on heavy volume. The framing is forward-looking (today's move) versus the trailing average ADR captures, but the mental model is the same.

Across all three schools, ADR is the tradeability gate, not the trade itself. Setup geometry decides which name to take. ADR decides whether the name is even on the watchlist.

Where ADR misleads

Recent IPOs. The first 20 sessions of trading often print huge ranges that have nothing to do with the stock's eventual behaviour. A 12% trailing ADR on day 25 of public life may be 6% on day 100. Treat newly-public names with a heavy skepticism discount on the ADR read.

Single big bars. A 20% post-earnings session inside a 20-session window adds roughly 1% to the average. Two such bars can pull the read materially out of representative range. Some practitioners exclude or winsorize earnings-day candles before averaging.

Gap-prone names. ADR ignores overnight gaps because it only uses high minus low. A stock that gaps 5% open-to-open every other session can have a deceptively normal-looking ADR while actually carrying much higher position-level risk. ATR catches this; ADR does not.

Regime change. ADR is a trailing read. A stock that was a quiet 3% performer for 18 months and is now a breakout candidate may print a true 7% next-month range while the 20-session ADR still reads 4%. Practitioners watching for the inflection often pair ADR with a shorter window (10 or 5 sessions) to detect the regime change earlier.

How tickerstance uses ADR

tickerstance computes 20-day ADR for every eligible name using the close-denominated formula. The value appears on every row of the `/leaders` page (the ADR column) and on each `/leaders/[ticker]` detail page in the fundamentals strip.

ADR is a per-stock signal, not a Stance-composite ingredient. Stance reads the market regime; ADR reads an individual name. The two answer different questions and live on different surfaces of the product.

Eligibility on `/leaders` matches the stock-leaders universe: close at or above $7.50 and a 20-day average dollar volume at or above $10 million. The 20-session window also means newly-listed names show no ADR until they have a full window of history, which avoids the IPO trap noted above.

Frequently asked questions

What is average daily range (ADR)?

Average Daily Range is the average percent distance between a stock's daily high and daily low, computed across a trailing window of trading sessions. tickerstance uses a 20-session window and the formula `((high − low) / close) × 100`. It is the single most common way to express how much a stock typically moves in a day, comparable across stocks of any price.

How is ADR calculated?

For each of the last N sessions (typically 20), compute the daily range as a percent of the close: `((high − low) / close) × 100`. Take the arithmetic mean of those 20 percentages. The result is the ADR. An alternative formula, used by Qullamaggie's TC2000 setup, divides high by low instead of subtracting low from high. The two variants produce close to the same value for normal stocks.

What is a good ADR percentage for swing trading?

Most practitioners require 4-5% as a minimum and prefer 5-6% or higher for momentum setups. Under 4% the stock does not move enough to pay for a swing trade after costs and stops. Above 10% the stock is volatile enough that position size has to come down significantly. The 5-8% band is where most swing-trade leaders sit.

What is the difference between ADR and ATR?

ATR (Average True Range, Wilder 1978) uses true range (which includes overnight gaps), is Wilder-smoothed over 14 sessions by default, and is classically denominated in price points (most platforms now also expose an ATR%). ADR uses simple daily range (high minus low only, no gaps), is an arithmetic mean over 20 sessions in modern convention, and is always in percent. ATR is the standard in algorithmic and futures contexts; ADR is the standard in modern equity swing-trading screens.

How does ADR help with position sizing?

If a stop is sized to one ADR, the per-share dollar risk is `price × ADR%`. To keep dollar risk per trade comparable across positions, share count has to scale inversely to that product. A higher-ADR name at the same price requires proportionally fewer shares than a lower-ADR name to take the same dollar risk. This keeps a portfolio of disparate names from being dominated by whichever holding happens to be the most volatile.

What does it mean if a stock has 10% ADR?

The stock has typically been traveling 10% between its daily high and low over the last 20 sessions. That is high-volatility territory: usually a recent IPO, a momentum leader inside a strong move, a biotech around a catalyst, or a low-float speculative name. Position size has to come down proportionally and stops widen, but the reward potential is correspondingly larger.

How many days should ADR cover?

20 trading sessions is the most common choice and covers roughly a calendar month. Shorter windows (10 or 5 sessions) react faster to a stock's regime change but are noisier. Longer windows (60 or 90 sessions) are smoother but slow to recognise when a stock has just become tradeable. 20 is the standard compromise.

Who uses ADR to pick stocks?

Kristjan Kullamägi (Qullamaggie) is the most public ADR proponent and uses ADR > 5-6% as a hard filter in his screens. Mark Minervini's VCP framework is range-aware via volatility contraction. Stockbee (Pradeep Bonde) uses ADR-adjacent measures for momentum-burst filtering. The shared idea: ADR decides whether a name is on the watchlist; chart structure decides whether to take the trade.

Does ADR predict the size of tomorrow's move?

No. ADR is a trailing average. It is a reasonable expectation for an average day going forward, not a forecast for any specific session. Earnings days, news-driven sessions, and catalysts routinely produce moves of 3-5× ADR. ADR is useful as a position-sizing and stop-distance reference precisely because most days will fall within it, but it does not predict the size of an individual day.

Where does tickerstance show ADR?

On every row of the `/leaders` page (the `ADR` column) and on each `/leaders/[ticker]` detail page in the fundamentals strip. The value is 20-session, close-denominated. It is null on stocks with fewer than 20 sessions of history.