nikolai-alexander.com

Options research

VIX term structure vs realized volatility: how much of the slope was premium

S&P 500 implied volatility usually rises with time to expiration. On 30 October the curve read 19.4 at 30 days, 20.8 at three months, 22.2 at six months and 22.8 at one year. To see whether that reflects more expected turbulence or a higher premium, I compared each tenor with the volatility that actually followed over the same horizon, for every trading day from 2008 to 2025.

Key findings

  • From 30 days to one year, implied volatility rose by 3.9 points on average (20.0 to 23.9). The volatility that followed rose by only 1.4 (16.5 to 17.8). The gap between the two widened from 3.5 points at 30 days to 6.1 at one year.
  • On the same calendar, 30-day volatility sold twelve times a year kept less per year than one 1-year sale (3.6 against 5.7 points) but varied far less: 1.5 points kept per point of risk against 0.6. The 1-year sale lost heavily in the years when a crash followed the sale (2008, 2020).
  • At-the-money puts kept 40% (30 days) to 77% (one year) of their premium, calls 2% to −46%. The difference comes from the market's upward drift: from 2000 to 2009, with no drift, 30-day puts and calls kept about the same (23% and 25%).
  • When the curve was inverted, the 30-day gap shrank to 1.8 points and sellers at 30 days and three months lost on a quarter of the days; six months and one year kept a gap of 5 to 6 points. These rows rest on very few independent windows.

The curve and what followed

The CBOE publishes volatility indices for four tenors of S&P 500 options: the VIX for 30 days, VIX3M for three months, VIX6M for six months and VIX1Y for one year. All four have existed since 2008. For each trading day I took the index level and the realized volatility of the S&P 500 over the same horizon after that day. If the curve rises because longer horizons really are riskier, realized volatility should rise with it.

Implied (VIX index of that tenor) Realized over the same horizon after
Averages over every trading day from January 2008 to October 2025 (4,486 days). Right: implied minus realized in volatility points, with 90% intervals from a bootstrap that resamples whole years. Hover for the numbers.

Realized volatility rose much less. Implied volatility rose by 3.9 points from 30 days to one year, realized by 1.4. The difference between the two, 2.6 points, has a 90% interval of 0.5 to 4.5, and in 98% of resampled histories realized volatility rose by less than implied. Most of the upward slope was therefore premium, and only a small part reflected higher realized risk at longer horizons. At every tenor implied volatility sat above what followed, and its 90% interval stays above zero. The seller of that volatility lost, with realized above implied, on 17% of days at 30 days and 13% at one year.

These are averages over overlapping windows. A one-year window starts on every trading day, so the 18 years of data contain only about 18 independent one-year outcomes. The intervals account for that by resampling whole years, which is why they are wide.

Year by year

Implied Realized over the horizon after
Monthly averages of the index level and of the realized volatility over the following 30 days (top) and the following year (bottom), plotted at the month the option would have been sold. Hover for the values.

The result holds in almost every year. Averaged by the year of the sale, implied volatility at 30 days and three months was above what followed in 17 of 18 years (all but 2008), at six months and one year in 16 of 18 (all but 2008 and 2019). The bottom panel shows what drove the one-year results. One-year volatility sold in 2019 was priced at about 19 and met the 2020 crash: from April 2019 on, the year that followed realized 32 to 35. One-year volatility sold in November and December 2008 was priced at about 46, the year that followed realized 28 to 33, and those sellers did well.

Rolling 30-day sales vs one 1-year sale

Measured per sale, the one-year tenor looks best: it has the largest gap and, per trade, also the best result relative to its risk. That comparison sets one 1-year sale against one 30-day sale, although a year contains twelve 30-day sales. A fairer test puts both on the same calendar: in every year, sell 30-day volatility twelve times back to back, three-month volatility four times, six-month twice, one-year once, each sale weighted by its length so that every tenor sells the same amount of volatility over time.

Implied minus realized volatility, weighted by the time each sale covers, summed over each year from the first trading days of January (the 2008 block starts on 3 January 2008). Same scale in both panels.
TenorSalesKeptSwingPer riskLostAhead

Sales: sales per year. Kept: volatility points kept per year. Swing: standard deviation of the yearly result. Per risk: kept divided by swing. Lost: share of years with a loss. Ahead: share of years in which the tenor kept more than rolling 30-day sales. Medians over all 252 possible start days of the yearly blocks (16 or 17 blocks each).

