Volatility Percentile/rank
Volatility percentile/rank normalizes a volatility measure against its own history. Volatility Percentile/rank, also known as HV rank, ATR percentile, is a Volatility concept. The Library holds 1 implementation, ready to run on Vela.
Top Volatility Percentile/rank indicator
The top custom implementation, built on the original standard Volatility Percentile/rank formula.
1 total
Open the Volatility Percentile/rank implementation below on Vela, then have Quant, our coding agent, turn it into a strategy you can backtest.
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.
Volatility Percentile/rank FAQ
Turn Volatility Percentile/rank into a trading strategy.
Open the implementation from this page in Vela. Quant, our coding agent, builds the strategy with you and backtests it on real data.
Browse this familyVolatility61 concepts mapped · 61 in the Library
- %B
- Acceleration Bands
- ATR
- ATR Bands
- ATR Expansion/contraction
- ATR-based Stop Distance
- Average Daily Range
- Band Walk
- BandWidth
- Bollinger Band Tag Reversion
- Bollinger Bands
- Bollinger Squeeze
- Chaikin Volatility
- Choppiness Index
- Close-to-close Historical Volatility
- Damiani Volatmeter
- Donchian Channels
- Donchian Width
- Double Bollinger Zones
- Envelope
- Event-driven Volatility
- EWMA Volatility
- Expected Move
- Fibonacci Bollinger Bands
- Gap-volatility Relation
- GARCH-family Clustering
- Garman-Klass Estimator
- Garman-Klass–Yang-Zhang Hybrid
- Jump Detection
- Kase Studies
- Keltner Channels
- Mass Index
- NR4/NR7 Narrow-range Bars
- Parkinson Estimator
- Projection Bands
- Range Expansion/contraction
- Realized Volatility
- Relative Volatility Index
- Rogers-Satchell Estimator
- Squeeze Release Direction
- Standard-deviation Channel Width
- STARC Bands
- SVE Bands
- The Range Indicator
- TTM Squeeze
- Ulcer Index
- Volatility Breakout
- Volatility Cones
- Volatility Contraction Pattern
- Volatility Estimators
- Volatility of Volatility
- Volatility Percentile/rank
- Volatility Ratio
- Volatility Regime Classification
- Volatility Signature Plot
- Volatility Switch
- Volatility Term Structure
- Waddah Attar Explosion
- Weekend/overnight Volatility Profile
- Williams VIX Fix
- Yang-Zhang Estimator
