# Hull-White calibration volatility as a function of time

I need some help for the parametrization of the volatility parameter in the Hull-White model.

I have the necessary Caplet vols and I calibrated the HW model to match the Caplet and hence the Cap prices exactly.

But I calibrated the volatility as one factor for every Caplet. I didn't parametrize the volatility as a function of time for each T.

That could be the reason why my volatility is always higher than the volatility of the previous Caplet. I do not get a proper volatility term structure that is consistent with the market volatility structure, though my prices fit exactly.

I posted already something here: Cap price as bond options

The topic was a different (more fundamental) one, but the answer I am refering now to is that:

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 T1

You start with the option with the nearest expiry T1, then determine the volatility σ(T1) that enables you to match the T1 caplets price.

Then, you move on to T2, the caplet price is a function of σ(T1) that is already known and σ(T2), so you determine the value of σ(T2) enabling you to match the T2 and so on, until you get to Tn, and you are done.

In the Hull-White paper from 2000 they provide this information about calibrating the vol parameter:

Now I am kind of confused.

1) How do I set up the parametrized volatility function and what do I calibrate for? For the time parameter or the other two parameters?

2) This would yield in always same parameters and just the Time is changing? Do i then calibrate the T?

3) What are the corner points in time? I want to calibrate to each Caplet. Are my T the points in time for the Caplets? Starting with 0.5 for the first Caplet (6month tenor) and then going on to 1 - 1.5 - 2.0 - 2.5 and so on until every Caplet is calibrated?

I am really confused and would appreciate If some could serve me a fundamental great answer about the parametrization.

I hope you can help me.

• Hello Christian. If you choose a piecewise-constant Hull-White volatility function, with as many points as the expiries of the caplets you are trying to calibrate to, then you can do the bootstrap procedure described in the answer you are referring to. Dec 3 '19 at 11:05
• Hello, thank you. I didn't bootstrap the Caplet volatilities on my own. How do I proceed with calibrating the Hull-White volatilities as a function of time? Dec 3 '19 at 11:23
• Let's suppose you have 3 caplets to simplify, with expirires $0 < T_1 < T_2 < T_3$. You have the caplet's price as a function of $\sigma_1$ = HW vol on the interval $[0, T_1]$, so you determine the vol that enables you to match the caplet's price. Then you move on to the next, i.e. $T_2$, the caplet's price now is a function of $\sigma_1$ (already calibrated) as well as $\sigma_2$ = HW vol on the interval $]T_1, T_2]$, so you determine the value that gives you the market's price. Then you do the same thing for $T_3$. I hope it is clear now. Dec 3 '19 at 14:59
• But why is the second Caplet's price a function of σ1? How do I do that? I first calibrate the single volatility to match the first Caplet's price. Than I Calibrate the single volatility to the second Caplet's price and so on. But how do I calibrate the volatilities that they depend on each other. I would appreciate if you could explain me the function a bit more. And do I just calibrate the single volatility parameter for each time interval or do I need to parametrize the function as posted in the screenshots from Hull-White (2000)? Dec 4 '19 at 7:55
• The other question establishes that the caplet's price with expiry $T_2$ is given by Black's formula with a vol given by: \begin{aligned} \Sigma^2(0,T_2)&=B(T_2,T_2+\delta)^2\int_0^{T_2}e^{-2a(T_2-u)}\sigma^2(u)du \\&=B(T_2,T_2+\delta)^2 \left[\int_0^{T_1}e^{-2a(T_2-u)}\sigma^2(u) du+\int_{T_1}^{T_2}e^{-2a(T_2-u)}\sigma^2(u)du\right]\\ &=B(T_2,T_2+\delta)^2\left[\sigma_1^2\int_0^{T_1}e^{-2a(T_2-u)}du+\sigma_2^2\int_{T_1}^{T_2}e^{-2a(T_2-u)}du\right] \end{aligned} at this stage, only $\sigma_2$ is unknown. It can be computed by equating: $\Sigma_{HW}(0,T_2)=\Sigma_\text{market}(0,T_2)$ Dec 4 '19 at 10:17

In the question you are referring to, we have established that the caplet has a closed-form formula under Hull-White model, with the Black implied volatility $$\Sigma$$ a function of the Hull-White volatility $$\sigma$$ term structure from 0 and until the caplet's expiry $$T$$: $$\Sigma^2(0,T)=B(T,T+\delta)^2\int_0^T e^{−2a(T−u)}\sigma^2(u)du$$
To calibrate on a basket of caplets, with expiries $$0 < T_1 < T_2 < \dots < T_n$$, you can choose a piecewise-constant term structure for the Hull-White volatility, with pillars corresponding to these expiries $$(T_i)_i$$. That is: $$\sigma(t) = \sigma_i, \quad T_{i-1} < t \leq T_i$$
In this case, you can use a bootstrap procedure to calibrate each value $$\sigma_i$$ on a calibration instrument. In the first step, only $$\sigma_1$$ is unknown, and you solve for it: \begin{aligned} \Sigma^2_\text{market}(0, T_1) &= \Sigma^2(0, T_1) \\ &= B(T_1, T_1 + \delta)^2 \sigma_1^2 \int_0^{T_1} e^{-2a(T_1 - u)}du \end{aligned} Then, you move on to $$T_2$$, and solve for $$\sigma_2$$: \begin{aligned} \Sigma^2(0,T_2)_\text{market} &= \Sigma^2(0,T_2)\\ &=B(T_2,T_2+\delta)^2\left[\int_0^{T_1}e^{−2a(T_2−u)}\sigma^2(u)du+\int_{T_1}^{T_2}e^{−2a(T_2−u)}\sigma^2(u)du \right] \\ &=B(T_2,T_2+\delta)^2 \left[\sigma^2_1 \int_0^{T_1}e^{−2a(T_2−u)}du+\sigma^2_2 \int_{T_1}^{T_2}e^{−2a(T_2−u)}du \right] \end{aligned} and so on...