You are on page 1of 2

Stochastic Differential Equations and Interest Rate Models

Trinomial Tree Implementation of the Hull-White Model


12 February 2008
The model is
drt = ((t) rt )dt + dwt ,
so that
rt = et r0 +

Z t
0

e(ts) (s)ds +

a(t) + et Xt ,

Z t
0

e(ts) dws
(1)

where Xt is the zero-mean gaussian martingale


Xt =

Z t
0

es dws .

The tree models Xt . The final maturity time is T years, and there are M time steps per year,
so the discrete time increment is = 1/M with a total of T M steps. The spatial step is h. If
we take

(2)
h = 3
and up and down probabilities equal to 1/6, then the trinomial step matches the first 5 moments
of the normal distribution N (0, 2 ). Here Xt does not have stationary increments, so we let 2
be an average variance, defined by
2 =

2 2T
1
1) = E[XT2 ] 2 b2 .
(e
2T
T

Thus

h = 3b2 .
Now
2

E(Xt+ Xt )

Z t+

e2s ds

2 e2t 2
=
(e 1)
2
= t2 ,
so
t2 = 2 e2t b1 ,
where

1 2
(e 1).
2
To match the incremental variance at time t = k, and recalling that h is given by (2), the up
and down probability pk must satisfy 2pk h2 = t2 , from which we find
b1 =

pk =

1 b1 2k
e
.
6 b2

Calibration to the Yield Curve for given ,


Let us denote the discrete-time process on the tree by (Yk ), so that Yk {jh : k j k}.
We want to ensure that the tree correctly calculates the zero-coupon bond values
1 k T M,

Bk = p(0, k),

(3)

which are todays market data. Index the nodes at time k as (k, j) where k j +k. In
(1) we take a(t) to be piecewise constant: a(t) = ak , t [k, (k + 1)[. We thus have T M
constraints to determine the T M values a0 , . . . , aT M 1 . This is done by a forwards induction
procedure involving the so-called Arrow-Debreu prices qk,j . The price qk,j is the value at time 0
of a contract that delivers $1 if Yk = jh and zero otherwise. The calibration condition is thus
Bk =

k
X

qk,j ,

k = 1, . . . , T M.

j=k

(Of course, B0 = q0,0 = 1.) At node (k, j) the short rate is, from (1), ak + ek jh. We interpret
this as the period- rate set at time k, so the discount factor for the period [k, (k + 1)] when
Yk = jh is
1
1

k
1 + (ak + e
1 + k + jk
jh)
We recursively compute the coefficients k and the Arrow-Debreu (AD) prices, and then we
throw away the latter. They are not needed subsequently. Note that the k are known.
At time k = 0, the discount factor is 1/(1 + 0 ), so
B1 =

1
,
1 + 0

0 =

1
1.
B1

The AD prices at time k = 1 are


q1,1 = q1,1 =

p0
,
1 + 0

q1,0 =

(1 2p0 )
.
1 + 0

Suppose we have determined 0 , . . . , k1 and all the AD prices qk,j , at some time index k.
Then the next ZCB price is
k
X
qk,j
Bk+1 =
.
(4)
1 + k + jk
j=k
The right-hand side of (4) is a monotone decreasing function of k , so we can determine the
unique value of k satisfying (4), by a binary search procedure.
If we consider a node (k+1, j) with k+1 j k1, then Yk+1 = j only if Yk = j1, j, j+1.
The AD price for (k + 1, j) is therefore
qk+1,j =

pk qk,j1
(1 2pk )qk,j
pk qk,j+1
+
+
.
1 + k + (j 1)k
1 + k + jk
1 + k + (j + 1)k

There are similar expressions for the boundary cases j = k 1, k, k, k + 1. The order of
business is thus to use the above expressions to compute 0 q1, 1 q2, . . . T M 1 .
This completes calibration to market zero-coupon bond prices.
Calibration of the volatility parameters , must use volatility-sensitive market data, i.e.
cap or swaption prices.
2