The longer tenors kept more per year, 5.7 points at one year against 3.6 for rolling 30-day sales, and they came out ahead of the 30-day seller in about three years out of four. But their results swung four times as much from year to year, so per point of risk rolling 30 days was the steadiest: 1.5 against 0.6. In resampled histories the 30-day seller came out steadier in 98% of cases. The difference is clearest in 2008 and 2020: the one-year seller lost 17 points in each, while the 30-day seller lost 3.5 in 2008 and finished 2020 slightly ahead. A seller who rolls every month sells again at the higher implied volatility after a shock, while a one-year sale keeps its opening price for the whole year.

Puts, calls and the drift

The volatility indices combine puts and calls, while many option sellers trade only one side. To separate the two, I priced an at-the-money put and call at each tenor's index level and compared the premium with what the S&P 500's actual price move paid out at expiration.

Puts Calls 90% interval
Share of premium the seller kept: 1 − total payout / total premium over all entry days. Premium from each tenor's index level, which sits above at-the-money volatility (see below). Right: 30-day options with the VIX since 1990, and the S&P 500's average price drift in each period.

Puts kept 40% of their premium at 30 days and 77% at one year; calls kept 2% at 30 days and lost 46% of the premium at one year. The 90% interval of the difference between the two sides excludes zero at every tenor, and the difference widens with time: from 2008 to 2025 the S&P 500 rose about 11% a year on price, a drift that grows with the length of the option while the premium grows only with its square root. A straddle, which takes both sides, kept about a fifth of its premium at every tenor.

The VIX goes back to 1990, which allows the same split at 30 days over four periods. In the three periods with a rising market, puts kept 40 to 59% and calls nothing or slightly less. From 2000 to 2009, when the S&P 500 ended about where it started, both sides kept about the same, 23% and 25%. The advantage of the put side therefore came from the drift, and it would shrink in a market that does not rise.

When the curve inverts

On about 10% of days since 2008, three-month volatility was priced below 30-day volatility: an inverted curve, which usually signals stress. On those days the short and the long tenors behaved differently.

DaysTenorImpliedRealized afterGapSeller lostIndependent windows

Seller lost: share of days on which realized volatility ended above implied. Independent windows: about how many non-overlapping horizons the days cover. Grey: fewer than 10, too few to rely on.

With an inverted curve, 30-day implied volatility was almost matched by what followed (35.1 against 33.3), and at 30 days and three months the seller lost on about a quarter of the days, against 16 to 17% on all days. At six months and one year the gap stayed at 5 to 6 points, although the seller lost more often there too (18% and 23% of days). With the VIX above 30, one-year volatility was priced at 35.2 and the following year realized 22.3. Stress tended to fade within months, and the long tenors priced in more of it than followed. But these rows rest on 2 to 7 independent windows at the longer tenors, from a handful of stress episodes (2008 and 2009, 2011, 2018, 2020, 2022, 2025), too few to rely on.

Skew in the volatility indices

The VIX indices are not at-the-money volatility. They are computed from a whole strip of out-of-the-money options, so they include the skew and sit above the at-the-money level. That has two consequences. First, every premium here is somewhat overstated for a seller of at-the-money options. The gap between implied and realized would only disappear if at-the-money volatility were 3.5 points below the index at 30 days and 6.1 points below at one year. Second, if the skew adds more to the index at long tenors than at short ones, it explains part of the slope. To explain all of it, the skew would have to add 2.6 points more at one year than at 30 days. With index data alone that cannot be settled, and it is the main open question of this study.

For a single out-of-the-money option the difference matters even more. In the study on rolling the untested side of a strangle, rolling the call down after a drop only broke even if the call traded near the full VIX level, which out-of-the-money calls rarely do.

What it means for option sellers

From 2008 to 2025, the upward slope of the VIX curve mostly reflected premium. Longer-dated S&P 500 volatility carried more premium in points than short-dated volatility, and the risk that followed rose only a little. Relative to its risk, however, the one-year sale did worse than rolling 30-day sales: it fixes the price for a whole year, and its bad years were much worse than anything the rolling seller went through. For sellers of one side, the result at long tenors depended mostly on direction. The drift helped put sellers and hurt call sellers, and from 2000 to 2009, without drift, the difference disappeared.

Data and notes