This article shows an example of a short volatility strategy developed with DLPAL S. The strategy incorporates a contango filter and is validated on strictly positively correlated securities.
Based on our analysis, short volatility strategies face extreme tail risk and for this reason we do not recommend them although we are often asked whether we can provide signals for trading volatility ETFs, such as XIV, ZIV and VXX.
One problem with developing ETF volatility trading strategies is the relatively short history of these products. For example, XIV inception date is 11/29/2010. This short history does not include important market conditions, such as those developed during the financial crisis in the 2007-2009 period.
The historical data for XIV were extended to 03/26/2004 with simulated prices and in the article we use this longer history to develop a strategy with DLPAL S. Since we want to capture as many market conditions s possible during development, we will not use an out-of-sample and the available history will be used for the in-sample.
Due to the lack of an out-of-sample the resulting strategy will be fitted on historical data and possibly over-fitted. We will also include a contango filter for the trades to avoid taking positions during backwardation. We will validate the strategy on ZIV and SPY data starting on 01/02/2008 and this will cover the downtrend of the financial crisis. Hopefully, the filter and the validation will limit curve-fitting and increase chances of a robust result.
Below is the DLPAL S workspace. Profit target and stop-loss are set at 3%
We instruct the program to search for strategies in the history of XIV with more than 29 trades, win rate greater than 75%, maximum of 10 consecutive losers and profit factor greater than 2. In essence, we are looking for higher probability strategies.
The results are shown below:
Each line in the results is a strategy that satisfies the performance parameters specified. Index and Index Date are used internally to classify strategies. Trade on is the entry point, in this case the Open of next bar. P is the success rate of the strategy, PF is the profit factor, Trades is the number of historical trades, CL is the maximum number of consecutive losers, Type is LONG for long strategies and SHORT for short strategies, Target is the profit target, Stop is the stop-loss and C indicates whether % or points for the exits, in this case it is %. Last Date and First Date are the last and first date in the data file.
DLPAL found 6 long strategies in the history considered. Next, we generate code for Amibroker and test a strategy that combines all 6 strategies into a single one. We also include the filter that VIX must be less VXV to assure there is contango. Below are the results for the equity curve and drawdown profile.
CAGR is 17.1%, Sharpe is 1.64, maximum drawdown is 15% and MAR is 1.10. There are 170 trades that stay open 2.5 bars on the average. Exposure is 13%.
We next backtest this strategy on ZIV and SPY, two ETFs that are strictly positively correlated with XIV, as shown in the charts below.
Both equity curves show positive performance, as shown below:
A few issues remain, as follows:
- Is the contango filter sufficient to protect from volatility spikes?
- Is the validation on ZIV and SPY sufficient to support strategy robustness?
More work is needed to deal with the above issues. What we did in this article was to show an example of how to go about developing a short volatility strategy with DLPAL S. These results can be replicated by anyone with a demo version of DLPAL S and the two-week fully-functional trial.
If you have any questions or comments, happy to connect on Twitter: @priceactionlab
Disclaimer: No part of the analysis in this blog constitutes a trade recommendation. The past performance of any trading system or methodology is not necessarily indicative of future results. Read the full disclaimer here.