WhitmanTrading

TTM Squeeze: Two Bands, One Inside the Other

The TTM squeeze marks periods when Bollinger Bands contract inside Keltner Channels, indicating unusually low volatility, and fires when they expand back outside. It is a comparison between two volatility measures, and the firing carries no directional information at all.

Covered on this page: TradingView.

How it works

Two band systems on one chart. Bollinger Bands sit two standard deviations either side of a moving average, so their width tracks statistical dispersion of closes. Keltner Channels sit a multiple of average true range either side, so their width tracks the size of bars including gaps.

When the Bollinger Bands contract inside the Keltner Channels, that is a squeeze. Most platforms mark it with a row of dots that change color.

What that condition means is precise and narrow: dispersion of closes has fallen relative to the size of recent bars. It is a ratio between two volatility measures. It is not a statement about buyers, sellers, pressure or accumulation.

The fire, and what it does not tell you

The squeeze “fires” when the Bollinger Bands expand back outside the Keltner Channels. That is volatility returning to normal.

It is directionless by construction. Both band systems widen when bars get bigger, regardless of which way price went. A fire tells you the quiet period ended and nothing else.

Which is why every version of this indicator ships with a histogram underneath. That histogram — a linear regression of price against its own recent average, in the common implementation — supplies the direction, and it is a completely separate calculation.

So the tool is two things presented as one. The squeeze answers “is volatility unusually low?” and the histogram answers “which way has price been leaning?” Reading them as a single signal hides that the second part is doing all of the directional work and carries all of the usual oscillator problems.

A chart for TTM squeeze - a price series, volume beneath, 1 marked level.
A squeeze can last for months and resolve either way. Illustrative chart - not real market data.

And the coiled-spring metaphor is not a mechanism. Low volatility does not store energy. Volatility clusters — quiet periods tend to follow quiet periods and violent ones follow violent ones — which means a squeeze is more likely to be followed by more squeeze than by a move, right up until it is not.

In practice

Count the settings: Bollinger period, Bollinger deviation multiple, Keltner period, Keltner range multiple, and the histogram’s own lookback. Five dials, and the squeeze condition depends on the ratio between two of them. Small changes to the multiples change how often a squeeze occurs by a lot.

Which means “the squeeze fired” is not a well-defined event across platforms. Two charts with different multiples disagree about whether a squeeze is happening at all.

Neither band system sees volume. A quiet period on collapsing participation and one on normal participation look identical here, and they are not the same situation.

On long timeframes squeezes are common and long. Weekly charts spend substantial periods in one, which is accurate — markets are often quiet — and is not a schedule of impending moves.

A gap ends a squeeze in one bar. True range includes the gap, so the Keltner Channels widen immediately — and the fire happens at a price nobody could have transacted at. On stocks, squeezes frequently compress into earnings, which makes this the common resolution rather than the exception.

One genuine advantage: the bands are price levels. Unlike an oscillator reading, a band edge is a number you can place a stop against, and during a squeeze those levels are close together, so the risk on a break is small and definable.

Each fired squeeze traded pays a round trip in spread and commission, and a squeeze that fires, fails and re-forms charges each time.

And nothing is compressed. The order book is not under tension. Two computed bands moved closer together on your screen.

What the TTM squeeze is not

It is not a momentum indicator. The squeeze part is volatility; the momentum part is a separate histogram.

It is not a directional signal. A fire is symmetric.

It is not a stored-energy mechanism. Volatility clustering is the real, documented behavior, and it says quiet begets quiet.

And it is not a fixed definition. The condition depends on the multiples chosen for two different band systems, and there is no standard set.

When it fails

The most common failure is the squeeze that stays squeezed. Weeks of dots, no resolution, and every day feels like the day before something happens. Capital committed to waiting for it has an opportunity cost nobody records.

The second failure is the false fire. Bands separate, a position goes on, volatility subsides, and the squeeze re-forms. That is one round trip paid for a move that did not happen.

A third is taking the histogram’s direction as independent confirmation. It is an oscillator computed from the same closes as everything else on the chart, and oscillators built from the same closes tend to rise and fall together.

A fourth is the gap resolution. On individual stocks the quiet period often ends on scheduled news, which means the fire and the move happen simultaneously and untradeably.

And a fifth is parameter drift between platforms. A strategy specified with one set of multiples produces different squeezes on a chart using another, and the difference is invisible unless you check the settings.

The original data

The efficiency ratio — net travel divided by total travel over a window — is the measure that bears on the squeeze’s core promise. A hypothetical ten-day stretch in which price rises $3 net while covering $10 of total movement scores 0.3: most of the travel went nowhere. Even the S&P 500, with its long upward drift, finished higher in only 59% of its ten-day windows since 1950.

TTM squeeze, drawn with price bars cut at the decision point, volume beneath, 1 marked level.
The squeeze just fired. Which way do you take it? Illustrative chart - not real market data.

That is why a fired squeeze promises less than it appears to. Where most travel goes nowhere, many resolutions of a quiet period lead into more chop rather than into a clean move. The measurement worth making on your own instrument is the distribution of squeeze durations and what followed each one — recorded before the outcome, including the ones that fired and re-formed. That count is not published anywhere for your market, it takes an afternoon, and it answers the only question the indicator raises.

Bollinger Bands is one half of the comparison. Keltner Channels is the other. And squeeze momentum indicator covers the widely used open-source implementation of the same idea.

What I actually do

The squeeze is the best-marketed indicator on a platform. The visual is excellent, since dots change color and something is clearly about to happen, and the thing about to happen is that volatility returns to normal, in a direction the indicator does not know.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money. Some links on this page earn a commission if you buy through them. It costs you nothing and it does not decide what appears here or in what order — how these pages are made is set out in our methodology.