Volatility Calibration - 2023.2 English

Vitis Libraries

Release Date
2023.2 English

For the calibration of volatilities, we provide a volatily generator with values that can be bootstrapped from a vector of caplet implied volatitilies obtained via the Black76 model. Implied volatitilies are the values that, when put into the Black formula, return the price that the option currently has in the market. It is market practise to quote the price of a caplet for a tenor \(T_i\) by just their implied volatily and not the actual price. Our implementation uses a calibration formula that will bootstrap the implied volatilities into a stationary piecewise constant volatility vectors used by the LMM. This implies that the calculated volatilities are identical for all fixed times to maturity and they change over time as time to maturity changes \(\gamma(t,T) = \gamma(T - t)\)

In order to calibrate the model, our provided function we take a vector of implied caplet volatilities \(\hat{\sigma}_i\) as input and will generate the volatility matrix as follows:

\[\sigma_i(t) = \sqrt{\frac{\hat{\sigma}_i^2T_i-\sum_{k=0}^{i-1}\sigma_k^2(t)\tau_k}{\tau_0}}\]

Since as we advance \(t\) up to maturity time each tenor expires, our generated volatilities will take the form of a lower triangular matrix:

  \([0,T_0]\) \((T_0,T_1]\) \((T_1,T_2]\) \((T_{n-2},T_{n-1}]\) \((T_{n-1},T_n]\)
\(L_1(t)\) \(\sigma_1(T_0)\) expired expired expired expired
\(L_2(t)\) \(\sigma_2(T_0)\) \(\sigma_1(T_1)\) expired expired expired
\(L_n(t)\) \(\sigma_n(T_0)\) \(\sigma_{n-1}(T_1)\) \(\sigma_{n-2}(T_2)\) \(\sigma_1(T_n)\) expired