These numbers verify that this implementation of standard deviation bands is achieving what it set out to do — that is, proportionally encapsulate price according to the configured standard deviation range. The numbers are not perfect, but are a big improvement on the baseline. So, we can hypothesize that these bands are conveying meaningful information that may be tradable. We’re also making good progress in tackling the issues highlighted earlier.
“Historical verification” (above) shows something just as interesting: how the oscillations in the width of the volatility bands, as a percentage of the mean, appear to correlate with historical volatility. To validate this assertion, we can review scatter charts of historical volatility against band width.
The requirements for calculating the volatility bands are simple:
• Any low-lag moving average
• A standard deviation calculation based on that moving average
The moving average used here is a lag-adjusted triple exponential moving average:
Function ZL_TEMA(TEMA1 As BarArray, Length, OffSet) As BarArray
Dim TEMA2 As BarArray
TEMA2 = TEMA(TEMA1, Length, OffSet)
Diff = TEMA1 - TEMA2
ZL_TEMA = MA_TEMA1 + Diff
Standard deviation is calculated using the following function:
Function StdDevPlus(Series As BarArray, SeriesMA As BarArray, Length As Integer) As Double
For i = 0 To Length -1
SumSquares = SumSquares + (Deviation(Series[i], SeriesMA[i])^2)
StdDevPlus = Sqr(SumSquares /(Length -1))
The next step is to see how these bands pan out in a hypothetical test.
Time for a test drive
So we have a seemingly interesting modification to the original Bollinger bands. Now we need to run some tests to see how it performs. Consider these proof-of-concept tests to see what the raw indicator can offer and how consistent it has been over time.
Based on the evidence from the earlier examination of the volatility bands there are two obvious approaches that could be used to apply this indicator:
1) Short or medium-term mean reversion: Buy or sell as price reaches extreme readings, as indicated by the bands.
2) Medium to long-term breakout: Buy or sell on breakouts from the price channel. (Codes and results for both strategies are online.)
These tests are conducted using the TradersStudio Portfolio backtester, a strong program in the domain of trading systems analysis and the development of integrated trade-management strategies. We’ll feed it with Pinnacle’s reverse-adjusted, continuously linked, historical futures data deducting $25 commission and $75 slippage for each trade to simulate transactional friction. Wide-ranging parameter optimization will not be performed.
Mean reverting strategy
Printouts of the distribution of price around the mean have shown a near normal distribution where the lowest probability price events occur as the tails of the bell curve narrow. Consequently, buying or selling at these extremes may be profitable. The simple strategy put together to test the idea buys or sells when the ratio of price to band width crosses above or below a fixed threshold with no stops. The absence of stops is sure to leave the strategy exposed to big losers when price trends instead of reversing. But this is not intended to be a tradable strategy, but rather to indicate whether further study is warranted.
We tested this on the major stock index futures (S&P 500, Dow, Nasdaq 100, Russell 2000), which are good benchmarks for mean reverting strategies. Testing runs from Jan. 2, 1997 to Jan. 12, 2010.
These results are encouraging (see “Reverting to profit,” above). A strategy of this type is not helped by being 100% invested, hence the high drawdown value. By applying coherent exit and risk controls, one should expect these results to improve.
The tight integration of price with bands might be utilized as a price channel for a breakout strategy. This test is intended to evaluate that concept. In this case, the strategy buys or sells as price breaks out above the highest or lowest band over a given channel length and is again 100% invested.
This time, we tested against a wider basket of commodities: crude oil, coffee, the euro, gold, copper, orange juice, natural gas, the Swiss franc, the 30-year Treasury bond and silver. The choice of data for this test has been an arbitrary selection of markets deemed conducive (or not) to channel breakout. Testing ran from Jan. 2, 1980 to Jan. 12, 2010 and produced a net profit of $953,311.45.
Based on this limited evidence, it would appear that breakouts are a good use case for the volatility bands (like Bollinger bands, but with different characteristics). However, sensitivity analysis would need to be undertaken to determine how robust the approach really is for this style of implementation. Again, this strategy should be supported by a solid exit and risk management framework.
Here we’ve highlighted a number of issues with classical Bollinger bands and shared one approach designed to address those problems. We have also seen how the technique could be used to signal reversion to the mean or to capture breakouts in price volatility. What we haven’t been able to do is construct a more complex strategy or combine the volatility bands with other complementary inputs. That may prove to be a fruitful line of further investigation.
David Rooke is an IT professional and independent trader and researcher based in Berkshire, United Kingdom. His primary focus is on modeling financial indexes and strategizing risk. Reach him at firstname.lastname@example.org