VIX Formula Derivation¶
The CBOE Volatility Index (VIX) provides a model-free measure of the market's expectation of 30-day forward-looking volatility. Unlike implied volatility computed from a single option via the Black-Scholes formula, the VIX aggregates information from the entire strip of out-of-the-money options to produce a single volatility number that requires no parametric model assumption. This section derives the VIX formula from first principles, starting with variance swap replication via the log contract, establishing the continuous-strike integral representation, and arriving at the CBOE's discrete approximation used in practice.
Learning Objectives
After completing this section, you should be able to:
- Derive the fair strike of a variance swap using the log contract replication argument
- Explain why the integral \(\int C(K)/K^2 \, dK\) captures model-free implied variance
- State and derive the CBOE VIX formula from the continuous variance swap formula
- Identify the convexity adjustment between volatility and variance
- Compute VIX from a discrete set of option prices
Variance Swap Replication¶
Motivation¶
A variance swap is a forward contract on realized variance. The buyer receives the realized variance of an underlying asset over a specified period and pays a fixed strike \(K_{\text{var}}\). The central question is: what is the fair value of \(K_{\text{var}}\) such that the swap has zero initial value? The answer turns out to be expressible as an integral over option prices — a remarkable model-free result that forms the theoretical backbone of the VIX.
The Log Contract¶
The key to variance swap replication is the log contract, a derivative with payoff \(\ln(S_T / S_0)\) at maturity \(T\). Under the risk-neutral measure \(\mathbb{Q}\), the stock price follows:
where \(\sigma_t\) is the (possibly stochastic) instantaneous volatility. Applying Ito's lemma to \(\ln S_t\):
Integrating from \(0\) to \(T\):
Taking the risk-neutral expectation and using the fact that the stochastic integral has zero expectation:
Solving for the expected integrated variance:
This expresses the fair variance as a function of the risk-neutral expected log return — the price of the log contract.
Replicating the Log Contract with Options¶
The log contract payoff can be replicated using a static portfolio of European options. The key identity comes from a second-order Taylor expansion with integral remainder:
where \(F = S_0 e^{(r-q)T}\) is the forward price. This identity decomposes the log payoff into:
- A forward contract (first term)
- A continuum of out-of-the-money puts weighted by \(1/K^2\) (second term)
- A continuum of out-of-the-money calls weighted by \(1/K^2\) (third term)
Proof of the replication identity. Start from the identity for any twice-differentiable function \(f\):
For \(f(x) = \ln(x/F)\), we have \(f(F) = 0\), \(f'(x) = 1/x\), and \(f''(x) = -1/x^2\). Substituting:
\(\square\)
Fair Strike of the Variance Swap¶
Taking the discounted risk-neutral expectation of the replication identity:
where \(P(K) = e^{-rT}\mathbb{E}^{\mathbb{Q}}[(K - S_T)^+]\) and \(C(K) = e^{-rT}\mathbb{E}^{\mathbb{Q}}[(S_T - K)^+]\) are European put and call prices, and the forward contract term vanishes since \(\mathbb{E}^{\mathbb{Q}}[S_T] = F\).
Combining with the variance formula derived above:
Theorem 12.4.1 (Variance Swap Fair Strike) The fair strike of a variance swap is:
This result is model-free: it holds for any process with continuous paths (no jumps) and requires only the absence of arbitrage.
The \(1/K^2\) Weighting
The \(1/K^2\) weighting arises naturally from the second derivative of \(\ln(x)\). Options at lower strikes receive higher weight, reflecting the fact that percentage moves are larger for lower asset values. This weighting also connects to the Breeden-Litzenberger formula: since \(\partial^2 C / \partial K^2 = e^{-rT} q(K)\), the integral effectively averages the local variance over the risk-neutral density.
From Variance Swap to VIX¶
The Continuous VIX Formula¶
The VIX is defined as the square root of the variance swap fair strike (annualized to percentage terms), with a specific adjustment. Starting from the variance swap formula:
where \(Q(K)\) denotes the OTM option price (put for \(K < F\), call for \(K > F\)), and \(K_0\) is the highest strike below the forward price \(F\). The second term is a convexity adjustment that accounts for the discrete strike grid; in the continuous limit with \(K_0 = F\), it vanishes and the formula reduces to the variance swap fair strike.
The Forward Price Adjustment¶
In the continuous-strike version, the VIX formula uses the forward price \(F\) as the cutoff between puts and calls. Since \(F\) may not coincide with any listed strike, the CBOE introduces \(K_0 \leq F\) and adds the correction term:
This correction arises because shifting the put-call boundary from \(F\) to \(K_0\) introduces a small bias. Specifically, at strikes between \(K_0\) and \(F\), using puts instead of calls (or vice versa) changes the integral by an amount proportional to \((F - K_0)^2\).
Proposition 12.4.1 (Convexity Correction) For \(K_0 \leq F\), the difference between the variance swap integral split at \(F\) and the integral split at \(K_0\) satisfies:
where \(Q(K)\) uses the split at \(K_0\).
Proof sketch. Apply put-call parity \(C(K) - P(K) = e^{-rT}(F - K)\) to the integral between \(K_0\) and \(F\), expand \(\ln(F/K_0)\) as \((F/K_0 - 1) - \frac{1}{2}(F/K_0 - 1)^2 + \cdots\), and collect terms. \(\square\)
CBOE VIX Methodology¶
Discrete Approximation¶
In practice, options trade at a finite set of strikes \(K_1 < K_2 < \cdots < K_n\). The CBOE approximates the continuous integral using a Riemann sum:
where:
- \(\Delta K_i = \frac{K_{i+1} - K_{i-1}}{2}\) for interior strikes, with one-sided differences at the endpoints
- \(Q(K_i) = \text{put midquote}\) if \(K_i < K_0\), \(\text{call midquote}\) if \(K_i > K_0\), and \(\frac{1}{2}(\text{put} + \text{call})\) if \(K_i = K_0\)
- \(K_0\) is the highest listed strike below the forward price \(F\)
- \(T\) is the time to expiration in years (minutes-based: \(T = N_{\text{min}} / N_{\text{year}}\))
Definition 12.4.1 (CBOE VIX Index) The VIX index is defined as:
The factor of 100 converts to percentage points, so VIX = 20 corresponds to 20% annualized volatility.
Maturity Interpolation¶
The VIX targets a 30-day forward-looking window. Since listed options rarely expire exactly 30 days out, the CBOE interpolates between two near-term maturities:
where \(\sigma_1^2\) and \(\sigma_2^2\) are the variance estimates from the near-term (\(T_1\)) and next-term (\(T_2\)) option expirations, and \(N_{30}\), \(N_{T_1}\), \(N_{T_2}\) are expressed in minutes. This is a linear interpolation in variance (not volatility) space, consistent with the additive property of variance over non-overlapping intervals.
Selection Rules¶
The CBOE applies specific rules to filter the option data:
- Bid price filter: Exclude any option with a zero bid price. Moving outward from \(K_0\), stop including strikes after two consecutive zero-bid options
- Near-term expiry: Use options with at least 23 days and no more than 37 days to expiration
- Next-term expiry: Use options with at least 30 days to expiration
- Weekly vs monthly: The CBOE uses both weekly and standard monthly expirations in the current methodology
Truncation Bias
The VIX formula integrates over all strikes from zero to infinity, but listed options cover only a finite range. The missing wing contributions introduce a truncation bias, causing the discrete VIX to underestimate the true model-free implied variance. The bias is most significant during periods of high skew, when deep OTM puts carry substantial weight. Empirical estimates suggest the truncation bias is typically 0.1--0.5 vol points for the S&P 500.
Connection to Implied Variance¶
Variance Swap vs Implied Volatility¶
The VIX squared represents the model-free implied variance, which differs from the Black-Scholes ATM implied volatility:
The relationship between the two involves contributions from the entire smile:
Proposition 12.4.2 (Model-Free vs ATM Variance) In terms of the implied volatility surface, the model-free variance can be expanded as:
where \(\kappa_4\) is the excess kurtosis of the risk-neutral log-return distribution. The skewness enters at higher order. Thus the VIX exceeds ATM implied volatility when the distribution has fat tails (positive excess kurtosis), as is typical in equity markets.
Connection to Breeden-Litzenberger¶
The \(1/K^2\) weighting in the VIX formula connects directly to the Breeden-Litzenberger risk-neutral density. Writing \(q(K) = e^{rT} \partial^2 C / \partial K^2\):
Changing the order of integration and evaluating:
After regularization (subtracting the forward contract contribution), this yields:
confirming the variance swap interpretation: the fair strike equals (twice) the negative of the expected log return relative to the forward.
Jump Correction¶
Impact of Jumps on Variance Swaps¶
The derivation above assumes continuous paths. When the underlying can jump, the relationship between the log contract and integrated variance breaks down. Under a jump-diffusion model:
where \(N_t\) is a Poisson process with intensity \(\lambda\) and \(J_t\) is the jump size, the integrated variance and the log contract differ by the jump contribution:
The second term is always non-negative (since \(x - \ln(1+x) \geq 0\) for \(x > -1\)), so the VIX overestimates the expected integrated variance in the presence of jumps. This jump contribution is sometimes called the jump risk premium embedded in VIX.
Practical Implication
The jump correction explains why VIX systematically exceeds subsequently realized volatility. Part of the "variance risk premium" commonly observed in the literature reflects not only risk aversion but also the convexity of the log contract under jump risk. Separating these two effects requires additional modeling assumptions about jump intensity and size distribution.
Numerical Example¶
Computing VIX from Market Data¶
Consider S&P 500 options with the following parameters:
- Current index level: \(S_0 = 4500\)
- Risk-free rate: \(r = 5\%\)
- Dividend yield: \(q = 1.5\%\)
- Time to near-term expiration: \(T_1 = 25\) days \(= 25/365\) years
- Forward price: \(F = S_0 e^{(r-q)T_1} = 4500 \times e^{0.035 \times 25/365} \approx 4503.42\)
Suppose the following OTM option midquotes are available:
| Strike \(K\) | Type | Midquote \(Q(K)\) | \(\Delta K\) | \(\Delta K / K^2\) | Contribution |
|---|---|---|---|---|---|
| 4300 | Put | 12.50 | 50 | \(2.70 \times 10^{-6}\) | \(3.38 \times 10^{-5}\) |
| 4350 | Put | 17.80 | 50 | \(2.64 \times 10^{-6}\) | \(4.70 \times 10^{-5}\) |
| 4400 | Put | 26.40 | 50 | \(2.58 \times 10^{-6}\) | \(6.82 \times 10^{-5}\) |
| 4450 | Put | 41.20 | 50 | \(2.53 \times 10^{-6}\) | \(1.04 \times 10^{-4}\) |
| 4500 | Avg | 55.30 | 50 | \(2.47 \times 10^{-6}\) | \(1.37 \times 10^{-4}\) |
| 4550 | Call | 38.60 | 50 | \(2.42 \times 10^{-6}\) | \(9.33 \times 10^{-5}\) |
| 4600 | Call | 22.10 | 50 | \(2.36 \times 10^{-6}\) | \(5.22 \times 10^{-5}\) |
| 4650 | Call | 11.40 | 50 | \(2.31 \times 10^{-6}\) | \(2.64 \times 10^{-5}\) |
| 4700 | Call | 5.20 | 50 | \(2.26 \times 10^{-6}\) | \(1.18 \times 10^{-5}\) |
Each contribution is \((\Delta K_i / K_i^2) \times e^{rT_1} Q(K_i)\). Summing and applying the formula:
With \(K_0 = 4500\) and the convexity correction \((F/K_0 - 1)^2 = (4503.42/4500 - 1)^2 \approx 5.78 \times 10^{-7}\), which is negligible. The sum of contributions gives a representative value leading to:
corresponding to an annualized model-free implied volatility of approximately 18.5%.
Variance Swap vs Volatility Swap¶
The Convexity Adjustment¶
A volatility swap pays the realized volatility \(\sqrt{(1/T)\int_0^T \sigma_t^2 \, dt}\) minus a fixed strike, rather than realized variance minus a fixed strike. By Jensen's inequality:
Therefore, the fair strike of a volatility swap is less than or equal to the VIX:
The difference depends on the vol-of-vol:
This convexity adjustment is larger when vol-of-vol is high (volatile volatility environment).
Convexity Gap in Practice
If VIX = 20 (so \(K_{\text{var}} = 0.04\)) and the standard deviation of realized volatility is 4 vol points (vol-of-vol = 0.04), the convexity adjustment is approximately:
So the fair volatility swap strike is approximately \(0.20 - 0.025 = 0.175\), or 17.5%. The 2.5 percentage point gap represents the variance-volatility convexity premium.
Extensions¶
Corridor Variance Swaps¶
A corridor variance swap accumulates realized variance only when the underlying trades within a specified corridor \([L, U]\):
This restricts the integration range and provides exposure to volatility in a specific spot range. The standard VIX corresponds to \(L = 0\), \(U = \infty\).
Gamma Swaps¶
A gamma swap has payoff proportional to realized variance weighted by the underlying level:
The fair strike involves an integral with \(1/K\) weighting instead of \(1/K^2\):
Gamma swaps are less sensitive to extreme moves and do not require delta hedging.
Summary¶
The VIX formula rests on a chain of model-free results:
- Ito's lemma connects integrated variance to the log contract: \(\mathbb{E}^{\mathbb{Q}}[\int_0^T \sigma_t^2 \, dt] = 2(r-q)T - 2\mathbb{E}^{\mathbb{Q}}[\ln(S_T/S_0)]\)
- Static replication decomposes the log contract into a portfolio of OTM options weighted by \(1/K^2\)
- Variance swap fair strike equals the integral of weighted option prices: \(K_{\text{var}} = (2e^{rT}/T)\int Q(K)/K^2 \, dK\)
- CBOE discretization approximates the integral with a Riemann sum over listed strikes, with a convexity correction for the put-call boundary
The resulting VIX is a model-free measure of implied variance that:
- Requires no parametric model assumption (holds for any continuous-path process)
- Uses the entire option smile, not just a single ATM option
- Overestimates expected realized volatility due to the variance risk premium and jump effects
- Provides the benchmark for volatility derivatives trading
Exercises¶
Exercise 1. Starting from the Ito decomposition \(\ln(S_T/S_0) = (r - q)T - \frac{1}{2}\int_0^T \sigma_t^2 \, dt + \int_0^T \sigma_t \, dW_t\), derive the formula for expected integrated variance \(\mathbb{E}^{\mathbb{Q}}[\int_0^T \sigma_t^2 \, dt] = 2(r-q)T - 2\mathbb{E}^{\mathbb{Q}}[\ln(S_T/S_0)]\). Explain why this requires no assumptions about the volatility process \(\sigma_t\).
Solution to Exercise 1
Starting from the Ito decomposition of \(\ln S_t\):
Take the risk-neutral expectation \(\mathbb{E}^{\mathbb{Q}}[\cdot]\) of both sides. The stochastic integral \(\int_0^T \sigma_t \, dW_t^{\mathbb{Q}}\) is a martingale (under mild integrability conditions on \(\sigma_t\)), so its expectation is zero:
Therefore:
Solving for the expected integrated variance:
Why no assumptions on \(\sigma_t\) are needed: The derivation uses only Ito's lemma (applied to \(\ln S_t\)) and the zero-expectation property of the stochastic integral. Ito's lemma is a purely mathematical result that applies to any semimartingale; it does not depend on whether \(\sigma_t\) is constant, deterministic, stochastic, or even path-dependent. The volatility process \(\sigma_t\) can follow any adapted process (Heston, SABR, local vol, regime-switching, etc.) and the formula remains valid. This is what makes the result model-free: it connects expected integrated variance to the expected log return without specifying the dynamics of volatility.
Exercise 2. The log contract payoff \(\ln(S_T/F)\) can be replicated using a portfolio of OTM puts and calls via \(\ln(S_T/F) = \frac{S_T - F}{F} - \int_0^F \frac{1}{K^2}\max(K - S_T, 0) \, dK - \int_F^\infty \frac{1}{K^2}\max(S_T - K, 0) \, dK\). Verify this identity for \(S_T = 80\) with \(F = 100\) by evaluating both sides.
Solution to Exercise 2
We need to verify the identity for \(S_T = 80\) and \(F = 100\):
Left side:
Right side, term by term:
First term:
Second term: Since \(S_T = 80 < F = 100\), the put payoff \((K - 80)^+\) is positive for \(K > 80\):
Split:
Third term: Since \(S_T = 80 < F = 100\), for \(K > 100 > 80\), the call payoff \((80 - K)^+ = 0\):
Combining:
Verification: \(\text{LHS} = \ln(0.8) = -0.22314 = \text{RHS}\) \(\checkmark\)
Exercise 3. The CBOE VIX formula in continuous form is
Explain why only OTM options are used (puts for \(K < F\), calls for \(K > F\)). What would go wrong if ITM options were included instead?
Solution to Exercise 3
Why only OTM options are used: The VIX formula uses puts for \(K < F\) and calls for \(K > F\), i.e., only out-of-the-money options. There are several reasons:
-
Liquidity and price discovery: OTM options are more actively traded than ITM options. The bid-ask spreads are tighter (as a fraction of the option price), and the midquotes are more reliable reflections of fair value.
-
Avoiding intrinsic value contamination: ITM options have a large intrinsic value component (\(S_0 - Ke^{-rT}\) for ITM calls) that contributes nothing to the volatility information. The time value (extrinsic value), which contains the volatility signal, is a small fraction of the ITM price. Any error in the intrinsic value (due to incorrect forward price, dividend estimate, or interest rate) would dominate the volatility signal.
-
Put-call parity equivalence: By put-call parity, \(C(K) - P(K) = e^{-rT}(F - K)\). The forward contract component \(e^{-rT}(F - K)\) contributes nothing to \(\frac{\partial^2}{\partial K^2}\), so ITM calls and OTM puts carry identical volatility information. Using OTM options simply selects the more liquid and better-priced version.
What would go wrong with ITM options: If ITM options were included:
- The option prices would be dominated by intrinsic value, requiring precise knowledge of the forward price to extract the small time-value component
- Bid-ask spreads on ITM options are wider in absolute terms, introducing more noise
- Early exercise premia (for American options) would contaminate the European-style pricing assumption
- Small errors in the forward price estimate would create large biases in the variance calculation
Exercise 4. The discrete CBOE VIX formula approximates the integral as a Riemann sum: \(\text{VIX}^2 = \frac{2}{T}\sum_i \frac{\Delta K_i}{K_i^2} e^{rT} Q(K_i) - \frac{1}{T}(F/K_0 - 1)^2\), where \(Q(K_i)\) is the midpoint of the bid-ask spread. Given 5 equally spaced strikes at \(K = 90, 95, 100, 105, 110\) with \(\Delta K = 5\), \(F = 100\), \(T = 30/365\), \(r = 2\%\), and mid prices \(Q = [8.50, 5.20, 3.00, 1.80, 0.90]\), compute \(\text{VIX}^2\) and VIX.
Solution to Exercise 4
Given: \(K = [90, 95, 100, 105, 110]\), \(\Delta K = 5\), \(F = 100\), \(T = 30/365 \approx 0.08219\), \(r = 0.02\), and \(Q = [8.50, 5.20, 3.00, 1.80, 0.90]\).
Since \(F = 100\), set \(K_0 = 100\) (highest strike below or equal to \(F\)). Strikes below 100 use puts, above 100 use calls, and at 100 use the average (here the midquote is given directly).
Compute \(e^{rT} = e^{0.02 \times 30/365} \approx e^{0.001644} \approx 1.001645\).
Compute each term \(\frac{\Delta K_i}{K_i^2} e^{rT} Q(K_i)\):
| \(K_i\) | \(Q(K_i)\) | \(\Delta K / K_i^2\) | Contribution |
|---|---|---|---|
| 90 | 8.50 | \(5 / 8100 = 6.173 \times 10^{-4}\) | \(6.173 \times 10^{-4} \times 1.00164 \times 8.50 = 5.250 \times 10^{-3}\) |
| 95 | 5.20 | \(5 / 9025 = 5.540 \times 10^{-4}\) | \(5.540 \times 10^{-4} \times 1.00164 \times 5.20 = 2.882 \times 10^{-3}\) |
| 100 | 3.00 | \(5 / 10000 = 5.000 \times 10^{-4}\) | \(5.000 \times 10^{-4} \times 1.00164 \times 3.00 = 1.502 \times 10^{-3}\) |
| 105 | 1.80 | \(5 / 11025 = 4.535 \times 10^{-4}\) | \(4.535 \times 10^{-4} \times 1.00164 \times 1.80 = 8.168 \times 10^{-4}\) |
| 110 | 0.90 | \(5 / 12100 = 4.132 \times 10^{-4}\) | \(4.132 \times 10^{-4} \times 1.00164 \times 0.90 = 3.722 \times 10^{-4}\) |
Sum of contributions:
Convexity correction: \(F/K_0 - 1 = 100/100 - 1 = 0\), so the correction is zero.
Note: This high VIX value reflects the fact that the example uses only 5 strikes with relatively high option prices. In practice, the S&P 500 has hundreds of strikes and the individual contributions are much smaller.
Exercise 5. The VIX measures expected variance under the risk-neutral measure \(\mathbb{Q}\), not the physical measure \(\mathbb{P}\). The difference is the variance risk premium (VRP). If the VIX is 20 and the expected 30-day realized volatility under \(\mathbb{P}\) is 16%, compute the annualized VRP in variance terms. Explain why VRP is typically positive for equity indices.
Solution to Exercise 5
Given VIX \(= 20\) and expected 30-day realized volatility under \(\mathbb{P}\) is 16%.
The implied annualized variance under \(\mathbb{Q}\) is:
The expected annualized realized variance under \(\mathbb{P}\) is:
The annualized variance risk premium is:
In volatility terms, this corresponds to \(\sqrt{0.04} - \sqrt{0.0256} = 20\% - 16\% = 4\%\) volatility points (though VRP is properly defined in variance, not volatility space).
Why VRP is typically positive for equity indices:
-
Hedging demand: Portfolio managers systematically buy options (especially puts) for downside protection. This buying pressure inflates option prices and hence implied variance above the actuarially fair level.
-
Risk aversion to volatility: Investors are averse to volatility itself (not just to losses). High-volatility states coincide with economic downturns, reduced consumption, and wealth destruction. Investors require a premium to bear this volatility risk.
-
Leverage effect: Volatility rises when prices fall, creating a negative correlation between returns and volatility. Since high-volatility states are "bad" states, the risk-neutral measure overweights these scenarios, inflating implied variance.
-
Jump risk: The VIX captures jump risk (via the log-contract replication), and jump events are negatively valued. The risk-neutral expectation of jump variance exceeds the physical expectation.
Exercise 6. The convexity adjustment between volatility and variance implies that \(\mathbb{E}[\sigma] \leq \sqrt{\mathbb{E}[\sigma^2]}\) by Jensen's inequality. If the fair variance swap strike is \(K_{\text{var}} = 0.04\) (20% vol), what is the upper bound on the expected volatility? Under what distributional assumptions would equality hold?
Solution to Exercise 6
By Jensen's inequality, for any concave function \(f\) (here \(f(x) = \sqrt{x}\)):
Applied to \(X = \frac{1}{T}\int_0^T \sigma_t^2 \, dt\) (realized variance):
With \(K_{\text{var}} = 0.04\), the upper bound on expected volatility is:
When does equality hold? Jensen's inequality becomes an equality if and only if the random variable inside \(f\) is deterministic (i.e., constant with probability 1). This means:
This occurs when realized variance is non-random, which happens when volatility is deterministic (possibly time-varying, but not stochastic). The simplest case is the Black-Scholes model where \(\sigma_t = \sigma_0\) is constant. Any model with stochastic volatility (Heston, SABR, etc.) will have \(\mathbb{E}[\sigma] < \sqrt{K_{\text{var}}}\), and the gap increases with the vol-of-vol parameter.
Exercise 7. The VIX formula assumes a continuous strike grid, but in practice only finitely many strikes are traded. Describe how truncation of the integral at the last available OTM strike introduces a downward bias in the VIX calculation. How does the CBOE handle this, and why does the problem worsen during market stress when deep OTM puts become very valuable?
Solution to Exercise 7
How truncation introduces downward bias: The VIX formula integrates over all strikes from \(0\) to \(\infty\):
In practice, the sum runs only from \(K_{\min}\) (lowest listed strike with a nonzero bid) to \(K_{\max}\) (highest listed strike with a nonzero bid). The missing contributions are:
Since all option prices are non-negative, every omitted contribution is non-negative, so the truncated integral underestimates the true integral. The bias is always downward.
CBOE handling: The CBOE mitigates truncation in several ways:
- Bid price filter with stopping rule: Include all OTM strikes moving outward from \(K_0\) until two consecutive zero-bid options are encountered. This captures as much of the wings as the market provides.
- Wide strike listing: The S&P 500 has options listed at many strikes, extending deep into both wings.
- Acceptance of residual bias: The CBOE acknowledges that some truncation bias remains and treats it as negligible under normal market conditions (estimated at 0.1--0.5 vol points).
Why the problem worsens during market stress: During a crash or crisis:
- Deep OTM puts become valuable: Market participants aggressively buy far OTM puts for tail hedging. These options, which normally have near-zero bids, now carry significant value.
- \(1/K^2\) amplification: The puts that gain the most value are at low strikes, where the \(1/K^2\) weight is largest. A put at \(K = 70\%\) of spot has weight \(1/(0.7F)^2 \approx 2\times\) the ATM weight.
- Strike coverage gaps: Even though more strikes become active during stress, the extreme tail may still be untradeable. The newly active put at (say) \(K = 3000\) on the S&P 500 captures some of the tail but options at \(K = 2500\) or below may still have no quotes.
- Larger contribution from missing strikes: In calm markets, the missing tail contributes negligibly. During stress, the risk-neutral density develops a much fatter left tail, and the missing strikes carry meaningful variance contribution.
The net effect is that the truncation bias increases precisely when accurate VIX measurement matters most — during market stress.