BACKTESTING THE IMPLIED VOLATILITY STRATEGY WITH QUANTOPIAN (4/09/16)

To see the origin of this series click here

To summarize, the strategy calculates a SKEW measure using ATM calls and OTM puts for a collection of ETF symbols. It then sorts the symbols into quintiles based on the SKEW factor.

Using daily close/close log return calculations for this strategy has shown exceptional performance as can be seen here. However, translating a successful daily strategy with no transaction costs and perfect trading fills into a robust strategy that can execute and perform well after incorporating the real structure of market trading is a difficult task. In some cases the strategy cannot survive this translation.

In order to test the viability of this strategy I used the Quantopian platform, which allows event-based point-in-time simulated trading on real market data. It also allows us to model transaction costs and slippage which can have large impacts depending on the strategy. 

The following backtest is a variation on the original strategy proposed in the series. This strategy does the following:

  • Calculate the SKEW factor using options data and implied volatility for selected ETFs.
  • Sort the ETFs according to the SKEW factor and divide into quintiles.
  • Go long the ETFs in top quintile while shorting the ETFs in the bottom quintile.
  • The strategy is equal weight and market-neutral.
  • Holding period is one week.
  • Trades are initiated on the first day of the week 20 minutes prior to the market close.
  • Rebalancing/liquidation occurs on the first day of the trading week 5 minutes after the market open.
  • Transaction costs are estimated at $0.0075 per share. 
  • The portfolio size is $100,000 USD. 

Backtest results using Quantopian.COM

Total return and risk statistics are still strong. Please note there is an outstanding github issue with Quantopian's backtest Sharpe ratio calculation. Ignoring that, beta is still low, volatility is still single-digits and the max drawdown has not changed since I published an update at the end of Feb 2016.