Bollinger Band squeeze: does the breakout hold up in a test?
A Bollinger Band squeeze marks unusually low volatility that usually expands afterwards, but it does not say which way. After commission, slippage and false breakouts, the breakout trade is far weaker than the chart suggests, so define the squeeze, the entry and the exit before the first run and judge the rule on out-of-sample trades after costs.
By Soren Huang · Published · updated · Editorial policy
Contents
- Does a Bollinger Band squeeze reliably lead to a profitable breakout?
- How do you measure bandwidth?
- How do you tell a squeeze from normal quiet trading?
- How do you read the direction of the breakout after a squeeze?
- How often do squeeze breakouts fail?
- What does a futures backtest of a volatility breakout show?
- How should you test a Bollinger squeeze strategy yourself?
- Frequently asked questions
- References
Does a Bollinger Band squeeze reliably lead to a profitable breakout?
A Bollinger Band squeeze does not reliably lead to a profitable breakout. It marks a stretch of unusually low volatility that usually expands afterwards, but it says nothing about direction, and once commission, slippage and false breakouts are counted, the breakout trade is far weaker than the chart makes it look.
A Bollinger Band squeeze is a stretch where the upper and lower Bollinger Bands move unusually close together because recent prices have barely moved. Think of a calm sea before a storm. The calm tells you that weather is coming. It does not tell you from which side the wind will blow. The squeeze works the same way: the part that is true (volatility tends to return) is the part that earns nothing on its own, because you still have to pick a side.
One claim runs through this article: volatility expansion after a squeeze is a real pattern, but it is not a tradable rule until you add a direction, an exit and costs, and each of those three steps removes a large part of what the chart seemed to promise. The squeeze is one of the volatility tools covered in the guide to technical analysis tools and which ones you can test; the breakout use of the bands is the opposite of the band-touch mean-reversion rule tested in the Bollinger Bands strategy backtest, and the two should never be mixed in one rule set.
How do you measure bandwidth?
Bandwidth is the distance between the upper and lower band divided by the middle band, which turns the width of the bands into a percentage you can compare across time and across markets with different price levels. The bandwidth indicator is the line most charting platforms plot below the price when you ask for Bollinger bandwidth.
The only formula in this article:
bandwidth = (upper band − lower band) ÷ middle band
Here the upper band and lower band are the two outer lines, usually two standard deviations above and below the moving average, and the middle band is that moving average itself, usually of the last 20 bars. Standard deviation is a measure of how far recent prices have typically strayed from their average. When prices barely move, the standard deviation falls, the outer bands move toward the middle, and bandwidth falls with them.
Hypothetical example
On a daily chart the upper band sits at 5,120, the lower band at 5,020 and the middle band at 5,070. Bandwidth is (5,120 − 5,020) ÷ 5,070 = 100 ÷ 5,070 ≈ 0.020, or about 2 percent. A month earlier the bands were 400 points apart around a middle of 5,000, so bandwidth was 0.08. The same 2 percent reading on a market that trades at 2,000 would mean bands only 40 points apart, which is why the raw point distance cannot be compared between markets but the percentage can.
Dividing by the middle band matters for a futures trader because one rule is often tested on several contracts. A rule written as "bands less than 60 points apart" fires every week on a cheap contract and never on an expensive one. A rule written as "bandwidth below 0.02" at least measures the same thing on both, although the next section shows that even a fixed percentage is not enough.
How do you tell a squeeze from normal quiet trading?
A squeeze is defined relative to the market's own recent history, for example bandwidth at its lowest value in the last 125 bars or below a chosen percentile, because a fixed bandwidth level means different things on ES, gold and TAIEX futures. Quiet trading is normal most of the time; a squeeze is quiet trading that is unusual for that market in that period.
There are three common ways to write the definition. A percentile is the share of past readings that sit below the current one, so "below the 20th percentile" means bandwidth is lower than it was on four out of five past bars in the lookback.
| Squeeze definition | Adapts to the market's own volatility | Signals per year on daily bars | Main pitfall |
|---|---|---|---|
| Lowest bandwidth in the last N bars (example: 125) | Yes, fully | Many | Late in long calm stretches: each new low re-arms the signal, so several "squeezes" appear in a row |
| Bandwidth below a percentile of its history (example: 20th) | Yes | Some | Needs a long history before the percentile is stable; the first year of data gives unreliable readings |
| Bandwidth below a fixed level (example: 0.03) | No | Unstable | Breaks when moving between markets: constant signals on a slow contract, almost none on a fast one |
The 125-bar lookback is about six months of daily bars, which is a common starting point because it usually spans at least one quiet and one busy stretch. Whatever lookback you choose, write it down before the first run. The lookback is a tuned parameter like any other, and a squeeze rule that only works at 125 bars and fails at 100 and 150 is describing noise in one history, not a repeatable pattern.
A fourth definition compares the Bollinger Bands with a Keltner channel and calls it a squeeze when the Bollinger Bands sit inside the Keltner channel. That version, its exit logic and what a test of it shows are covered in the article on the TTM Squeeze and whether its Bollinger-Keltner breakout survives a backtest. The direction and false-breakout problems below apply to it in exactly the same way.
How do you read the direction of the breakout after a squeeze?
The squeeze itself has no direction, so the only honest entry is the first close outside a band after the squeeze, optionally confirmed by a trend filter or the position of price against the middle band, and the test must let both long and short cases count. Any rule that "knows" the direction during the squeeze is reading the chart with the right edge already visible.
This is the point where many hand-drawn squeeze examples cheat without meaning to. On a finished chart the breakout is obvious, so the eye picks the squeeze that preceded an upward move and remembers it as "a bullish squeeze". At the time of the squeeze, the picture for an upward and a downward resolution is identical.
Three ways to write the direction rule, in increasing order of restriction:
- Pure breakout. After a squeeze, go long on the first close above the upper band and short on the first close below the lower band. No filter. This is the baseline every other version must beat after costs.
- Middle-band position. Take the breakout only in the direction price already sits relative to the middle band during the squeeze: a close above the middle band allows the long, below it allows the short. Fewer trades, and the squeeze is no longer symmetric.
- Trend filter. Take only breakouts in the direction of a longer moving average, for example the 200-bar average. Fewer trades again, and the rule now depends on two lookbacks instead of one.
Test the long side and the short side as separate rows in the report. Index futures have a long upward drift over most ten-year windows, so a squeeze rule that only takes longs can look good for a reason that has nothing to do with the squeeze. If the short side loses money in every version, the squeeze is not adding information; the drift is.
How often do squeeze breakouts fail?
A false breakout is a close outside a band that returns inside within a few bars, often in the opposite direction of the eventual move, and counting these on your own data is the first number that decides whether a squeeze rule can pay its costs. The count is specific to the market, the bar size and the squeeze definition, so a figure from someone else's chart is not yours.
On the entry bar, a true breakout and a false breakout look the same: a close outside a band after a squeeze. Only the next few bars separate them. That is why a squeeze rule always pays for its false breakouts in full. By the time you know the breakout failed, you have already paid the entry, the slippage and the distance back to the stop.
Counting false breakouts is a mechanical job, the same way a backtest of bullish and bearish candlestick patterns turns a visual pattern into a rule and counts its outcomes:
- Mark every squeeze with the definition from the previous section.
- Mark the first close outside a band after each squeeze. That is one breakout event.
- Define "failed" in advance. A common choice: a close back inside the band within three bars of the entry.
- Record, for each event, whether it failed, how far price moved against the entry before the exit (in ticks), and how far it moved in favor.
- Convert ticks to money for your contract with the free futures contract calculator, then add commission and slippage per round trip.
Hypothetical example
Two years of daily bars produce 60 squeeze breakouts. 26 of them close back inside the band within three bars and are counted as failed; 34 keep going. The failed ones lose an average of 12 points each from entry to stop. The successful ones gain an average of 24 points each from entry to the middle-band exit. Gross result: 34 × 24 − 26 × 12 = 816 − 312 = 504 points over 60 trades, or 8.4 points per trade before costs. If the round-trip cost per trade is equal to 2 points, the net is 6.4 points per trade. Raise the false-breakout count to 32 out of 60 and the gross drops to 28 × 24 − 32 × 12 = 288 points, or 4.8 points per trade, with costs then taking almost half of it. The whole result turns on how many breakouts fail, which is why that count comes first.
Two things in the example are typical of real squeeze tests. First, the failure rate is high, usually between a third and a half of all events, because the squeeze attracts stop orders on both sides and the first push often clears one side before the real move goes the other way. Second, the result is sensitive to the failure rate, so a rule that looks fine on one market can be a loser on the next with only a small change in how often the first push fails.
What does a futures backtest of a volatility breakout show?
The ES daily run behind this article uses a stand-in volatility rule, kept as one candidate out of a little over a thousand that the search tried, for its return against its drawdown, and its numbers show how a selected result must be read as flattered rather than as what a squeeze rule earns. The run tested a Tail Heaviness Index rule as its only entry and exit, with no stop, no target and no filters, which is a stand-in built from standard indicators and not a Bollinger squeeze rule itself.
Source: AlphaPrime product engine (CPU), run 2026-10-31. ES daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $25 slippage per trade.
| Number | Result |
|---|---|
| Net profit (closed trades) | $97,520 |
| Max drawdown | $14,180 |
| Trades | 174 |
| Win rate | 54.6% |
| Profit factor | 1.833 |
| Average trade | $560.46 |
| Time in market | 16.77% |
Read the table the way a buyer reads a used-car advertisement. AlphaPrime (Valynox) tried a little over a thousand candidates on the same ES daily bars from 2019-01-02 to 2025-06-30 and kept this one because its return against its drawdown was the best of the group. Picking the kept candidate after the fact flatters it: among a thousand rules tried on one history, the top one will carry a bonus that is partly luck, even when nothing about it is wrong. Bailey, Borwein, López de Prado and Zhu (2014) show how large this bonus becomes as the number of tries grows, and Sullivan, Timmermann and White (1999) found the same effect when they re-tested a large set of technical rules against the full set of rules that could have been chosen. The $97,520 net profit and the $14,180 maximum drawdown are therefore the best case the search could find, not what the rule, the indicator or a reader should expect.
Three numbers in the table are still useful to a squeeze trader, because a squeeze rule shares the shape of this run. Time in market was 16.77 percent: the rule was flat most of the time, which is exactly what a squeeze rule does, since squeezes are rare by definition. There were 174 trades over about six and a half years, roughly 27 a year, so a single bad year of false breakouts can move the whole result. And the average trade of $560.46 is about twelve times the $45 round-trip cost of $20 commission plus $25 slippage, which is the kind of margin a daily-bar rule needs; an intraday squeeze rule with an average trade of a few ticks would not have that cushion.
How should you test a Bollinger squeeze strategy yourself?
Write the bandwidth lookback, the squeeze threshold, the entry, the exit and the cost settings before the first run, then judge the rule on completed out-of-sample trades after costs instead of on how clean the squeeze looks on a chart. Every choice made after seeing results becomes part of the tuning and takes the out-of-sample period with it.
- Choose the band settings and the bandwidth lookback. Start with the standard 20-bar average and two standard deviations, and a 125-bar lookback for the squeeze. Write them down.
- Write the squeeze rule. Pick one of the three definitions from the table above. "Lowest bandwidth in 125 bars" is the simplest to check by hand.
- Entry on the first close outside a band after the squeeze, long or short, with no direction filter in the first version.
- Exit. Either a return to the middle band or a fixed number of bars, for example ten. Add a stop below (or above) the squeeze range so a false breakout has a known cost.
- Commission and slippage with next-bar execution. A signal read on the close is filled on the next bar's open, with at least one tick of slippage per side on a liquid future and more on a slow one.
- Judge on out-of-sample trades after costs. Split the history by date as described in in-sample vs out-of-sample: how to split and how much is enough, count the completed trades on the unseen side, and compare the average trade to the round-trip cost.
When the out-of-sample result is weak, the temptation is to move the lookback from 125 to 100 and run again. That is the side arrow in the figure: a changed setting is a new candidate, and the number of candidates you have tried is the number that decides how much of the best result is luck. Brock, Lakonishok and LeBaron (1992) tested simple technical rules on nearly a century of index data and spent much of their paper on this exact point, which is that a rule looks different once you account for all the rules you could have chosen. Setting the pass and fail thresholds in strategy validation before the squeeze search starts means the walk-forward and out-of-sample verdict on each candidate comes from a rule you wrote in advance, not from how the equity curve looked afterwards.
A first thing to do today: load two years of daily bars for the contract you trade, mark every squeeze by the lowest-bandwidth-in-125-bars rule, and count how many of the first closes outside a band are back inside within three bars. If that count is more than half, the squeeze on that market is mostly a stop-hunting pattern, and the breakout version will have trouble paying its costs under any exit.
Frequently asked questions
How do you identify a Bollinger Band squeeze?
Compute bandwidth as the upper band minus the lower band, divided by the middle band. Then compare today's bandwidth with the market's own recent history, for example the lowest value in the last 125 bars or a reading below the 20th percentile of the last year. A squeeze is quiet trading that is unusual for that market in that period, not a fixed level that applies to every contract.
Which direction does price break after a squeeze?
The squeeze itself does not say. At the moment of the squeeze, the chart looks the same whether the following move goes up or down. The only honest signal is the first close outside a band after the squeeze: above the upper band for a long, below the lower band for a short. A filter such as the position of price against the middle band can reduce trades, but it should be tested, not assumed.
Do squeeze breakouts fail often?
On most futures markets a large share of squeeze breakouts close back inside the band within a few bars, often between a third and a half of all events. The exact rate depends on the market, the bar size and the squeeze definition, so count it on your own data. The failure rate is the number that decides whether the rule can pay its commission and slippage.
Is the Bollinger squeeze the same as the TTM Squeeze?
No. The Bollinger squeeze compares the bands with their own history through bandwidth. The TTM Squeeze compares the Bollinger Bands with a Keltner channel and fires when the Bollinger Bands move inside the Keltner channel. Both describe low volatility and both share the same direction and false-breakout problems when traded as a breakout.
What bandwidth value counts as a squeeze?
There is no single value. Bandwidth of 0.03 can be a deep squeeze on a fast contract and normal trading on a slow one. Define the squeeze relative to the market's own recent bandwidth history, and write the lookback down before testing so it is not tuned after the fact.
References
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
- Brock, W., Lakonishok, J., & LeBaron, B. (1992). Simple Technical Trading Rules and the Stochastic Properties of Stock Returns. The Journal of Finance, 47(5), 1731–1764.

