Volatility Calibration - 2024.2 English

Vitis Libraries

Release Date
2025-05-14
Version
2024.2 English

For the calibration of volatilities, a volatily generator is provided with values that can be bootstrapped from a vector of caplet implied volatilities obtained via the Black76 model. Implied volatilities are the values that, when put into the Black formula, return the price that the option currently has in the market. It is market practice 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 bootstraps 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)\)

To calibrate the model, our provided function you take a vector of implied caplet volatilities \(\hat{\sigma}_i\) as input and 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 you advance \(t\) up to maturity time each tenor expires, our generated volatilities 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