I am currently struggling with model calibration of the Hull-White (or Vasicek) model to Caps and Floors. My main problem is that I am confused about the notation.

In Brigo & Mercurio (2006, p. 76) the Cap is viewed as a portfolio of zero-bond options:

$$ Cap(t, \tau, N, X) = N \sum_{i=1}^N (1 + X \tau_i) ZBP \left(t, t_{i-1}, t_i, \frac{1}{1 + X \tau_i} \right) $$

I need to get this into a more practical view. Concrete, I want to price a 1 year Cap from today. The payment of the first Caplet is known since the reset day is today and thus the payment is known.

How could I illustrate the next 3 Caplets (=Sum is 1 Year Cap) into the zero-bond notation?

My guess would be the following:

$$ Cap(0, \delta, N, K)=N\sum_{k=1}^n \left[ P(0, t_k)\Phi(-h_k + \sigma_P^k)-(1 + K \delta_k) P(0, t_{k+1})\Phi(-h_k)\right] $$

is $P(0, t_k)$ the value of the zero-bond on the reset day of the second caplet? and $P(0, t_{k+1})$ the value of the zero-bond at the payment of the second caplet?


1 Answer 1


Caplets as zero-bond puts

To simplify things, consider each caplet by itself, the value of the cap would be in that case the sum of the caplets' values.

So, let's take a single caplet on nominal $N$ and with strike $K$, Libor tenor $\delta$, expiry $T$ and payment date $T +\delta$.

If your pricing date is beyond the expiry but before the payment date: $T < t < T + \delta$ then the payoff is already known, and the value of the caplet is just the value of the flow multiplied by the zero-coupon bond:

$$ Caplet(t)= NP(t, T + \delta) \underbrace{(L(T, T+\delta) - K)^+}_{\text{already known if } t > T} $$

If the pricing date is before the expiry, then the caplet can be written as a put option on the zero-coupon bond with strike $X = \frac{1}{1+ \delta K}$ (as explained here for example Cap option on Libor), leading to:

$$ Caplet(t) = \frac{N}{X} P(t, T) \mathbb{E}^T \left[ \left(X - P(T, T+ \delta) \right)^+\right] $$

To price this option, a model is needed for the zero-coupon bond price.

Caplets pricing under Hull-White model

When the short rate follows Hull-White model dynamics with mean reversion $a$, and volatility $\sigma$, the zero-coupon bond distribution is lognormal: $$ \frac{dP(t, T)}{P(t,T)} = r(t)dt + \sigma(t) B(t, T) dW(t) $$

where: $$ B(u,T) = \frac{1 - e^{-a(T- u)}}{a} $$

As a result, under Hull-White, Black's formula gives a closed-form price to the option above:

$$ Caplet(t) = N(1 + \delta K) \left[ P(t, T + \delta) \Phi(d_+) - X P(t, T) \Phi(d_-) \right] $$


  • $d\pm=\frac{\log\left( \frac{P(t,T+\delta)}{X P(t,T)} \right)}{\Sigma} \pm \frac{\Sigma}{2}$
  • $\Sigma^2 = B(T, T+\delta)^2 \int_t^T e^{-2a(T - u)} \sigma^2(u) du $
  • $\Phi$ is the cumulative distribution function of the standard gaussian $\mathcal{N}(0, 1)$

Hull-White calibration on cap volatilities

The first step is to strip caps vol to get caplet vols. See for example: http://www.smileofthales.com/financial/cap-floor-pricing-stripping-the-basics/

Let's suppose you want to calibration on caplets with expiries $T_1 < T_2 < \dots < T_n$. Usually, the model's volatility term structure is assumed piecewise-constant, with the same pillars: $T_1, \dots, T_n$.

You start with the option with the nearest expiry $T_1$, then determine the volatility $\sigma(T_1)$ that enables you to match the $T_1$ caplets price.

Then, you move on to $T_2$, the caplet price is a function of $\sigma(T_1)$ that is already known and $\sigma(T_2)$, so you determine the value of $\sigma(T_2)$ enabling you to match the $T_2$ and so on, until you get to $T_n$, and you are done.

  • $\begingroup$ Thank you very much. That helps me alot. So again to summarize: If my Caplet starts in 3months (T=0.25) from today with a three month tenor, all i need to is to calibrate to the Bond prices P(0,T=0.25) and P(0, (T+δ) = 0.5). Is this correct? Thanks for the great explanation! $\endgroup$ Oct 11, 2019 at 13:36
  • $\begingroup$ Just to make sure I understand what you are trying to do, do you want to calibrate the Hull-White model volatility to cap volatilities seen in the market? $\endgroup$
    – byouness
    Oct 11, 2019 at 13:47
  • $\begingroup$ Yes, right. I want to price the caps as a series of zero bond options. But first, I wanted to understand how I can price a Caplet as a zero-bond option in the Hull-White model analytically. I was confused about the notation. Did i get this right now as i wrote it in the comment above? $\endgroup$ Oct 11, 2019 at 14:26
  • $\begingroup$ No, you don't calibrate to the zero bond prices, but rather on caplet volatilities or prices. At each step, you determine the volatility that will enable you to match each caplet vol. I completed my answer above. I hope it is clear now. $\endgroup$
    – byouness
    Oct 11, 2019 at 14:49
  • $\begingroup$ Thank you, in fact this is what I know. I definitly expressed myself in a wrong way, I am sorry. But to compare my model prices with the market prices, I need to calculate a model Caplet price. And I am doing this by pricing the Caplet in the model as a zero-bond put option. But the formula of the zero-bond option consists of zero-bond prices for T and T+δ. What I am confused about is the notation. $\endgroup$ Oct 11, 2019 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.