A VIX ETP Strategy from Trading with Python

This is a follow up to a strategy from the excellent blog Trading with Python (TWP). The strategy uses the relationship between the VIX and VXV indices to trade VIX ETPs like XIV.

It is similar to this previous test from our blog, but rather that just directly comparing VXV to VIX, it compares VXV to the expected value of VXV based on a quadratic regression of the two indices.

Strategy results trading XIV (inverse volatility) are in blue, compared to buying and holding XIV in grey, from mid-2004 to present:


A modified version of TWP’s rules:

  • Near the close, perform a quadratic regression, approximating VXV = f(VIX). Then calculate delta, or the deviation from our regression, as delta = VXV – f(VIX). Note: I’ve assumed that each day we could only use the data available at that moment in time.
  • Go long XIV at the close when both delta > 0, and VXV is greater than the VIX index.
  • Read about test assumptions. Get help following this strategy.

When taken together, the two criteria for entry (VXV > VIX and delta > 0) would be signs of particularly strong contango, favoring XIV.


I’ve made a number of changes to TWP’s original strategy:

  • I’ve assumed we traded long XIV rather than short VXX, as this is generally more reliable in the real world.
  • Rather than base our regression on all data (which would introduce look-ahead bias), I’ve assumed we could only use the data available up to that moment in time. Note that VXV data begins 01/2002.
  • I’ve added in the extra requirement that VXV be greater than VIX to signal a trade. This improved performance, but more importantly, made better sense given the strategy’s stated purpose.

We have already shown that directly comparing the VIX and VXV indices has historically been an effective strategy, so the important question is whether TWP’s additional rule (delta > 0) improved performance. To answer that, below I’ve shown the current strategy in blue, and compared it to when VXV > VIX, but delta < 0, in orange.


Does skipping the “orange” trades represent an improvement?

It has been an improvement since late-2012, but it provided no additional information before early-2007, and was a no show in the years between. Could that be because we had so little VXV data to consider in our regression in the early part of the test? I can’t say for sure, but in the meantime, we’ll continue to keep this strategy on our radar.

* * *

When the strategies that we cover on our blog (including this one) signal new trades, we include an alert on the daily report sent to subscribers. This is completely unrelated to our own strategy’s signal; it just serves to add a little color to the daily report and allows subscribers to see what other quantitative strategies are saying about the market.

Click to see Volatility Made Simple’s own elegant solution to the VIX ETP puzzle.

Good Trading,
Volatility Made Simple

Posted in Strategy Backtests.