Bollinger Bands «Reversals»: Estimating the Effectiveness of the System
16 March 2022In the present article, we will talk about the John Bollinger’s indicator named Bollinger Bands.
This indicator was firstly described by Perry J. Kaufman in 1987 in the book titled “Commodity Trading Systems and Methods”. Later, the indicator became widespread thanks to John Bollinger. His book “Bollinger on Bollinger Bands” represents a detailed guidance of how to use it on its own as well as with other indicators.
In fact, Bollinger Bands (BB) can be used as a final trading signal.
John Bollinger suggests three trading methods in his book:
- Volatility breakout
- Following the trend
- Reversals
In this study, we will analyze the third trading option of Bollinger bands: reversals.
Events on the ‘’Reversals’’ Bollinger trading system influence the market trend direction.
The set of financial instruments and their timeframes for testing against a trading signal:
- 25 currency pairs (Forex);
- 6 commodity futures (Commodities);
- 2 US stock indices (US indices);
- 30 US stocks (US stocks);
- 58 RF stocks (RF stocks);
- 1 RF stock index (RF index).
Timeframes used:
- H1 (1 hour): the history covers a 5-year period,
- D1 (1 day): the history covers a 10-year period.
Total: 1,980,649 values.
Bollinger bands are made up of three lines (pic.1). An average band is a moving average. An upper band is also an average band moved upwards by a certain number of standard deviations (by two defaults). A lower band is an average band moved downwards by the same number of standard deviations.
The main rule when drawing Bollinger Bands is the following statement: about 5% of prices must be outside these bands and 95% inside.
Bollinger bands boundaries are positioned at distances which are equal to a certain number of standard deviations. As the value of a standard deviation depends on the volatility, bands regulate their own width. If there is a higher volatility in the market, for example, during news release, a band expands; when the market is calm, a band gets narrower.
To plot Bollinger Bands in a standard way, the following elements are used:
- A simple moving average with the N period averaging out the SMA closing price (N, Close);
- A standard deviation over the N period calculated by the StdDev closing price (N, Close).
A standard deviation represents a root-mean-square difference between closing prices and a moving average:
StdDev reflects the value of market noise. It increases when the instrument volatility gets higher.
The channel boundaries position is calculated as follows:
- The upper boundary:
BBup = SMA (N, Close) + D * StdDev
- The lower boundary:
BBdn = SMA (N, Close) – D * StdDev
D is an additional deviation coefficient aimed at adjusting the bandwidth; its standard constant: D = 2.
So, the bandwidth boundaries are shifted from the average band to the value exceeding the market noise value. Accordingly, most of the time price chart is within a given Bollinger bandwidth. The price approaches or goes beyond its boundaries in case of a strong movement.
The Bollinger Reversals strategy includes the Bollinger Bands (20, 0, 2) indicator or Percentage Bandwidths (%B). In addition, Accumulation/Distribution (AD) indicators or Moving Average Convergence/Divergence (MACD with 21, 100, 9 parameters) are also included.
Method for Event Detection
1. Buy if the Bollinger Bands %B indicator is below the 0.05 boundary and the AD indicator is positive:
- %B (i) < 0.05
- %B (i-1) > 0.05
- AD > 0
2. Sell if the Bollinger Bands %B indicator is above the 0.95 boundary and the AD indicator is negative:
- %B (i) > 0.95
- %B (i-1) < 0.95
- AD < 0
3. Buy if the Bollinger Bands %B indicator is below the 0.05 boundary and the MACD indicator is positive:
- %B (i) < 0.05
- %B (i-1) > 0.05
- MACD > 0
4. Sell if the Bollinger Bands % B indicator is above the 0.95 boundary and the MACD indicator is negative:
- %B (i) > 0.95
- %B (i-1) < 0.95
- MACD < 0
Now, let us stipulate the conditions of closing a trading position
Closing a position:
- In all conditions, the position lifetime is set to the 5th , 10th ,15th candlesticks.
- Autor’s options of closing positions:
Long position
- Option 1: High(i1) > BB(i1) and High(i1-1) < BB (i1-1)
- Option 2: %B (i2) > 0.95 and %B (i2-1) < 0.95
Short position
- Option 1: Low(i1) < BB(i1) and Low(i1-1) > BB (i1-1)
- Option 2: %B (i2) < 0.05 and %B (i2-1) > 0.05
Having determined all the conditions and set up the necessary parameters, we can start testing!
Analysis of the Results
Let us estimate the results based on the sample size.
The combination of reversal signals and the AD indicator
For the 1—hour timeframe (H1):
Market segment | Number of candlesticks | Number of events |
Forex | 655727 | 25326 |
Commodities | 115947 | 4362 |
US indices | 52779 | 1996 |
RF index | 11419 | 404 |
US stocks | 234486 | 8118 |
RF stocks | 612999 | 22850 |
Total | 1683357 | 63056 |
For the 1—day timeframe (D1):
Market segment | Number of candlesticks | Number of events |
Forex | 67473 | 2685 |
Commodities | 15451 | 581 |
US indices | 5451 | 178 |
RF index | 2517 | 78 |
US stocks | 71598 | 2486 |
RF stocks | 134802 | 4972 |
Total | 297292 | 10980 |
The combination of reversal signals and the MACD indicator
For the 1—hour timeframe (H1):
Market segment | Number of candlesticks | Number of events |
Forex | 655727 | 21664 |
Commodities | 115947 | 3822 |
US indices | 52779 | 1756 |
RF index | 11419 | 334 |
US stocks | 234486 | 7118 |
RF stocks | 612999 | 18663 |
Total | 1683357 | 53357 |
For the 1—day timeframe (D1):
Market segment | Number of candlesticks | Number of events |
Forex | 67473 | 2742 |
Commodities | 15451 | 552 |
US indices | 5451 | 223 |
RF index | 2517 | 84 |
US stocks | 71598 | 2565 |
RF stocks | 134802 | 5048 |
Total | 297292 | 11214 |
Then, we will see the share of events in % in the total number of initial candlesticks on the basis of timeframes:
For the 1—hour timeframe (H1):
Indicator | Forex | Commodities | US indices | RF index | US stocks | RF stocks |
AD | 3.9 | 3.8 | 3.8 | 3.5 | 3.5 | 3.7 |
MACD | 3.3 | 3.3 | 3.3 | 2.9 | 3.0 | 3.0 |
For the 1—day timeframe (D1):
Indicator | Forex | Commodities | US indices | RF index | US stocks | RF stocks |
AD | 4.0 | 3.8 | 3.3 | 3.1 | 3.5 | 3.7 |
MACD | 4.1 | 3.6 | 4.1 | 3.3 | 3.6 | 3.7 |
Next what we analyze the results of handled Bollinger reversal signals.
We will assess the results with two criteria:
- Momentum (m) reflects the average change in quotes of financial instruments when closing a position, in %. A positive momentum indicates the profitability of the handled signal, a negative value indicates a loss.
- SPP, the share of profitable position, %.
Let us review the results in terms of holding positions, timeframes, indicators, and market segments.
Let us take the following notations:
«H1 / 5»: сlosing the 5th candlestick position when setting the hourly timeframe;
«H1 / 10»: closing the 10th candlestick position when setting the hourly timeframe;
«H1 / 15»: closing the 15th candlestick position when setting the hourly timeframe;
«D1 / 5»: closing the 5th candlestick position when setting the daily timeframe;
«D1 / 10»: closing the 10th candlestick position when setting the daily timeframe;
«D1 / 15»: closing the 15th candlestick position when setting the daily timeframe;
«ВВ»: closing a position when touching the opposite Bollinger bands price;
«%В»: closing a position when a percentage bandwidth (%В) crosses the opposite level;
SPP, the share of profitable positions, %;
AD, the Accumulation/Distribution indicator;
MACD, the Moving Average Convergence/Divergence indicator.
Volatility coefficient:
- for the daily timeframe: the ratio of the average volatility of 5 candlesticks after opening a position to the average volatility of 20 candlesticks before opening a position.
- for the hourly timeframe: the ratio of average volatility of 5 candlesticks after the opening a position to the average volatility of the same hours in the preceding 4 days.
The volatility with the coefficient more than 1 implies the higher volatility after the signal compared with the volatility before the signal; if the coefficient is less than 1, this is the opposite.
The combination of reversal signals and the AD indicator
The Number of reversal signals, the Momentum, the Share of profitable positions, and the Volatility coefficient in terms of holding positions, timeframes, and market segments
AD | Indicator | Forex | Commodities | US indices | RF index | US stocks | RF stocks | All |
Н1/5 | Number of signals | 25326 | 4362 | 1996 | 404 | 8118 | 22850 | 63056 |
Momentum | 0.006 | -0.018 | -0.006 | -0.018 | 0.022 | 0.041 | 0.025 | |
SPP | 51.7 | 48.3 | 54.1 | 50.5 | 51.7 | 51.5 | 51.4 | |
Volatility coefficient | 1.06 | 1.04 | 1.18 | 1.10 | 1.20 | 1.15 | 1.14 | |
Н1/10 | Number of signals | 25322 | 4361 | 1996 | 404 | 8115 | 22844 | 63042 |
Momentum | 0.005 | -0.022 | 0.005 | 0.064 | 0.115 | 0.049 | 0.052 | |
SPP | 51.5 | 48.6 | 54.6 | 55.5 | 54.9 | 51.8 | 52.4 | |
Volatility coefficient | 1.06 | 1.04 | 1.18 | 1.10 | 1.20 | 1.15 | 1.14 | |
Н1/15 | Number of signals | 25317 | 4360 | 1996 | 404 | 8105 | 22842 | 63024 |
Momentum | 0.005 | -0.015 | 0.027 | 0.111 | 0.111 | 0.066 | 0.060 | |
SPP | 51.1 | 49.2 | 53.6 | 54.7 | 54.1 | 52.2 | 52.3 | |
Volatility coefficient | 1.06 | 1.04 | 1.18 | 1.10 | 1.20 | 1.15 | 1.14 | |
H1/BB | Number of signals | 25274 | 4346 | 1996 | 404 | 8096 | 22779 | 62895 |
Momentum | 0.025 | -0.032 | 0.038 | 0.342 | 0.395 | 0.240 | 0.218 | |
SPP | 63.4 | 61.8 | 67.4 | 72.8 | 69.1 | 65.5 | 65.9 | |
Volatility coefficient | 1.06 | 1.04 | 1.18 | 1.10 | 1.20 | 1.15 | 1.14 | |
H1/%B | Number of signals | 25250 | 4346 | 1996 | 404 | 8096 | 22775 | 62867 |
Momentum | 0.033 | -0.050 | 0.061 | 0.338 | 0.418 | 0.371 | 0.287 | |
SPP | 64.0 | 62.4 | 69.8 | 72.8 | 69.9 | 67.5 | 67.2 | |
Volatility coefficient | 1.06 | 1.04 | 1.18 | 1.10 | 1.20 | 1.15 | 1.14 |
AD | Indicator | Forex | Commodities | US indices | RF index | US stocks | RF stocks | All |
D1/5 | Number of signals | 2685 | 581 | 178 | 78 | 2486 | 4972 | 10980 |
Momentum | 0.051 | -0.222 | 0.063 | -0.172 | 0.276 | 0.190 | 0.157 | |
SPP | 52.1 | 46.4 | 58.4 | 53.9 | 56.3 | 50.6 | 52.2 | |
Volatility coefficient | 1.01 | 1.01 | 1.08 | 0.99 | 1.00 | 0.99 | 1.00 | |
D1/10 | Number of signals | 2680 | 581 | 178 | 78 | 2483 | 4961 | 10961 |
Momentum | 0.012 | -0.236 | 0.160 | -0.352 | 0.385 | 0.277 | 0.217 | |
SPP | 49.4 | 46.2 | 59.5 | 51.3 | 56.9 | 49.7 | 51.4 | |
Volatility coefficient | 1.01 | 1.01 | 1.08 | 0.99 | 1.00 | 0.99 | 1.00 | |
D1/15 | Number of signals | 2677 | 579 | 178 | 78 | 2473 | 4954 | 10939 |
Momentum | 0.011 | -0.475 | 0.263 | -0.266 | 0.460 | 0.455 | 0.310 | |
SPP | 49.5 | 46.8 | 63.6 | 52.6 | 56.8 | 50.6 | 51.9 | |
Volatility coefficient | 1.01 | 1.00 | 1.08 | 0.99 | 1.00 | 0.99 | 1.00 | |
D1/BB | Number of signals | 2644 | 575 | 176 | 78 | 2462 | 4911 | 10846 |
Momentum | 0.165 | -1.125 | 0.559 | 0.510 | 0.948 | -0.263 | 0.100 | |
SPP | 68.4 | 63.6 | 78.3 | 61.5 | 74.5 | 64.0 | 67.7 | |
Volatility coefficient | 1.01 | 1.00 | 1.08 | 0.99 | 1.00 | 0.99 | 1.00 | |
D1/%B | Number of signals | 2608 | 570 | 178 | 78 | 2459 | 4872 | 10765 |
Momentum | 0.165 | -1.564 | 0.286 | 0.312 | 1.389 | 0.651 | 0.615 | |
SPP | 49.9 | 45.5 | 64.7 | 55.1 | 59.9 | 50.3 | 52.6 | |
Volatility coefficient | 1.01 | 1.00 | 1.08 | 0.99 | 1.00 | 0.99 | 1.00 |
The combination of reversal signals and the MACD indicator
The Number of reversal signals, the Momentum, the Share of profitable positions, and the Volatility coefficient in terms of holding positions, timeframes, and market segments
MACD | Indicator | Forex | Commodities | US indices | RF index | US stocks | RF stocks | All |
Н1/5 | Number of signals | 21664 | 3822 | 1756 | 334 | 7118 | 18663 | 53357 |
Momentum | 0.001 | -0.037 | -0.012 | 0.008 | -0.006 | 0.080 | 0.035 | |
SPP | 51.6 | 49.1 | 50.2 | 47.9 | 50.5 | 53.2 | 51.9 | |
Volatility coefficient | 1.02 | 1.04 | 1.00 | 1.02 | 1.07 | 1.11 | 1.08 | |
Н1/10 | Number of signals | 21660 | 3821 | 1756 | 334 | 7114 | 18654 | 53339 |
Momentum | 0.008 | -0.044 | 0.011 | 0.021 | 0.030 | 0.063 | 0.037 | |
SPP | 51.6 | 48.3 | 51.8 | 50.3 | 52.0 | 52.6 | 52.0 | |
Volatility coefficient | 1.02 | 1.04 | 1.00 | 1.02 | 1.07 | 1.11 | 1.08 | |
Н1/15 | Number of signals | 21658 | 3818 | 1756 | 334 | 7104 | 18648 | 53318 |
Momentum | 0.010 | -0.016 | 0.008 | -0.042 | 0.029 | 0.071 | 0.042 | |
SPP | 51.0 | 49.1 | 50.6 | 47.6 | 51.6 | 52.8 | 51.9 | |
Volatility coefficient | 1.02 | 1.04 | 1.00 | 1.02 | 1.07 | 1.11 | 1.08 | |
H1/BB | Number of signals | 21645 | 3811 | 1756 | 334 | 7063 | 18594 | 53203 |
Momentum | 0.016 | 0.022 | 0.018 | -0.112 | 0.166 | 0.089 | 0.087 | |
SPP | 63.5 | 61.4 | 64.8 | 60.5 | 65.8 | 64.7 | 64.5 | |
Volatility coefficient | 1.02 | 1.04 | 1.00 | 1.02 | 1.07 | 1.12 | 1.08 | |
H1/%B | Number of signals | 21633 | 3811 | 1756 | 334 | 7062 | 18578 | 53174 |
Momentum | 0.026 | -0.009 | 0.039 | -0.068 | 0.158 | 0.156 | 0.118 | |
SPP | 64,1 | 62,3 | 66.5 | 62.9 | 66.5 | 66.4 | 65.7 | |
Volatility coefficient | 1,02 | 1,04 | 1.00 | 1.02 | 1.07 | 1.12 | 1.08 |
MACD | Indicator | Forex | Commodities | US indices | RF index | US stocks | RF stocks | All |
D1/5 | Number of signals | 2742 | 552 | 223 | 84 | 2565 | 5048 | 11214 |
Momentum | 0.033 | -0.379 | -0.176 | -0.466 | 0.022 | 0.288 | 0.124 | |
SPP | 51.8 | 45.3 | 51.6 | 44.1 | 52.0 | 51.3 | 51.2 | |
Volatility coefficient | 1.01 | 0.99 | 1.01 | 0.96 | 0.99 | 0.99 | 1.00 | |
D1/10 | Number of signals | 2741 | 552 | 223 | 84 | 2565 | 5035 | 11200 |
Momentum | 0.018 | -0.635 | -0.557 | -1.027 | 0.025 | 0.443 | 0.172 | |
SPP | 49.4 | 43.4 | 46.2 | 44.1 | 52.6 | 50.7 | 50.4 | |
Volatility coefficient | 1.01 | 0.99 | 1.01 | 0.96 | 0.99 | 0.99 | 1.00 | |
D1/15 | Number of signals | 2740 | 551 | 223 | 84 | 2559 | 5029 | 11186 |
Momentum | -0.005 | -0.969 | -0.561 | -1.351 | 0.021 | 0.509 | 0.178 | |
SPP | 48.9 | 44.0 | 50.7 | 40.5 | 51.8 | 50.3 | 50.0 | |
Volatility coefficient | 1.01 | 0.99 | 1.01 | 0.96 | 0.99 | 0.99 | 1.00 | |
D1/BB | Number of signals | 2729 | 546 | 221 | 84 | 2545 | 4987 | 11112 |
Momentum | 0.050 | -0.630 | 0.026 | -0.271 | 0.207 | -0.271 | -0.100 | |
SPP | 68.0 | 65.7 | 69.7 | 53.6 | 68.8 | 64.3 | 66.3 | |
Volatility coefficient | 1.01 | 0.99 | 1.01 | 0.96 | 1.00 | 0.99 | 1.00 | |
D1/%B | Number of signals | 2705 | 538 | 223 | 84 | 2543 | 4904 | 10997 |
Momentum | 0.042 | -1.429 | -1.274 | -1.605 | 0.097 | 0.790 | 0.304 | |
SPP | 48.7 | 42.3 | 48.9 | 42.9 | 52.0 | 51.2 | 50.4 | |
Volatility coefficient | 1.01 | 0.99 | 1.01 | 0.96 | 0.99 | 0.99 | 1.00 |
Summing up all the results with the following diagrams:
Momentum
The highest momentums of 0.615% and 0.287% are being observed with the Bollinger bands reversal signals on daily and hourly timeframes combined with the Accumulation/Distribution (AD) indicator when closing a position by percentage bandwidths (%В).
The combination with the Moving Average Convergence/Divergence (MACD) gives the results as follows: 0.304% and 0.118% respectively.
The lowest momentum of -0.100% is being observed with the signals combined with the MACD on the daily timeframe when closing a position by touching the opposite to the Bollinger band opening.
In general, the momentums of Bollinger reversal signals and author's market exits exceed the modular minimally significant value of 0.3% on the daily timeframe and the 0.15% modular value on the hourly timeframe.
A combination of Bollinger Bands %B and the Accumulation/Distribution (AD) indicator is more effective.
SPP
The share of profitable positions with the signals on the hourly timeframe ranges between 51.4% and 67.2%; between 50.0% and 67.7% on the daily timeframe.
Volatility
After signals have being handled, the volatility increases by more than 5% on the hourly timeframe; the volatility remains unchanged on the daily timeframe.
The effectiveness of the “Reversals” Bollinger trading system aimed at market forecasting has been confirmed.
Detailed results are shown in the Appendix:
Comments
4