Skip to content
All library documents

Calibrating the Vasicek Interest Rate Model to Cap Prices

Article Quant Q&A · Author: User341562

Summary

The document asks how to estimate Vasicek model parameters from market cap prices rather than from a historical sample of interest rates. It describes pricing a cap by summing its caplet prices, with each caplet represented using a zero-coupon bond option, then proposes fitting model prices to observed prices by minimizing squared pricing errors across caps.

The question also raises why volatility matching appears in the calibration literature when the basic Vasicek model has one volatility parameter. It does not provide a calibration answer, market data, or evidence comparing fitting methods. The proposed objective is therefore a starting point rather than a complete procedure: the document leaves open how to choose instruments and error weights, handle parameter constraints, or assess whether the model fits the market adequately. Its scope is a beginner’s question about interest rate derivatives, and the suggested calibration approach is not evaluated in the text.

Key ideas

  • Vasicek parameters can be estimated by fitting model prices to observed cap prices.
  • A cap price can be computed as the sum of its caplet prices.
  • The caplet valuation described uses a zero-coupon bond option representation.
  • The proposed fitting criterion minimizes squared differences between market and model prices.
  • The document asks about volatility matching but does not explain or resolve that issue.

Tags

Full text
# How does one calibrate a Vasicek model to actual cap prices?


# How does one calibrate a Vasicek model to actual cap prices?












I am trying to calibrate a Vasicek model given by $$ dr(t) = k[\theta - r(t)] dt + \sigma dW(t), \quad r(0) = r_0 $$ where $k, \theta, \sigma, r_0 > 0$. I am using the book by Brigo and Mercurio.

I found many resources online and in the book on how to estimate the parameters, given some sample data $r_1, \dots, r_n$. This is straightforward, since the distribution of our model is known and we can use (for example) maximum likelihood estimation.

However, I want to estimate my model parameters using actual cap prices from a (real) market. Under the Vasicek model one can calculate the bond price $P(t,T)$ and a zero bond option explicitly. Using the fact that a caplet can be expressed as (Brigo Mercurio page 41) $$ \textbf{caplet}(0,T_{i-1},T_i, \tau_i, N, K) = N(1+\tau_iK)\textbf{ZBP}(0,T_{i-1},T_i, \frac1{1+\tau_iK}), $$ I can calculate the price of a cap (by summing over all caplets) using the model parameters $k, \theta, \sigma$ and $r_0$.

Say that we have market data on caps denoted by $\textbf{Cap}^{market}_i$. Accordingly we have the cap prices suggested by the model $\textbf{Cap}^{vas}_i(k, \theta, \sigma, r_0)$. Would a model calibration look something like this? \begin{align*} \text{argmin}_{k, \theta, \sigma, r_0} \sum_{i=1}^{N} |\textbf{Cap}^{market}_i - \textbf{Cap}^{vas}_i(k, \theta, \sigma, r_0)|^2 \end{align*}

Reading this post here and reading page 220 ff. in Brigo and Mercurio (which my professor suggested I should do) volatility matching is discussed. I am not sure why this is needed since I only have a single volatility parameter $\sigma$ in my model.

Since I am an absolute beginner I am a little confused on how the actual procedure of a calibration would look like.

- How does one actually get the model parameters $k, \theta, \sigma, r_0$ from the market data?

- How does a calibration procedure actually look like?

- Why is volatility matching needed?

Any help and/or beginner-friendly resources would be greatly appreciated!

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.