How it works
The volatility squeeze is not one indicator but a condition read from two envelopes at once. Bollinger Bands measure dispersion of closes using standard deviation; Keltner Channels measure typical movement using average true range. Standard deviation is more reactive than true range, so in normal conditions the Bollinger envelope is the wider of the two. When it contracts entirely inside the Keltner Channel, closing dispersion has fallen below typical bar range, and that is an objective, threshold-free definition of unusual compression.
The reason to care is the most durable empirical regularity in this whole family: volatility clusters and mean reverts far more reliably than price direction does. Quiet regimes are followed by active ones and vice versa, and unlike a price forecast this statement holds across asset classes and across decades. A squeeze therefore has genuine informational content about magnitude. It has none whatsoever about direction, and every workable squeeze method supplies direction from somewhere else, usually from the structure of the range that formed during the compression or from a momentum reading taken at the moment of release.
The trading sequence has three stages and confusing them is the usual reason the setup fails. First the squeeze forms, which is a state, not a signal, and it can persist for weeks. Second the squeeze fires, when the Bollinger envelope re-emerges outside the Keltner Channel, which says expansion has begun. Third, direction is confirmed by a break of the compression range or by whichever momentum tool the trader has chosen. Entering during stage one is the classic error: traders position early, get chopped by the false starts that compression regimes produce, and are out of the trade before the real move begins.
A simpler proxy for the same condition is a bandwidth reading at the low end of its own multi-month distribution, which avoids needing two indicators and generalises to any instrument. The two approaches agree most of the time. The Bollinger-inside-Keltner test is stricter and fires less often; the percentile approach is easier to screen with across a large universe. Because no single built-in study draws this composite, the chart on this page shows plain price, and the condition is read by placing both envelopes on it.
Calculation
The arithmetic in words, in the order it happens.
Compute Bollinger Bands with a 20-period simple moving average and a 2 standard deviation width. Compute Keltner Channels on the same 20-period basis with a width of 1.5 times a 20-period average true range. The squeeze is on whenever the upper Bollinger band is below the upper Keltner channel and the lower Bollinger band is above the lower Keltner channel, meaning the entire standard-deviation envelope sits inside the true-range channel. The squeeze fires on the first bar where that condition ceases to hold. The simpler percentile variant instead computes Bollinger BandWidth, the upper band minus the lower band divided by the middle band, and declares a squeeze whenever the current reading is in the bottom decile of its own values over a lookback of roughly six months.
Source
An AlgoBeamScript implementation of the formula above, written by us from the arithmetic so the code and the calculation agree line for line.
Runs unchanged on the platform and in the AlgoBeamTS runtime. The language reference is in the documentation.
Inputs
Defaults are the values most charting packages ship with. They are conventions, not optimal settings — the right length depends on your instrument and your holding period.
| Input | Default | What it changes |
|---|---|---|
| Bollinger length and deviations | 20 and 2.0 | The standard-deviation envelope. Raising the deviation multiplier makes the envelope wider and so makes the squeeze condition harder to satisfy, producing fewer and stronger signals. |
| Keltner length and ATR multiplier | 20 and 1.5 | The true-range channel. A tighter multiplier such as 1.0 demands extreme compression before a squeeze registers; 2.0 flags compression far more often and far less meaningfully. |
| Percentile lookback | 125 bars | Window against which current bandwidth is ranked in the simpler variant. Roughly six months of daily bars. Shorter windows call a squeeze during what is merely a quiet fortnight. |
| Direction filter | Range break | What supplies the missing directional read. A break of the compression range, a momentum oscillator sign, or a longer-term trend filter are the common choices, and the setup is incomplete without one. |
How to read it
What practitioners take from the plot. Read these as descriptions of market state, not as entry signals.
- Bollinger envelope entirely inside the Keltner channel
- The squeeze is on. A state to prepare for, not a trade. Reduce expectations of range and watch the boundaries of the compression.
- Bollinger bands re-emerging outside the channel
- The squeeze has fired and volatility is expanding. This is the timing signal, though it still carries no directional information.
- Release accompanied by a break of the compression range
- Expansion and direction agree. This is the complete setup that squeeze methods are actually trying to capture.
- Squeeze persisting for many weeks
- A deeply compressed market. The eventual move tends to be proportionate to the duration of the compression, but the timing remains unknowable.
- Release that immediately reverses
- A false start, common in compression regimes where both sides are probing. This is why the directional confirmation is required rather than optional.
Limitations
Where this indicator misleads. None of these are fixed by a better parameter.
- It predicts magnitude, never direction. Any squeeze method traded without an independent directional trigger is a straddle without the option structure that would make that bet pay.
- Compression can last far longer than a trader can sit still, and the setup produces repeated false starts before the real expansion, which is expensive for anyone entering during the squeeze itself.
- The specific thresholds, both the 1.5 ATR multiplier and any bandwidth percentile, are conventions rather than derived quantities, and results are noticeably sensitive to them.
- A scheduled catalyst such as an earnings release or a policy decision can produce an expansion that has nothing to do with the compression, so the apparent signal is often just a calendar effect.
Educational reference. This page explains how an indicator is built and how it is commonly read. It is not investment advice, not a recommendation and not a signal service. No indicator is profitable on its own — each is a way of describing a market, and any rule built on one has to be tested with realistic costs before it is traded.