In this article I’ll focus on one of those indicators that help us determine if we are in a trending or consolidating market, the Bollinger Band Squeeze.
I’ll recap the components of The Squeeze, describe the rationale behind the indicator, and present an approach you can use to develop a customized Squeeze trading indicator.
After reading, consider adding this indicator to help keep you from trading in choppy markets.
Components of The Squeeze
1) Bollinger Bands
Bollinger Bands is a trading indicator and are the first component and they measure the movement of closing prices around a moving average. The standard deviation of this movement is calculated and lines are plotted a fixed number of standard deviations above and below the moving average.
This is a very popular indicator and can be used in both breakout and fading strategies.
At its core the Bollinger Band indicator measures volatility of closing prices. The bands expand as volatility increases and contract as it decreases.
Typically the bands are drawn 2 standard deviations around the moving average, which means that statistically 95% of the closing prices are contained within the bands.
2) Keltner Channels
Keltner Channels are the second component and they are similar to Bollinger Bands in their appearance and usage. The average true range (ATR) of price bars is calculated and the channel lines are drawn a fixed number of ATR’s above and below a moving average of closing prices.
Because the ATR tends to remain fairly consistent, the Keltner Channel does not change much in size.
Similar to Bollinger Bands, the Keltner Channel can be used in both breakout and fading strategies. Typically the channel lines are drawn 1.5 ATR’s above and below the moving average, and the normal interpretation is that price is overbought or oversold as it approaches these lines.
An advantage of the Keltner Channel over Bollinger Bands is that it reacts more quickly to price changes, and as trends develop the channels begin sloping up or down with little lag.
Choppy Markets & The Squeeze
Whenever market volatility decreases, we see the Bollinger Bands tighten while the Keltner Channel remains relatively constant. As volatility continues to decrease the bands will eventually move inside the channel lines.
This means that, using the typical default values, 95% of the closing prices fall within 1.5 ATR’s of the moving average, and that is what constitutes a squeeze.
Here we see an hourly chart of the USDCHF.
- The Bollinger Bands are the solid lines
- The Keltner Channel the dotted lines.
- The rectangles highlight the areas where the bands are contained inside the channel.
Note that during these periods, price chops around in a narrow range until a breakout movement eventually ends the squeeze. If you are a day trader presented with this information you may decide to sit on the sidelines until the squeeze is over and you are no longer in a choppy market.
The squeeze can be applied to any instrument and any time frame.
Using the default values for the indicators (2 standard deviations, 1.5 ATR’s and a 20 period moving average) we get the results we see above. You can experiment with these values to suit your own views of what constitutes choppy periods, but the defaults are a great place to start.
Of course the squeeze is not the Holy Grail. It has two limitations.
- The first and more serious limitation is that it’s a lagging indicator. It will only tell you that you’re in a squeeze after the consolidation has already started, and it will tell you that the squeeze is over only after the breakout move has already taken place.
- The second limitation is that the squeeze is not a directional indicator. When the squeeze is over you it doesn’t tell you in which direction price will move, you’ll have to determine that from the price action itself or by combining the squeeze with other directional indicators. This is not much of an issue if you’re trading manually but does have an impact if you develop an automated strategy.
I have to remind you again; there is no such thing as the holy grail of trading.
Code Your Own Squeeze Trading Indicator
Although simple in concept, it can get a bit confusing staring at all these bands and channels on the chart, especially if you have other indicators plotted on your chart.
To help reduce the clutter you could develop a separate indicator for the squeeze and simply remove the Bollinger Bands and Keltner Channel from the chart.
Both indicators are symmetrical, meaning that the upper and lower bands or channel lines are the same distance from the moving average. That means that we can focus on only one side in developing our indicator. In our case we’ll just consider the upper lines.
The basic formulas we need are:
- Bollinger Band = Moving Average + (Number of standard deviations X Standard Deviation)
- Keltner Channel = Moving Average + (Number of ATR’s X ATR)
Or if we translate this into pseudo code:
- BBUpper = Avg(close,period) + (BBDevs X StdDev(close,period))
- KCUpper = Avg(close,period) + (KCDevs X ATR(period))
The squeeze is calculated by taking the difference between these two values:
- Squeeze = BBUpper – KCUpper
Which simplifies down to this:
- Squeeze = (BBDevs X StdDev(close,period)) – (KCDevs X ATR(period))
StdDev and ATR are basic functions included in all major charting applications (the names will vary by platform, just dig a little), while BBDevs (number of standard deviations), KCDevs (number of ATR’s) and period (length of the moving average) are your input values.
Whenever the Bollinger Bands are outside the Keltner Channel, the Squeeze indicator will give you a positive value; whenever they are inside the Keltner Channel, the Squeeze will give you a negative value.
Above is our original USDCHF chart with the Squeeze indicator added. I highlighted the areas where the Squeeze goes negative. Notice how they coincide with the Bollinger Bands moving inside the Keltner Channel on the price chart.
You may also consider displaying the Squeeze as a histogram instead of a line, which I find makes it easier to read which you can see below.
How to Squeeze Out the Market Chop
As I stated earlier, the Squeeze indicator is not a Holy Grail. It is instead one more tool for your trading arsenal to help you stay out of choppy trading periods.
Use it as a filter in conjunction with other indicators, or use it as one of several setup indicators.
You can apply it directly to the chart that you’re trading, but I have found it to be extremely effective when applied to a higher time frame chart.
For example, if you are day trading on a five minute chart, apply the Squeeze to an hourly or four hour chart and use that as your chop indicator. You will miss out on some winning trades, but consolidation on higher time frames typically yields very choppy trading on the lower time frame.
I also encourage you to develop your own custom squeeze indicator for your platform. It does make it easier for you to identify the squeeze and will clean up your main chart. Plus, once you’ve developed the code you can build on it, maybe reformulate it as an oscillator, or build on it to develop a simple trading system that will be uniquely your own.
Trading in choppy markets can be hazardous to your trading account. The faster you can determine this market state, the faster you can sit on your hands and preserve your trading capital.
Our free gift to you: Download the NPSqueeze Indicator