Pricing VIX Options with Black-76 and VIX Futures
Summary
The document explains how to estimate implied volatility for a VIX option using the market price of a VIX future with the same maturity. Since the option payoff depends on the VIX level at expiration, the response treats the matching-maturity futures price as the relevant forward input and proposes solving the Black-76 pricing equation for implied volatility. It also mentions a Matlab function that can perform the inversion.
A follow-up clarifies that the VIX futures price should come from the market rather than from applying a cost-of-carry formula to VIX spot. The explanation points out that VIX itself is not directly tradable: although its squared value can be represented through a portfolio of options, taking the square root creates a nonlinear transformation. The discussion offers a practical pricing approach and intuition, but does not address model calibration, volatility-surface dynamics, or market frictions.
Key ideas
- Use the same-maturity VIX futures price as the forward input for a VIX option valuation.
- Black-76 can be inverted against the observed option price to obtain implied volatility.
- The VIX futures price is a market input and is not generally obtained by compounding VIX spot.
- VIX spot is not directly tradable, and its nonlinear construction helps explain the distinction from futures.
Tags
Full text
# VIX-implied Volatility calculator
# VIX-implied Volatility calculator
Does anybody know any implied volatility calculator for VIX Options, possibily in Matlab? For Vanilla Options, I'm currently employing this function which is very fast and reliable (much more than blsimpv), but I have no idea (for the time being) If there's an analogous for Options on VIX index. By the way I'm still thinking whether I can use one of the these functions above to do this. This question is only for future reference. Thanks for your time and attention.
## Answer by Gabriele Pompa (score 0, accepted)
https://quant.stackexchange.com/a/15949
Sorry, I should have though more before posting this question. By the way, the payoff of a call option on VIX index, priced at time $t$, with maturity at time $T$, is \begin{equation} (VIX_{T} - K)^+ \end{equation} and since the time $t$ strike of a VIX futures with same maturity $T$ is \begin{equation} F_{t,T} = E^{Q}[VIX_T \big| \mathcal{F}_t] \end{equation} we have that \begin{equation} VIX_{T} \equiv F_{T,T} \end{equation} i.e. the VIX quotation at the maturity $T$ of the option, which is the only relevant for pricing it, is the same as the strike $F_{T,T}$ of a futures on VIX at the same time. Therefore Black model for pricing futures options applies and you may evaluate the implied volatility $\hat{\sigma}$ solving \begin{equation} C^{Black-76}\Big(F_{t,T},T-t,r,K,\hat{\sigma}\Big) = C^{MARKET}_{t}(K,T) \end{equation} In matlab you may use blkimpv.
## Answer by Richi Wa (score 1)
https://quant.stackexchange.com/a/16636
So in short: in place of the input where you have cost of carry in usual Black Scholes you need the traded VIX-Futures price instead (which is not (!) the result of an application of the cost of carry formula) from the market and apply Black 76 -right?
EDIT: Just like Gabriele wrote in the comment. The futures price is not (!) just the spot with interest compounding. And the reason is that the spot can not be traded. If you look at the formula for VIX then you see that $VIX^2$ is indeed a portfolio of traded options (weighted inversely to the square of the strike). But $VIX$ itself would be the square-root of this portfolio which is a non-linear transformation. I think this gives some intuition.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.