Idea in brief
The VIX futures curve shows how much the market pays for volatility over different horizons. Usually longer-dated contracts are more expensive than near ones: uncertainty over three months is greater than over one. This is contango. In a sell-off, hedgers buy up near-term protection, the short end rises above the long end, and the curve moves into backwardation.
Alan Clement, a retail equities quant from Melbourne, waits for the curve to flip from backwardation back into contango. For Clement this is a sign that hedges are being lifted and a reason to buy the index. The position is held while the curve stays in contango. When volatility explodes, the strategy switches to the other side: long VXX.
Rob Hanna (Quantifiable Edges) looks at the same curve from the short volatility side. Shorting VIX ETFs is allowed only in contango, with an exit on any of three signs of rising risk. Variant C also comes from Hanna: the moment to short VIX is chosen by short-term overbought and oversold readings in the S&P 500.
Variant B is a volatility short. Its losses are rare but devastating, and position size matters more than the entry.
Why it might work
Clement explains the shape of the curve through hedging. Managers of large equity portfolios do not want to sell stocks in a decline, so they buy options or VIX futures. The short end of the curve rises. When the curve returns to contango, the protection is removed and a market rise is expected. According to the author, this produces a mean reversion entry that turns into a trend trade: contango lasts a long time, while VIX spikes are short.
Hanna explains the edge of the short through how VIX ETFs are built. The funds hold a position with an average maturity of about 30 days and roll part of their futures every day. In contango they sell the cheaper near contract and buy the more expensive far one, and the ETF price melts away over time. In backwardation the same mechanism pushes the ETF up. Hence Hanna's first exit. The second and third are simpler: VIX above 25 or 30, and VIX diverging noticeably from realized volatility over the past month.
Chicken and Egg reverses the usual order: not the S&P by VIX, but VIX by the S&P. If the index is strongly overbought, shorting VIX makes little sense, since a pullback is more likely ahead. If the index is strongly oversold on a short horizon, a bounce is likely, and this is a good moment to short volatility. The author gives the statistics in an article and a course, not in the interview. All explanations above are the authors' positions, and we have not verified them.
Rules
Curve regime
// daily closes
// Clement: Cboe constant maturity series for 9, 30 and 90 days (VIX9D, VIX, VIX3M)
Ratio = VIX / VIX3M // Finetiq: the author did not name the pair of points
Contango_C = Ratio < 1 on two closes in a row // Finetiq: protection against flickering around 1.0
Backwardation_C = Ratio > 1 on two closes in a row
// Hanna: first and second month of VIX futures
Contango_H = VX2 > VX1 // author: second month above the first
Backwardation_H = VX2 < VX1
Main rule. The index on a curve flip (Clement)
// instrument: SPY, S&P 500 future or a leveraged ETF // author
IF position = FLAT AND Contango_C AND Backwardation_C was the last regime
BUY INDEX AT NEXT BAR OPEN // author: flip into contango = entry
IF position = LONG INDEX AND Backwardation_C
EXIT AT NEXT BAR OPEN // author: hold while in contango
// author: long VXX when volatility explodes
IF Backwardation_C AND Ratio > 1.05 // Finetiq: "explosion" threshold
BUY VXX AT NEXT BAR OPEN
IF position = LONG VXX AND Contango_C
EXIT AT NEXT BAR OPEN // Finetiq
// author: sizing by the historical risk of the strategy as a whole, no numbers
IndexAlloc = 100% of capital, no leverage // Finetiq; the author uses a leveraged ETF
VXXAlloc = 10% of capital // Finetiq
Variant B. Short a VIX ETF in contango with three exits (Hanna)
// instrument: short VXX or the VX future // author: VXX can be traded directly if done correctly
RV21 = StdDev(ln(SPX / SPX[1]), 21) * sqrt(252) * 100 // author: 21 trading days; Finetiq: formula
Spread = VIX - RV21
StepOut = Backwardation_H // author
OR VIX > 25 // author: "25 or 30"; Finetiq: 25 as a starting value
OR Spread > 10 // author: VIX versus realized; Finetiq: reading A, threshold 10 points
// Finetiq, reading B of the third trigger: Spread < 0, realized above implied
IF position = FLAT AND Contango_H AND NOT StepOut
SELL SHORT VXX AT NEXT BAR OPEN
IF position = SHORT AND StepOut
EXIT AT NEXT BAR OPEN // author: exit or reduce
// size: the author calls it the main element but gives no numbers
LossBudget = 10% // Finetiq: share of capital you are willing to lose on one spike
Shock = 2.0 // Finetiq: stress scenario, VXX up 200% before the exit
ShortNotional = Equity * LossBudget / Shock // = 5% of capital
recalculate ShortNotional once a week // Finetiq: as VXX rises, the short's share of capital grows
Variant C. Chicken and Egg: timing the short by the S&P 500 (Hanna)
RSI_S = RSI(SPX, 2) // author: short-term RSI of the S&P; Finetiq: period 2
IF RSI_S < 10 THEN a new short from variant B is allowed // author: oversold → bounce likely; Finetiq: 10
IF RSI_S > 90 THEN no new shorts // author: overbought → little edge in the short; Finetiq: 90
// author: when strongly overbought, long vol can be taken as protection for stocks
IF RSI_S > 90 AND the portfolio holds long stocks
AND position = FLAT // Finetiq: not while a VXX short from variant B is open
BUY VXX for 5% of capital AT NEXT BAR OPEN // Finetiq: size
IF position = LONG VXX AND RSI_S < 50
EXIT AT NEXT BAR OPEN // Finetiq
// short exits remain as in variant B
// Finetiq: position is shared by B and C, opposite positions in VXX are not allowed.
// While a long from C is open, a short from B is not opened: it also requires FLAT.
// If the stock hedge is needed even during a short, run it in a separate account and track the results separately.
Parameters
| Parameter | Value | Source |
|---|---|---|
| Clement signal | flip from backwardation to contango | author |
| Clement curve points | Cboe 9, 30 and 90-day series | author |
| Slope pair | VIX / VIX3M | Finetiq |
| Regime confirmation | two closes in a row | Finetiq |
| Clement instrument | index or leveraged ETF, long VXX on an explosion | author |
| "Explosion" threshold | Ratio > 1.05 | Finetiq |
| Clement sizing | 100% in the index, 10% in VXX | Finetiq |
| Hanna regime | second VX month above the first | author |
| Exit 1 | backwardation | author |
| Exit 2 | VIX above 25 (the author says 25 or 30) | author, choice of 25 by Finetiq |
| Exit 3 | VIX versus 21-day realized | author |
| Exit 3 threshold | reading A: above 10 points; reading B: below 0 | Finetiq |
| Short loss budget | 10% of capital on a 200% VXX rise | Finetiq |
| RSI for variant C | RSI(2), thresholds 10 and 90 | Finetiq |
What to test
- What the backwardation exit adds. The main rule versus buy-and-hold of the S&P 500 and versus a "price above the 200-day average" filter. According to the author, contango holds about 84% of the time, so the index is in the position most years. Count the drawdown avoided and the gain missed after each flip.
- Which pair of points. VIX / VIX3M, VIX9D / VIX, VX1 / VX2. For each, the number of flips per year and the share of false ones, when the curve flipped back within 5 days.
- Cost of confirmation. Entry the day after the first close in contango versus two and three closes in a row. The author talks about entering at the low or within one bar of it: see how much is lost with each day of waiting.
- Short triggers one by one. Variant B with each trigger alone and with all three. VIX threshold 20, 25, 30. Both readings of the third trigger. Metrics: worst day, worst 5 days, maximum drawdown. Separately February 2018 and February–March 2020.
- When the exit fills. Exit at the next day's open versus exit at the close of the signal day versus an intraday stop order on a 15% VXX rise. On the worst days the main move happens between two closes.
- Size and cost of the short. Shock 1.0, 2.0, 3.0 versus the maximum rise of VXX or VX1 over 1, 5 and 10 days in your data. If the historical rise exceeds Shock, the loss budget is breached. Account for the VXX borrow cost.
- Chicken and Egg. The result of a VIX ETF short after 1, 3 and 5 days following an S&P RSI(2) below 10 and above 90, versus all days in contango. If the groups do not differ, the filter only reduces the number of trades.
Platform notes
TradingView (Pine Script)
- VIX without lookahead:
request.security("CBOE:VIX", "D", close[1], lookahead = barmerge.lookahead_on). VIX3M and VIX9D are also published by Cboe, check the ticker in symbol search. Their history is shorter than that of VIX. - Continuous first and second month series (the
1!and2!notation) are stitched at expiration. A few days before expiration the front contract almost equals spot VIX, and the comparison with the second month changes meaning. Check on which day the data provider switches both series. - A strategy trades only the chart symbol. The index and VXX, as Clement uses them, cannot be combined in one strategy: run two strategies and add up the equity curves outside TradingView.
- VXX prices are adjusted for reverse splits. Early bars show levels at which nobody traded. Calculate size as a share of capital.
MultiCharts and TradeStation (EasyLanguage)
- VIX and VIX3M are added as
Data2andData3, and orders go only to Data1. In TradeStation the VIX index is usually$VIX.X, other symbols depend on the data provider. - The daily close time differs between the VIX index and the VX future, and the future's daily bar in TradeStation closes at settlement. Compare the curve using series with the same timestamp.
- The second VX month is needed as a separate continuous series. If the provider does not have it, build it from individual contracts with a roll rule that is the same for both months.
- A VXX short backtest knows nothing about borrow cost, share recalls or margin increases. Add them manually. Index and VXX together: Portfolio Trader in MultiCharts or Portfolio Maestro in TradeStation.
MetaTrader 5 (MQL5)
- Most brokers do not have spot VIX, VIX3M or VXX. If a VIX symbol exists, it is usually a CFD on the future with its own rolls, and the VIX ETF edge has to be tested on it from scratch.
- For testing, the curve can be loaded as custom symbols (
CustomSymbolCreate,CustomRatesUpdate). Live trading needs an external quote source. - A short volatility CFD carries swap and a spread that widens in a sell-off, exactly when the exits fire.
- Take the curve signal from the closed daily bar (shift 1). The broker's daily bar closes on server time, not at the Cboe close.
Where the idea can break
- A volatility short loses rarely but heavily. In February 2018 the inverse VIX ETN XIV lost almost all its value in one evening and was shut down by the issuer. Hanna says directly that such events wiped people out, and that a short in a 2x product can at any moment move 5-10 times against the position.
- All three exits are calculated on daily closes. A spike happens intraday or between closes, and an exit at the next open will come after most of the loss. A stop order does not protect against a gap.
- The loss budget in variant B rests on our assumption about spike size. The next spike may be larger than any in history, and then the loss will exceed the budget.
- During a spike the broker may raise margin or recall shares for the short. The position will be closed forcibly at the worst moment.
- The sample is short. VIX futures have traded since 2004, VXX since 2009. There are only a few large spikes in this window, and one day can wipe out years of accumulated results.
- The data is stitched. According to Hanna, the current VXX in Norgate starts in January 2018, the old one lived from February 2009 to January 2019, and long histories of 2x ETFs are reconstructed after the fact. Products that went to zero dropped out of the lists, and a test on survivors flatters the short.
- The thresholds are imprecise. Hanna says "25 or 30", the direction of the third trigger does not clearly follow from Hanna's words, and Clement does not name the pair of curve points. All these values are ours.
- Clement's main rule simply holds the index most of the time. The advantage over buy-and-hold may turn out small. The leveraged ETFs the author uses lose from daily rebalancing in a sideways market.
- Both authors sell courses and newsletters. The interviews contain no statistics for these rules.