Backtesting a buy/sell strategy based on Bollinger bands
Bollinger bands are a statistical method, used for deriving information about the prices and volatility of a certain asset over time. To obtain the Bollinger bands, we need to calculate the moving average and standard deviation of the time series (prices), using a specified window (typically 20 days). Then, we set the upper/lower bands at K times (typically 2) the moving standard deviation above/below the moving average.
The interpretation of the bands is quite simple: the bands widen with an increase in volatility and contract with a decrease in volatility.
In this recipe, we build a simple trading strategy that uses Bollinger bands to identify underbought and oversold levels and then trade based on those areas. The rules of the strategy are as follows:
- Buy when the price crosses the lower Bollinger band upward.
- Sell (only if stocks are in possession) when the price crosses the upper Bollinger band...