MarketSci’s Mean-Reversion VIX Trading Strategy

This is a test of a strategy from MarketSci that uses moving average crossovers to trade VIX ETPs like XIV and VXX. Unlike most of the strategies that we cover on our blog, this strategy is of the mean-reversion variety. Like the RSI(2) strategy that we’ve covered previously, it’s based on going long vol when the VIX is oversold, and short when the VIX is overbought.

Strategy results trading XIV and VXX from 07/2004 follow. Read about test assumptions, or get help following this strategy.


The strategy is meant as a filter to an existing longer-term strategy (again, like the RSI(2) strategy we’ve covered previously). That’s because, while the VIX index itself is predictably mean-reverting, VIX futures and ETPs (a) trade out much of this mean-reversion, and (b) introduce other unique factors like volatility risk premium that sometimes dwarf this mean-reversion effect.

Here we apply MarketSci’s filter to our own strategy. Strategy rules:

  • When our strategy is signaling a short vol position (ex. XIV) for today’s close, and the 10-day EMA of the VIX will close above the 10-day SMA at today’s close, we go long XIV at today’s close.
  • When our strategy is signaling a long vol position (ex. VXX) for today’s close, and the 10-day EMA of the VIX will close below the 10-day SMA at today’s close, we go long VXX at today’s close.
  • Hold until a change in position. If none of the above conditions are met, move to cash. Read about test assumptions, or get help following this strategy.

Because a 10-day EMA is “faster” than a 10-day SMA, this is a mean-reversion strategy, only taking short vol positions when the VIX is overbought, and vice-versa.

Just as important as the filter’s performance, is the performance of all of those trades it would have skipped. In the graph below I’ve compared the trades the filter would have agreed with (and allowed) in blue, versus those it would have disagreed with (and skipped) in grey.


Despite spending a similar amount of time invested, the strategy would have been more productive when MarketSci’s filter agreed with the trade (to the tune of about 58% vs 22% annualized), but the filter would have still left a considerable amount of return on the table. But that’s only part of the story. Below I’ve shown statistics per trade.


Note the very different results for % winning trades and W/L ratio. When MarketSci’s mean-reversion filter agreed with the trade, it was much more likely to be a winner (see win %), but when it was wrong, it tended to be very wrong (see W/L ratio).

That makes sense. Mean-reversion tends to act like a rubber band. When stretched, the rubber band bounces back over and over consistently. But when stretched a little too far, the rubber band (and your portfolio) breaks.

So is there value in MarketSci’s filter?

At least as I’ve applied it here, I wouldn’t trade it as a standalone strategy, as there’s just too much productive time spent out of the market, but I do think there’s value in capturing whether we’re in an overbought or oversold environment because, as we’ve shown here, it changes expectations for both how often a trade might succeed and how badly it might move against us when it fails.

* * *

A big thank you to MarketSci for posting this strategy.

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.