Concept
Volatility Percentile/rank
Volatility Percentile/rank, also known as HV rank, ATR percentile, is a Volatility concept. The Library holds 1 implementation, a working definition you can pull into Quant.
Top Volatility Percentile/rank indicator
The top custom implementation, built on the original standard Volatility Percentile/rank formula.
1 total
The Volatility Percentile/rank implementation below can become a backtested trading strategy — describe your rules and Quant writes the code.
What is Volatility Percentile/Rank?
Volatility percentile/rank normalizes a volatility measure against its own history. Take any gauge, such as ATR or close-to-close realized volatility, and ask where the current reading sits within a lookback window. The percentile version reports the share of past readings at or below today's; the rank version scales today's reading between the window's minimum and maximum. Both compress raw volatility onto a 0 to 100 scale that means the same thing on any symbol and any timeframe.
The construction is borrowed from the options world, where IV rank and IV percentile normalize implied volatility over the trailing year, and it is applied to realized measures for the same reason: a 2% daily range is sleepy for one instrument and violent for another, so absolute numbers do not travel. Low percentiles flag compression, which often precedes expansion but does not schedule it; high percentiles flag stress that has tended historically to subside, though it can persist.
The customary window of roughly 252 trading days, about one year, is inherited from IV rank practice, though any lookback works if applied consistently. The treatment fits whatever sits underneath: ATR gives an ATR percentile, historical volatility gives HV rank, and Bollinger BandWidth run through a percentile becomes a squeeze detector in its own right.
The transform earns its place because volatility cycles. Quiet and active phases alternate, as the ATR expansion/contraction cycle describes, and percentile framing says which phase the market is in relative to its own norm. That is the statistical backbone under discretionary compression setups: a Volatility Contraction Pattern or a Bollinger Squeeze is, in percentile terms, a market printing readings near the bottom of its historical range. What the percentile never supplies is direction; it locates conditions, not outcomes.
How to calculate volatility percentile and rank
Both statistics start from a volatility series and a lookback window.
- 1Pick the base gauge: ATR, close-to-close historical volatility, or a band-width measure, computed the same way on every bar.
- 2Pick the window: 252 daily bars (about one year) is conventional; shorter windows adapt faster but swing harder.
- 3Percentile: count how many readings in the window are at or below the current one, divide by the window size, and scale to 100.
- 4Rank: compute (current - minimum) / (maximum - minimum) × 100 across the same window.
- 5Plot the result on a fixed 0 to 100 scale with reference lines where your rules act, commonly near the extremes.
How it's calculated
Locates the current level of a volatility measure inside its own trailing distribution, from 0 (quietest) to 100 (most volatile).
Percentile counts how much of the window sits at or below the current value; rank uses only the window extremes, so a single spike depresses rank for as long as it stays in the window.
The same two formulas applied to implied volatility give IV rank and IV percentile.
Normalizing ATR by price (ATR / C) makes the ranking comparable across price levels.
How traders use it
- As a strategy gate: breakout systems often require a low volatility percentile (compression) before arming entries, while mean-reversion systems may trade only when the percentile is elevated, matching each edge to the regime it was built for.
- As a screener: because the scale is normalized, percentiles can be compared across an entire watchlist to surface the most compressed or most stressed markets at a glance.
- As a sizing input: volatility-targeted sizing and stop-width rules read normalized volatility to scale positions down when a market runs hot and up when it is quiet.
- As squeeze confluence: a low percentile agreeing with an indicator condition such as the TTM Squeeze, Bollinger Bands inside Keltner Channels, delivers the same message from two independent constructions.
- For research: bucketing backtest results by percentile at entry shows which regimes a strategy actually earns in, often revealing an edge that lives almost entirely in one end of the volatility distribution.
Volatility percentile vs neighboring tools
BandWidth: BandWidth reports the width of the Bollinger Bands normalized by the middle band, yet what counts as wide or narrow still differs across symbols and regimes. Percentile-ranking that width, or any other gauge, is exactly what this concept adds: location within history rather than a raw value.
TTM Squeeze: The squeeze is binary: compression is on when Bollinger Bands sit inside Keltner Channels and off otherwise. A percentile is continuous, grading compression and stress on one 0 to 100 scale rather than flagging a single condition.
ATR Expansion/contraction: Expansion/contraction reads the direction of volatility, rising or falling right now. Percentile reads position, high or low versus history. A market can be expanding off the 5th percentile or contracting from the 95th, and the two reads together say more than either alone.
Realized Volatility: Realized volatility is the raw input, quoted in annualized percent and hard to compare across very different instruments. The percentile transform is what makes it screenable across a mixed watchlist.
Concept family
Volatility
57 concepts mapped · 57 in the Library
Volatility Percentile/rank FAQ
Turn Volatility Percentile/rank into a trading strategy.
Take the implementation from this page into Quant, then build on it, backtest it on real data, and keep refining it in conversation.
