Not only can we use the existing values of volatility indices, futures, and various types of moving averages for trading volatility. A quite popular direction is predicting volatility using various models. Most often, various GARCH models are used for this, but in this strategy, a simpler method is applied.
The value of the three-month volatility index VIX3M is determined using quadratic regression from VIX. The model looks like this:
VIX3M’ = b + k1 * VIX + k2 * VIX^2
To determine the regression coefficients, an expanding window starting from 2008 is used.
Having obtained the estimate VIX3M’, we compare it with the current value of VIX3M. If VIX3M’ is lower than VIX3M at the current point, we consider that the current three-month volatility is overestimated.
Additionally, we compare VIX3M’ with VIX, thereby assessing whether the market is in a calm state.
This strategy was published in the blog Trading with Python.
Strategy rules
Calculate quadratic regression VIX3M'(VIX). Use expanding window from 2008. If VIX3M'<VIX3M and VIX<VIX3M’ – short VXX. No position otherwise.
Strategy Performance
Test period: 2010 – 15 Dec 2023. Costs (brokerage commissions, slippage and borrow costs) are not included.
| Averaged Strategy | Benchmark: Short VXX | Benchmark: SPY | |
| Full Return | 33 947% | 5 850% | 549% |
| Annualized return | 52% | 34% | 12.95% |
| Max DD | -49% | -92% | -34% |
| Sharpe ratio | 0.98 | 0.42 | 0.70 |





