Letian Wang

Hull-White Model


  • Hull-White Model

  • Hull-White Tree

  • Example: Hull-White Tree Calibration

  • Appendix: Interest Rate Derivative PDE


Hull-White Model


This section is adapted from Brigo and Mercurio (2006). As an extension of the Vasicek model, Hull-White model assumes that the short rate follows the mean-reverting SDE:

where  and  are positive constants; and  is time-dependent function that will be used to fit the current zero curve.

To solve this SDE, first apply Ito lemma to

Then integrate both sides over [s,t],

In order to fit the term structure of interest rates, the time-dependent  must satisfy

where  is the market observed instantaneous forward rate at time 0 for the maturity T.


Then  can be re-written as


Therefore,  conditional on  is normally distributed with mean and variance given respectively by

HW model is an affine term structure model where the continuously-compounded spot rate is an affine function in the short rate, i.e.,

The zero coupon bond price is given by


We can also find the close-form formulas for zero-coupon bond options, caps/floors, and swaptions. See Brigo and Mercurio (2006) for detail.


Hull-White Trinomial Tree


To construct HW tree, it is helpful to decompose the short rate into the following format:









With this decomposition in hand, the tree construction task can be achieved in two steps. In the first step one constructs the trinomial tree for . Then in the second step, one shifts the tree by  to bring it in line with the initial term structure.


Step One: Construct the Symmetric Trinomial Tree


From equations (2) and (3), it is known that

Denote the tree nodes by  where the time index i ranges from 0 to N and the space index j ranges from some  to some . Using the results in A.F (Brigo and Mercurio 2006), we have



where .

Now, given the node , we need to locate its subsequent nodes  and  with the respective transition probabilities . This is done as follows. First find the space in the y direction as




Then locate the level k by




where round(x) function indicates the closest integer to the real number x. We then set




At last the transition probabilities are chosen in a way to match the conditional mean and variance,








Step Two: Displace the Tree


The second step consists of displacing the tree nodes to obtain the corresponding tree for r. An easy way to do so is through equation (1), as in class HullWhite::FittingParameter, where the instantaneous forward rate is approximated by

This approach has to approximate continuously-compounded rate  with short rate r(0), therefore doesn’t fit exactly the zero curve.

The other way uses helps from Arrow-Debrew prices. Denote  be the displacement at time , and  be the Arrow-Debrew price of node . A state price security or an Arrow-Debreu security is defined as a contract which pays off $1 in a particular state at a particular time and pays zero in all other states. Its price (net present value) is referred to as Arrow-Debreu price.

The values of  and  are calculated recursively as follows.

1.       Initialize

2.       Find

3.       With  in hand, calculate

where  is the probability of moving from node  to node .

4.       With  in hand, find  by solving

that leads to

5.       Loop step 3 and 4 to discover  and  for further steps (i++).

6.       Short rate on each node


Example: Hull-White Calibration


This section illustrates the Hull-White model calibration process with a real example. It calibrates the Hull-White tree to the LIBOR market on Monday, May 16, 2011. The settlement date is Wednesday, May 18, 2011.

Hull-White model has three parameters: , , and . In this example, the first two will be calibrated to LIBOR swaptions; and the third one will be calibrated to LIBOR spot curve. To begin with,  and  are initialized as

Another input is LIBOR spot curve, which is given by

Table 1

The rates are continuously compounded. Conventions are Act/360 and Modified Following.

The calibration process is carried out in four steps:

Step 1.               construct trinomial tree for process ;

Step 2.               displace  to obtain the tree for ;

Step 3.               price swaptions on this tree;

Step 4.               calibrate the tree to swaptions market.


Step One: Construct Trinomial Tree for Process x(t)


The outcome of this step is shown in the following figure. This trinomial tree of  is symmetric.

Figure 1 – Trinomial Tree of x(t)


Now let’s walk through the steps to create this figure.

1.       From equation (2), , or node (0,0) is 0.

2.       Consider node (0,0). From equation (4)

3.       Go through equations (3) – (5) to locate its descendants: nodes (1,-1), (1,0) and (1,1).

4.       Using (8) and (9) to get transition probabilities from  to its descendants.

By now node (0,0) is finished.

5.       Now consider node (1,-1). Follow step 2 to 4,


as well as

6.       Process similarly node (1,0) and node (1,1), then move on to the next tenor (6m). Then the figure will be created.


When the volatility is time-dependent, this trinomial tree is recombining.


Step Two: Displace x(t) to Obtain the Tree for r(t)


We can iteratively find state prices and , then shift the symmetric tree from step one by  to obtain the Hull-White tree. This has been explained in Section 2. Let’s follow the procedure introduced in that section.

1.       Initialize

2.       Find displacement

3.       Move on to time step 1, compute the state prices for the three nodes:

4.       The displacement for time step 2

5.       Move on to time step 2, compute the state prices for the five nodes. For example, for the middle node (2,0), it has three incoming nodes: (1,-1), (1,0), and (1,1), then

