Validating VIX Strategy Backtests Before Drawing Conclusions
Summary
The document concerns proposed VIX futures strategies that use moving-average crossovers, term structure, or comparisons of historical and implied volatility to generate long, flat, or short signals. The author reports that a persistent short bias and daily signal approach did not produce successful results, and asks whether using longer holding periods could better reflect VIX behavior. No strategy rules are fully specified and no performance data or tested alternative are provided.
The response recommends building quantitative skills with simpler examples before tackling volatility products, which it describes as especially complex. For an initial check, it suggests reproducing the returns of exchange-traded notes in the same market to uncover coding or modeling errors. This is practical validation advice rather than evidence that a particular VIX strategy works. The response gives no concrete model, benchmark methodology, or explanation of futures roll effects, so it cannot resolve whether changing the signal frequency would improve the proposed backtest.
Key ideas
- The proposed VIX signals include moving-average crossovers, term structure, and historical-versus-implied volatility comparisons.
- The author reports unsuccessful results from a daily approach but provides no detailed performance evidence.
- The response advises learning quantitative methods on simpler examples before modeling volatility products.
- Reproducing related exchange-traded note returns is suggested as a way to check a backtest implementation.
- The document does not establish whether weekly or monthly signals would improve performance.
Tags
Full text
# backtest VIX term structure strategy # backtest VIX term structure strategy I'm trying to implement a few simple VIX strategies (1/0/-1-signals based on MA crossover, term structure, hvol vs ivol) in Python. I am new to quant and volatility, but looking at the VIX properties suggets that a short signal bias (-1) should be successful (I multiply the signals with the log returns of daily closing prices of the 1-month VIX futures). These strategies are not successful and my guess is that I am not correctly exploiting the longer term properties of the VIX. Instead of going long/short daily, is it possible use weekly/monthly closing prices eg. ln(Price t/Price t-30) * (-1), and the benchmark would remain at ln(Price t/Price t-1)? ## Answer by RWP - Down by the Bay (score 1) https://quant.stackexchange.com/a/54298 This is not an answer, but instead advice: Since you're new to quant and volatility then you should start with something other than a volatility or a rates product because those are going to be some of the most complicated products. First, you need to gain some comfort with quant stuff. Then, you can move onto more complicated topics. I'm not saying that you can't do it, I'm just saying that you shouldn't even try at this stage because you're more likely to hurt yourself than help yourself-- because the number of mistakes you could be making is basically infinite. Find some simple models for just about anything online and try to reproduce them from scratch (not by just copy-pasting). If you're deadset on looking at this, as a first step try to replicate the returns of some of the ETNs in the space. This will help you find a number of errors in your code. Second, remember that if you find anything in any product, keep it to yourself.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.