# Volatility Ratio

A Volatility concept (Volatility estimators) in the LuxAlgo Library, with 1 indicator implementation.

## What is the Volatility Ratio?

The Volatility Ratio compares one volatility reading against a baseline to show, in a single number, whether conditions are unusually active. A widely cited version comes from Jack Schwager, who used the ratio of today's true range to the true range of the recent past to define wide-ranging days: bars that cover an outsized share of recent movement. Implementations vary in the denominator, some using the average true range of the window and others the window's full span, so the same label can sit on different formulas.

A second common construction divides short-lookback volatility by long-lookback volatility, using [ATR](https://www.luxalgo.com/library/concept/atr/) or standard deviation on both sides. Readings above 1 mean the market is running hotter than its baseline (expansion) and readings below 1 mean it is cooling (contraction). Both versions share one idea: raw volatility only means something relative to that market's own norm.

The best-documented lineage runs through Schwager on Futures: Technical Analysis (1996), which treated wide-ranging days as candidates for meaningful turning points and screened for them with this ratio; with an average-true-range denominator, the commonly cited threshold is a reading near 2, a bar roughly double the recent average. True range is preferred over the plain high-low span so that opening gaps count toward a bar's size. The short-over-long variant generalizes the comparison from one bar to a window, smoothing the line and moving the natural threshold to 1.

The measure matters because volatility only reads correctly in context. A daily range that would be violent for a major currency pair is routine for a small-cap stock, so even a gauge such as [realized volatility](https://www.luxalgo.com/library/concept/realized-volatility/) needs the instrument's own history before a reading counts as high or low; the ratio builds that comparison in. It also quantifies the expansion and contraction cycle that discretionary traders track visually with [Bollinger Bands](https://www.luxalgo.com/library/concept/bollinger-bands/) or [Donchian Channels](https://www.luxalgo.com/library/concept/donchian-channels/): a ratio pinned below 1 for weeks is the same compression that [range expansion and contraction](https://www.luxalgo.com/library/concept/range-expansion-contraction/) frameworks treat as fuel for the next directional move.

## How to identify Volatility Ratio extremes on a chart

The ratio plots in its own pane, but each flagged reading corresponds to visible bars on price.

1. Add a volatility ratio to the chart: either today's true range against a 10-15 bar baseline (the Schwager style) or a short ATR divided by a long ATR.
2. Mark the spikes: with an average-true-range denominator, readings near 2 flag wide-range bars; on short-over-long versions, watch crossings of the 1 line.
3. Relate each flagged bar to its context, since a wide bar breaking out of a base reads differently from one at the end of an extended trend.
4. Note where the flagged bar closes within its range; the ratio measures size only, and the close supplies the directional hint.
5. Scan the quiet stretches too: a ratio holding far below its norm marks compression, the state that tools like the [TTM Squeeze](https://www.luxalgo.com/library/concept/ttm-squeeze/) formalize.

## How it's calculated

The volatility ratio compares the current bar's true range with the true range of the whole recent window, so high readings flag wide-ranging bars.

```
TR_t = max(H_t, C_(t-1)) - min(L_t, C_(t-1))
WTR_t = max(HH_t, C_(t-n)) - min(LL_t, C_(t-n))
VR_t = TR_t / WTR_t

  H_t: high of bar t
  L_t: low of bar t
  C_(t-1): close of the prior bar
  C_(t-n): close of the bar just before the n-bar window
  t: bar index
  n: window length (default 14)
  TR_t: true range of bar t
  HH_t: highest high of the last n bars including bar t
  LL_t: lowest low of the last n bars including bar t
  WTR_t: true range of the whole n-bar window treated as one bar
  VR_t: volatility ratio at bar t, 0 to 1
```

Jack Schwager introduced it to flag wide-ranging days; readings of about 0.5 or more mark a bar whose range is a large share of the whole window's range.

Because the window includes the current bar, VR stays between 0 and 1; n = 14 is the common charting default.

Variants under the same name divide the bar's TR by an n-bar average true range instead (expansion above about 1.5 to 2), or divide short-window return stdev by long-window stdev.

## How traders use it

- As an event-day flag: a high ratio marks wide-range bars that often coincide with news, breakouts, or capitulation, and such bars are commonly required as evidence that a move has real participation behind it.
- As a regime switch: the short-over-long version crossing above or below 1 is used to toggle between strategy modes, a simple cousin of fuller volatility regime classification.
- As a normalizer: because it is a ratio, the measure is comparable across symbols, which makes it useful in screens for markets leaving compression.
- As an exit adjuster: when the ratio runs hot, stops and targets planned against the quieter baseline are widened, often via [ATR bands](https://www.luxalgo.com/library/concept/atr-bands/), so the position is managed against current conditions.
- As confirmation for compression setups: a ratio turning up from multi-week lows supports a resolving [volatility contraction pattern](https://www.luxalgo.com/library/concept/volatility-contraction-pattern/), complementing width gauges such as [BandWidth](https://www.luxalgo.com/library/concept/bandwidth/).

## Volatility Ratio vs. related volatility measures

- **ATR** (https://www.luxalgo.com/library/concept/atr/): ATR averages true ranges into a price-denominated level: it says how large bars have been, in points. The volatility ratio divides current range by that kind of baseline, producing a dimensionless score of how unusual the present bar or window is.
- **BandWidth** (https://www.luxalgo.com/library/concept/bandwidth/): BandWidth tracks the spread of Bollinger Bands relative to their midline, a normalized level of standard-deviation volatility. It flags compression and expansion well, but it is a single reading rather than an explicit comparison of one horizon against another.
- **Volatility Percentile/rank** (https://www.luxalgo.com/library/concept/volatility-percentile-rank/): The percentile rank locates current volatility within its own history on a bounded 0-100 scale, which standardizes thresholds across markets. The ratio is unbounded and reacts harder to single event bars; the rank is steadier and easier to compare.

## FAQ

### What does a high volatility ratio mean?

That the latest bar or period was unusually large relative to its own recent baseline: an event day. Such days often accompany breakouts, news shocks, or exhaustion, but the ratio says nothing about direction, and follow-through is not assured. Most traders read it alongside where the bar closed within its range and the surrounding structure.

### Is there a standard formula for the volatility ratio?

No. Schwager's version divides today's true range by the true range of a trailing window, which platforms compute in slightly different ways, while other tools divide short-term volatility by long-term volatility. The scales and natural thresholds differ between versions, so check the documentation of the implementation you are using before comparing readings.

### What ratio value counts as a wide-ranging day?

With an average-true-range denominator, the commonly cited convention is a reading around 2, a bar roughly double the recent typical bar. Versions that divide by the full span of the trailing window run on a smaller scale and need lower cutoffs. It is a convention rather than a law, so most users calibrate against the symbol's own history.

### Is the volatility ratio a directional signal?

No. It is built entirely from range sizes and carries no information about direction. Practitioners pair it with the bar's close location, the surrounding structure, or a separate trend tool; the ratio's job is to say that something unusual happened, not which way it resolves.

### What lookbacks does the volatility ratio use?

Wide-ranging-day versions typically compare today's true range with roughly two to three weeks of history, while short-over-long versions pair a fast window with one several times longer, such as 5 against 20 bars. Longer baselines are steadier but slower to accept a new volatility level as normal.

### Does the volatility ratio work on intraday charts?

It computes anywhere, but intraday volatility follows a strong time-of-day pattern: opens and closes run hot while midsession is quiet, so a fixed threshold fires unevenly. Intraday users accept that bias, compare bars against the same time of day, or read the ratio on higher-timeframe bars.

## Implementations in the Library

- Volatility Ratio (LuxAlgo): https://www.luxalgo.com/library/indicator/volatility-ratio/

## Related concepts

- Volatility Estimators: https://www.luxalgo.com/library/concept/volatility-estimators/
- Close-to-close Historical Volatility: https://www.luxalgo.com/library/concept/close-to-close-historical-volatility/
- EWMA Volatility: https://www.luxalgo.com/library/concept/ewma-volatility/
- Parkinson Estimator: https://www.luxalgo.com/library/concept/parkinson-estimator/
- Garman-Klass Estimator: https://www.luxalgo.com/library/concept/garman-klass-estimator/
- Rogers-Satchell Estimator: https://www.luxalgo.com/library/concept/rogers-satchell-estimator/
- Yang-Zhang Estimator: https://www.luxalgo.com/library/concept/yang-zhang-estimator/
- Garman-Klass–Yang-Zhang Hybrid: https://www.luxalgo.com/library/concept/garman-klass-yang-zhang-hybrid/
- Jump Detection: https://www.luxalgo.com/library/concept/jump-detection/
- Volatility Signature Plot: https://www.luxalgo.com/library/concept/volatility-signature-plot/

---

Source: https://www.luxalgo.com/library/concept/volatility-ratio/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/