Four years ago, back in 2014, a friend from HKUST, that had started working in the finance industry, asked me about the VIX. He could not figure out why the CBOE volatility index, popularly called the fear index, was calculated the way it was (see this white paper) – specifically he was curious about the reason for the term \(1/K^2\). Pursuing the quest of understanding the VIX, I remember it felt like very few people truly understood what was going on, and that the ones that did had no interest in sharing their knowledge.

After lots of reading, I was able to connect the dots, summarized here in two parts. The key insights of the first part was found from digging in the references to this wikipedia page; see the appendices in the articles here and here. For the second part I am sad to say I do not remember the references (but I will keep digging).

I believe this is part of the theory that makes financial mathematics beautiful. My reasons for posting this is due to this inherent beauty, and that I do not want to forget certain insights. Moreover, I hope this can serve some educational purpose for aspiring quants.

## Variance Swap

Before we start the calculations it should be noted that, at maturity, the payoff of a variance swap is \[ \begin{align*} 10000N(\Sigma^2-K_{var}), \end{align*} \] where

- \(N\) = notational amount quoted in $ per volatility point squared (hence the factor of \(100^2=10000\)).
- \(\Sigma^2\) = realized variance in the underlying asset during the life of the swap.
- \(K_{var}\) = strike on variance.

The underlying assumption is that the S&P500, \(S_t\), follows a geometric brownian motion

\[ \begin{align*} dS_t&=\mu_tS_tdt+\sigma_tS_tdB_t. \end{align*} \]

This can be solved using everyones favourite lemma, Itô’s lemma: Use the substitution \(Y_t=\log (S_t)\) and apply It^o’s Lemma to the function \(f(t,x):=\log (x)\). The partial derivatives are