6.       Given the five state prices on time step 2, the displacement of this time step is

The results are shown in the following table.

Table 2

By displacing the symmetric trinomial tree in step one with corresponding , the Hull-White tree is constructed as in the following figure.


Figure 2


Note that the rates on node (1,-1) and node (2,-2) are negative. Hull White model can produce negative rates due to normal distribution.


Step Three: Price Swaptions on the Tree


Before we can proceed to swaption pricing, it needs to point out the way in calculating the discounting factor D(t,T) on the short rate tree. To calculate the discount factor, for example , we need to retrieve the rate at the beginning of the period, in this case 0.0026 on time . This contrasts with the general case when the term structure curve is used, where we usually retrieve the rate from the end of the period, in this case 0.0026 on time . This rule applies to other time steps as well.


Now we are ready to price on this tree a 3mx6m ATM European payer Swaption with notional $1,000 and ATM rate 0.007427. The swaption can be exercised only on , giving the owner the right to enter into the long position (pay fixed) of a 3mx6m forward starting swap. Therefore the value of this swaption on each of the three nodes on , or nodes (1,j), j= -1, 0, 1, is simply



So it comes down to price the underlying swap, which is priced by discounting its fixed leg cash flows and floating leg cash flows respectively, via the following formula,

First consider the fixed leg. It pays on  the amount

where the year fraction  according to 30/360 day count. The results are shown in the following table.

Table 3

Now we explain how to discount one step backward, from time step 3 to from step 2. Later we will use the same logic to discount backward the floating leg.

Consider the node (2,-2) for instance. It has three descendants: node (3,-3), (3, -2), and (3, -1). Denote  the value of node (3, j). In this particular case

To roll one step back,

We continue to deal with other four nodes in step 2 and then move on to step 1. This leads to Table 3.


For the floating leg, we can do it similarly by first identifying the cash flows and then discounting them. An alternative and quicker way is through equivalent cash flows.


Unlike fixed leg, floating leg has tenor of 3 months (see chapter LIBOR Rates). Therefore, it contains two cash flows.  The first one resets at time  and pays at time ; the second one resets at time  and pays at time .


Look at the second cash flow. On node (2,-2), the rate is fixed at

So the payment made at time  is

which is equivalent to

on time  after discounting. Thus by starting with  via equivalent cash flows, it saves us one step of backward induction. The results are shown in the following table.

Table 4


In Table 4, the two floating cash flows are treated independently, and then added up together. Cash flows start with equivalent cash flows. For example, second cash flow pays at time step 3. Its equivalent cash flow on node (2, -2) at time step 2 is



After figuring out the other four nodes at time step 2, they are discounted back to time step 1 via the same procedure as has been seen in the fixed leg part. Total value at time step 1 is the sum of the first and second cash flows.

Now we have treated both floating and fixed legs, it is ready to price the swap and the 3mx6m swaption. The pricing procedure is shown in the following table.

Table 5

In Table 5, the fixed leg column and floating leg column are inherited from Table 3 and 4, respectively. Then a long swap position receives floating leg while pays fixed leg. The Swaption is only exercised when it is in the money, or underlying swap has positive value. The last column, NPV, is the product of the Swaption value column and state price column. Finally the NPV of swaption price is the sum of NPV column, or 0.739527.


This example is done in Excel. In comparison, the accompanying C++ code gives 0.739461.


Step Four: Calibrate the Tree to Swaptions Market


Step three calculates the 3mx6m swaption on the HW tree. It is known as the model price, which depends on the model parameters. In this case, it depends on the (initial) value of  and .


Market calibrates the Hull-White model to swaption volatility cube by minimizing


where model price  is calculated by following step three; and  is the market price, obtained by plugging the volatility quotes into Black model. Pay attention to whether the volatilities are quoted as log vol or normal vol (see Chapter LIBOR Volatility).


The optimization can be achieved by iterations. In that case, a new Hull-White tree will be constructed for each iteration (when α and σ change).


Bloomberg Commands: SWPM, VCUB.




This appendix derives PDE for Interest Rate Derivatives (IRDs) in short rate model. Let the short rate SDE be

An interest rate derivative (IRD) has payoff V at time T. Its value at time t is

Using Ito lemma

by defining

We construct a hedging portfolio with two instruments with two different maturities,  and

In order to be risk-free

and no-arbitrage

which shows that the market price of risk is independent of maturity T


Substitute it into the drift equation we obtain the PDE

A faster way to get the PDE under risk-neutral measure  uses martingale property. Let the bank account numeraire be

We know that an instrument with payoff ,  is a martingale under risk-neutral measure Q. Therefore,

whose drift term should be 0. It leads to,




[1] Brigo, D. and Mercurio, F (2006). Interest rate models: theory and practice: with smile, inflation, and credit. Springer Verlag.

[2] Daglish, T. Lattice methods for no-arbitrage pricing of interest rate securities. The Journal of Derivatives. 2(18), pp. 7—19, 2010.