\[ \begin{align} \frac{\partial f}{\partial t}(t,X_t)=0,\; \frac{\partial f}{\partial x}(t,X_t)=\frac{1}{S_t},\; \frac{\partial^2 f}{\partial^2 x}(t,X_t)=-\frac{1}{S_t^2}. \end{align} \] Thus, we obtain \[ \begin{align*} dY_t&=\left(\frac{\mu_tS_t}{S_t}-\frac{\sigma_t^2S_t^2}{2S_t^2}\right)dt+ \frac{\sigma_tS_t}{S_t}dB_t \text{ by Itô's Lemma} \\ &=\left(\mu_t-\frac{\sigma_t^2}{2}\right)dt+\sigma_tdB_t. \end{align*} \]

Dividing the equation for \(dS_t\) with \(S_t\) and subtracting this last equation we have:

\[ \begin{align*} \frac{dS_t}{S_t}-d(\log(S_t))&=\mu_tdt+\sigma_tdB_t-\left(\left(\mu_t-\frac{\sigma_t^2}{2}\right)dt+\sigma_tdB_t\right)\\ &=\frac{\sigma_t^2}{2}dt. \end{align*} \] Hence, \[ \begin{align*} Variance = \frac{1}{T}\int_{0}^{T}\sigma_t^2dt=\frac{2}{T}\left(\int_{0}^{T}\frac{dS_t}{S_t}-\log(\frac{S_T}{S_0})\right). \end{align*} \]

Notice that \[ \begin{align*} \log\left(\frac{S_T}{S_0}\right)=\log\left(\frac{S_T}{S^*}\right)+\log\left(\frac{S^*}{S_0}\right). \end{align*} \]

We now make use of the dirac delta function (\(\delta(x)=\infty\) if \(x=0\), \(0\) otherwise) to write on \(-\log\left(\frac{S_T}{S_*}\right)\) and then integrate by parts twice (this is where the \(1/K^2\) comes from):

\[ \begin{align*} -\log\left(\frac{S_T}{S_*}\right)&=\log (S^*)-\log (S_T)\\ &=\log (S^*)-\int_{o}^{\infty}log(K)\delta(S_T-K)dK\text{ by propertis of the dirac delta function}\\ &=\log (S^*)-\int_{o}^{S^*}log(K)\delta(S_T-K)dK-\int_{S^*}^{\infty}log(K)\delta(S_T-K)dK \text{ splitting the integral}\\ &=\log (S^*)-\left[\log(K)1_{(S_T<K)}\right]_0^{S^*}+\int_{0}^{S^*}\frac{1}{K}1_{(S_T<K)}dK\\ &-\left[\log(K)1_{(S_T\geq K)}\right]_{S^*}^{\infty}+\int_{S^*}^{\infty}\frac{1}{K}1_{(S_T\geq K)}dK\text{ by integration by parts}\\ &=\log (S^*)- \log(S^*)1_{(S_T<K)}+\left.\frac{1}{K}[K-S_T]^+\right|_0^{S^*}+\int_{0}^{S^*}\frac{1}{K^2}[K-S_T]^+dK\\ &-\log(S^*)1_{(S_T\geq K)}+\left.\frac{1}{K}[S_T-K]^+\right|_{S^*}^\infty+\int_{S^*}^{\infty}\frac{1}{K^2}[S_T-K]^+dK\\ &=\frac{1}{S^*}\left(\left[S^*-S_T\right]^+-\left[S_T-S^*\right]^+\right) +\int_{0}^{S^*}\frac{1}{K^2}[K-S_T]^+dK+\int_{S^*}^{\infty}\frac{1}{K^2}[S_T-K]^+dK\\ &=\frac{1}{S^*}\left(S^*-S_T\right) +\int_{0}^{S^*}\frac{1}{K^2}[K-S_T]^+dK+\int_{S^*}^{\infty}\frac{1}{K^2}[S_T-K]^+dK. \end{align*} \]

This was kinda tedious, but this calculation is the reason for \(1/K^2\) part in the final equation.

We now have the final equation for the variance:

\[ \begin{align*} Variance=\frac{2}{T}\left(\int_{0}^{T}\frac{dS_t}{S_t}-\log(\frac{S^*}{S_0}) +\frac{1}{S^*}\left(S^*-S_T\right) +\int_{0}^{S^*}\frac{1}{K^2}[K-S_T]^+dK+\int_{S^*}^{\infty}\frac{1}{K^2}[S_T-K]^+dK \right). \end{align*} \]

Say \(Variance = \Sigma^2\) (realized variance in the underlying asset during the life of the swap). To avoid arbitrage in the payoff equation (equation located in the start) we have to set: \[ \begin{align*} E[\Sigma^2]=K_{var}, \end{align*} \] the expectation of the realized variance is equal to the strike on the variance.

For the expecattions, not that \[ \begin{align*} E\left[\int_{0}^{T}\frac{dS_t}{S_t}\right]&=E\left[\int_{0}^{T}\mu_tdt+\int_{0}^{T}\sigma_tdB_t\right]=\mu T \text{ assuming }\mu\text{ is constant}\\ E\left[\log(\frac{S^*}{S_0})\right]&=\log(\frac{S^*}{S_0})\text{ they're just constants}\\ E\left[S_T\right]&=S_0e^{\mu T}. \end{align*} \]

Also observe that the price of a put and a call option both with strike \(K\) is \[ \begin{align*} P(K)&=e^{-eT}E\left[\left(K-S_T\right)^+\right]\\ C(K)&=e^{-eT}E\left[\left(S_T-K\right)^+\right]. \end{align*} \]

Taking expectations of the equation for the realized variance we obtain

\[ \begin{align*} K_{var}=E[Variance]=\frac{2}{T}\left(\mu T-\left(\frac{S_O}{S^*}e^{\mu T}-1\right) -\log\left(\frac{S^*}{S_0}\right) +e^{\mu T} \int_{0}^{S^*}\frac{P(K)}{K^2}dK+e^{\mu T}\int_{S^*}^{\infty}\frac{C(K)}{K^2}dK \right). \end{align*} \] Another way of writing this is: \[ \begin{align*} K_{var}&=\frac{2}{T}\left(\log\left(\frac{F_o}{S^*}\right)-\left(\frac{F_0}{S^*}-1\right)+e^{\mu T} \int_{0}^{S^*}\frac{P(K)}{K^2}dK+e^{\mu T}\int_{S^*}^{\infty}\frac{C(K)}{K^2}dK \right). \end{align*} \] Now, making the smart choice of setting \(S^*=F_0=S_0e^{\mu T}\) a lot cancel out and we have the final equation

\[ \begin{align*} K_{var}=\frac{2e^{\mu T}}{T}\left[\int_{0}^{F_0}\frac{P(K)}{K^2}dK+\int_{F_0}^{\infty}\frac{C(K)}{K^2}dK\right]. \end{align*} \]

## Relationship between variance swap and the VIX

We seek a discretized version (the VIX) of our fair price variance swap formula. Assume that the price of options with strike prices \(K_i,\,(i=1:n)\) are known and that \[ \begin{align*} K_1<K_2<...<K_n. \end{align*} \] Furthermore, choose \(S^*\) equal to the first strike price below \(F_0\), define the function

\[ \begin{align*} Q(K_i)&=P(K_i)1_{(K_i\leq S^*)}+C(K_i)1_{(S^*<K_i)}, \end{align*} \]

and then approximate the integrals as following

\[ \begin{align*} e^{\mu T} \int_{0}^{S^*}\frac{P(K)}{K^2}dK+e^{\mu T}\int_{S^*}^{\infty}\frac{C(K)}{K^2}dK=e^{\mu T}\sum_{i=1}^{n}\frac{\Delta K_i}{K_i^2}Q(K_i), \end{align*} \]

where \[ \begin{align*} \Delta K_i&=\frac{K_{i+1}-K_{i}}{2},\,\,i=2:n-1\\ \Delta K_1&=K_2-K_1\\ \Delta K_n&=K_n-K_{n-1}. \end{align*} \]

Set this aproximation inside the equation for fair variance swap with and we obtain \[ \begin{align*} K_{var}\approx\frac{2}{T}\left(\log\left(\frac{F_o}{S^*}\right)-\left(\frac{F_0}{S^*}-1\right)+e^{\mu T}\sum_{i=1}^{n}\frac{\Delta K_i}{K_i^2}Q(K_i)\right). \end{align*} \]

The maclaurin polynomial for \(\log(F_0/S^*)\) is \[ \begin{align*} \log\left(\frac{F_0}{S^*}\right)&=\left(\frac{F_0}{S^*}-1\right)-\frac{1}{2}\left(\frac{F_0}{S^*}-1\right)^2+O\left(\left(\frac{F_0}{S^*}-1\right)^2\right). \end{align*} \]

Thus, \[ \begin{align*} \log\left(\frac{F_o}{S^*}\right)-\left(\frac{F_0}{S^*}-1\right) =-\frac{1}{2}\left(\frac{F_0}{S^*}-1\right)^2+O\left(\left(\frac{F_0}{S^*}-1\right)^2\right), \end{align*} \] and we obtain our final approximation

\[ \begin{align*} K_{var}\approx\frac{2}{T}e^{\mu T}\sum_{i=1}^{n}\frac{\Delta K_i}{K_i^2}Q(K_i)-\frac{1}{2}\left(\frac{F_0}{S^*}-1\right)^2, \end{align*} \] which we recognize as the fomula for the VIX.

Remember that the underlying “stock” here is the S&P500 index! I am note sure if there are call and put options that has the S&P as underlying, if there isn’t, you should use underlying stocks that is highly correlated (beta) with the S&P and calculate the VIX for all of them and maybe take the average.