# Ho-Lee's model - by Jan Röman

```The Ho-Lee
Model
Implementation
In Excel/VBA
By
Marcelo Tames
Yoseph Ghebreyesus
Diego R Calvo
Analytical Finace II
06/12/2008
1.
Introduction ................................................................................................................................. 3
2.
Ho - Lee Model ............................................................................................................................ 4
2.2
Non-uniform sampling......................................................................................................... 4
2.1 Implementation of the Model ................................................................................................... 5
3. The Nelson-Siegel parameterization ............................................................................................... 8
4. Bootstrapping: ............................................................................................................................... 10
5. VBA ................................................................................................................................................ 13
6. Conclusions .................................................................................................................................... 14
7. Reference: ..................................................................................................................................... 15
2
1. Introduction
Interest rate risk plays a vital role in the financial theory. Actually we the complete system is based
on it becoming one of the most complex fields in mathematical finance. In 1986, Ho-Lee published
the first arbitrage free yield based model. This model was meant to deal with rates of interest that
are supposed to prevail in the future. In terms of complexity, it is regarded as a very simple model as
it can be adjusted according to real data collected from markets. The other name for this model is
the “Term structure” model. The model considers the current yield curve to be fixed. It constructs a
binomial model that lies close to this current yield curve. Nonetheless, it doesn&acute;t incorporate mean
reversion. To be exact, the price curve or the discount factor curve is very important in this context.
With the Ho-Lee model we construct what we already know as binomial tree. It is assumed that there
would be one up term structure and one down term structure from a given term structure that is
To start building the model, the group collected real data from the Swedish Central Bank
(Riksbanken) and the Swedish national debt office (Riksg&auml;lden). From this data, we construct the
binomial tree from any outstanding bond with a certain maturity. In order to do that we have
previously had to use a linear interpolation method to estimate all the possible coupon-date rates.
Once that is done, we use bootstrap the bonds so we can calculate the spot rates and thereafter the
zero coupon bond prices and their respective yields. This model was built to calculate the binomial
tree of a user selected outstanding Treasury bill or bond so he/she sees the set of possible interest
rates at maturity and based on that we get the respective “fair” prices at such rates.
3
2. Ho - Lee Model
When we implement the model, we want that the theoretical zero bond prices equal the market
prices at the initial date. The basic idea of Ho-Lee is to model the uncertain behavior of the term
structure as a whole. This model can be seen as an equivalent of the Cox-Ross-Rubinstein (1979)
model for stock options applied to the valuation of interest rate contingent claims with the
difference that Ho-Lee take the class of all functions on R+ as the state-space of their model.
It&acute;s important to take into account the assumptions the group makes before we go further:



There are no market frictions, i.e. we are not considering transaction costs or taxes.
All assets are perfectly divisible.
Trading takes place at discrete time steps
2.2 Non-uniform sampling
To sample at non-continuous times results in discrete-time samples. For example, a stock can be
checked for analysis every Friday for a whole year, here the time difference between samples (∆𝑡) is
constant (constant), but in some cases non-uniform sampling can be also used with discrete-time.
For our work, we collected bond and treasury bills data from Swedish National Debt Office, the
extracted and arranged data is shown in Table 2.2.
Table 2.1 Real collected bond and treasury bills data Source: RIKSG&Auml;LDEN&acute;s website
As one can denote, the discrete time steps in this report are not uniform or equally spaced since the
government auctions bonds and T-bills at different dates producing coupon payments and maturities
4
to differ. In contrast to continuous-time systems, where the behavior of a system is often described
by a set of linear differential equations, we still use a discrete-time system because we only take
those T-bills and bonds outstanding right now, so we know in advance already all the dates where
payments will be made. Working with those dates will make our ∆𝑡 differ between time steps.
Nevertheless, the discrete-time sampling is still useful when we take the maturity time in a “general”
time step “T” expressed in years and then say that the following step, i.e. the next coupon for a
certain bond, will occur every nT years. For example let&acute;s take bond number 1051 from the table
above, Having in mind a fixed initial date for any bond (2008-12-08), the first coupon will be paid in
0,68 years, then the next coupon will be paid in 1,68 years from now and so on until the face value
plus the last coupon are paid after 8,68 years.
2.1 Implementation of the Model
Just for reference, the general dynamic equation of the short rate is as follows:
dr (t )   (t ) d (t )   dZ (t )
(2.1)
Where dz (t) ~ N (0, 1).
To build our binomial tree using the Ho-Lee model, we use the discrete dynamics formula written as:
r (t )   (t )t   (t )Z (t )
(2.2)
Expanding it in discrete time gives:
t 1
t 1
j 1
j 1
r (t )  r (0)   ( j  1)   ( j  1)Z ( j  1)
(2.3)
This expression shows that the short rate is the sum of a set of non-stochastic drift terms and a set of
stochastic terms. In this case all of the short rates are normally distributed.
The no-arbitrage bond price P will thus be stated as:
  n 1

 n 1
 Q
Q
P(0, n)  exp    f (i  1, i )   E b(n) E exp    r ( j ) 
 i 1

  j 1

(2.4)
For instance calculating the bond price at time t=2, gives us:

P(0,2)  E e
Q
( r ( 0)r (1)
 e
r ( 0 )
Q
0
  e
E e
r (1)
ln P(0,2)   r (0)  E0Q r (1) 1  2 r (1)
2

E0Q r (1)  ln P(0,2)  r (0)  1  2 r (1)
2
5

Q
1 2
r ( 0)  E r (1)  2 r (1)
e

(2.5)
But then since:
ln P(0,2)   f (0,0)  f (0,1)
It can be rewritten as:
E0Q r (1)  f (0,1)  1  2 r (1)
2
Hence
E 0Q r (1) r (0)   (0)
recall equation (2.2)
  (0)  f (0,1)  r (0)  1  2 r (1)
2
This expression tells us that the drift term is given by the combination of two effects:
 f(0,1) – r(0) the difference between the forward and short rates

1 2
 (r (1)) The positive drift adjustment to avoid arbitrage.
2
These equations give the necessary recursive relations to evolve the Ho-Lee no arbitrage model of
short rates. We take a set of bond prices and structure of volatilities as an input for the short rates.
Therefore we get the evolutionary equation to depict the binomial tree of the model.
We use the following short rate formula to construct of the binomial tree with equal probabilities=&frac12;:
r (t  t )   (t  t )   (t  t ) t
r (t )  
r (t  t )   (t  t )   (t  t ) t
(2.6)
Here&acute;s a particular case for our own model. Since ∆𝑡 is not uniform, we always replace the
corresponding value to obtain r(t) instead of assuming ∆𝑡=1 which would make things easier, but it&acute;s
not the case for us. Figure 1.1 shows how the tree is built.
6
2
r0    j  3 c t
j 0
1
r0    j  2 c t
j 0
2
r0    j   c t
j 0
r0  0  c t
r0
1
r0    j
j 0
2
r0    j   c t
r0  0  c t
j 0
1
r0    j  2 c t
j 0
2
r0    j  3 c t
j 0
Fig 1.1 the Short Interest Rate with Constant Volatility
7
3. The Nelson-Siegel parameterization
In our model, as we explained earlier, we faced the problem of different dates for coupon payments
and maturities for the outstanding T-Bills and Bonds. Our first approach was to try calculating the
spot rates directly via the bootstrapping method, but then we realized that we needed the yields at
every date a coupon was paid. Nelson and Siegel in 1987 proposed a simple method for the
parameterization of the term structure of interest rates, which has become quite popular. It is a
technique used to determine the yield curve by an exponential approximation of the discount rate
function and the approach is based on the following parameterization of the interest rates:
f ( )  0  1e


 
 2 e


(3.1)
Where 𝛽1 , 𝛽2 . 𝛽3 and 𝜃 are constants to be estimated. In the parameterization the same constants
are assumed to apply for all maturities. The result will be a simple and smooth curve which will
provide the interest rates at the coupon dates that we were lacking in our set of data. The term
1e


affects the short-term rates, while the
2

e



is used for medium term rate.
The estimation can be easily done thanks to the Solver function built in Excel and the results are in
table 3.1.
Yield Curve by Linear inter/extrapolation with
Nilson&amp;Siegel Method
5.00
4.50
4.00
Short Rate
3.50
Yield (%)
3.00
2.50
2.00
Nilson&amp;Sie
gel
1.50
1.00
0.50
0.00
Date
Table 3.1 Exponential approximation of the discount rate function with Nilson &amp; Siegel Method
8
Paremeters for
Nelson Siege Model
Beta0
-44,6534
Beta1
47,5371
Beta2
39,3113
Theta
-45,7960
Table 3.2 Parameters for our model
Table 3.2 shows the parameters used to fit the yield curve.
One disadvantage with this method is that the estimated discount function is not necessarily
consistent with those discount factors that can be derived from market prices in table 2.1. The
procedures don&acute;t punish deviations from no-arbitrage values and for some of the bonds the price
according to the estimated curve will be lower (higher) than the market price. Therefore, one might
think such bonds are overvalued (undervalued) by the market. As one can denote in Table 3.1, even
though we get a good approximation, we decided to still bootstrap the bonds now that we have the
missing yields for the dates where coupons are paid. We will take these values and perform in the
next section the Bootstrapping method to find the Spot rates.
9
4. Bootstrapping:
After we got a good approximation of the yield curve with values for missing dates, we now apply the
bootstrapping method to calculate the spot rates, zero coupon bond prices with their respective
yields. We have seen this method from the beginning of the course and we can sum it up as a
procedure used to calculate the zero coupon yield curve from market figures by forward induction.
We calculate the yield curve from the data we calculate that consists of spot rates and forward rates.
The bond price is therefore calculated from the yield, and this is given by:
p
100
(4.1)
d
1  Ytm
360
For instruments with no coupon it is given by:
n
N
C
p


(1  Ytm)T i 1 (1  Ytm) ti
(4.2)
Where T is time to maturity.
The results for our own model are shown in table 4.1, and they simply reflect the application of
formulas 4.1 for our T-Bills and 4.2 for our Bonds with yearly coupons. As it can be seen in the Excel
file, we used the approximated yields from the Nilson and Siegel method to estimate the spot yields
for the maturity dates for all of our securities. Since the treasury bills do not pay any coupon, the
spot rate remains to be the same as the yield, but that is not the case for the bonds which get a new
value. Table 4.2 plots the yield curves summarizing the results.
Once the Spot rates are calculated, we proceed to estimate the zero coupon bond price for all the
securities. Formula 3.3 is applied and it&acute;s important to remark that the spot rates are used to get the
present value of all coupons, including the one we obtain at the maturity date where the last coupon
is paid.
ZCP  ( P  PVcoupons )
100
100  C
Where:
P = Market Price of the Bond/T-Bill
PVcoupons = Present Value for all coupons
10
(4.3)
Yield
Coupon
Price
Spot Rate
Zero Coupon
Price
2008-12-17 0,024658
3,274
0,00
99,8
2,74
99,8
2,70%
2009-01-21 0,120548
2,756
0,00
99,634
2,756
99,634
2,72%
2009-02-18 0,19726
2,765
0,00
99,374
2,765
99,374
2,73%
2009-03-18 0,273973
3,11
0,00
98,704
3,11
98,704
3,06%
2009-06-17 0,523288
2,394
0,00
98,681
2,394
98,681
4,44%
2009-12-01 0,980822
3,949
4,00
96,083
3,949
96,083
4,46%
2011-03-15 2,265753
3,641
5,25
106,687
3,3931
88,68
4,86%
2012-10-08 3,835616
3,242
5,50
108,318
3,411
83,33
4,88%
2014-05-05 5,408219
2,917
6,75
119,024
3,467
77,06
4,93%
2015-08-12 6,679452
4,098
4,50
102,467
4,430
71,6
4,98%
2016-07-12 7,59726
3,91
3,00
93,98
4,120
71,21
4,99%
2017-08-12 8,682192
4,493
3,75
94,53
4,860
63,86
5,15%
2019-03-12 10,26301
2,648
4,25
114,346
2,827
72,01
5,21%
2020-12-01 11,98904
C = Coupon amount
4,181
5,00
107,961
4,300
57,49
5,22%
Maturity
T- bills
Bonds
T in
Years
Table 4.1 Summary of Results
The calculation of the bond yields is straight forward, we apply the following formula:
𝑟 = 𝐿𝑛(
𝐹𝑉
𝑍𝐶𝑃
𝑇
11
)
(4.3)
Bond Yield
Yield Curves
8.00%
Interest Rate
6.00%
4.00%
Market Yield
2.00%
Spot Rate
Bond Yield
0.00%
-2.00%
Table 4.2 Yield Curves
12
5. VBA
With all the data available we are ready to build an Excel/VBA for the Ho-Lee model which is our
main goal.
To start with, we retrieve the Treasury bills and Bond information from the internet to later used it in
our calculations in bootstrapping and parameterization. The result of these calculations wind up in
lots of data such as bond yield, its period and the price. Once these inputs are presented to the VBA
the user is asked to enter volatility, a face value and to select the bonds by clicking on one of the
In the moment that one of the radio buttons is activated the program rebalances the cells outputting
the appropriate valued for the forward rate, sum of the variance, delta, drift and all the other
components necessary to calculate the expected short rate.
The last expected short rate is the beginning entity in the tree and from where the rest of the nods or
branches will be derived.
When the interest rates are in place the prices are calculated the finishing result is the final bond
price.
13
6. Conclusions
The Ho-Lee model was meant to deal with interest rates that are assumed prevail in the future and
considers the current yield curve to be fixed. The group chose to work with real data from the
Swedish bond market. This option turned out to be quite complex since the bonds and treasury bills
are auctioned at different dates and therefore coupons payment dates are known but not uniform. In
order to obtain accuracy in our results, we had to use the Nilson and Siegel method for linear
interpolation. This method allowed us to approximate the unknown yields for the dates when
coupons were paid, the approximation turned out to be fairly accurate in our eyes since the resulting
yield curve was completely smooth and well fit to the real one. Then, we bootstrapped the bonds so
we can calculate the spot rates and thereafter the zero coupon bond prices and their respective
yields. From our results, it is clearly seen that the market yield is the least smooth mainly because
implies the market noise and other factors that create a mispricing effect. The spot rate follows the
market yield but doesn&acute;t fluctuate too much. The bond yield shows a smooth and better
development and it is that one used to build the binomial tree.
14
7. Reference:
Jan R&ouml;man. Lecture Notes in Analytical Finance II. M&auml;lardalen University 2007
Wennermo, Michael. Ozhigova, Tatiana. Liszewski, Piotr. Ho-Lee binominal trees. Analytical
implementation of Ho–Lee model for the short interest rate.
http://janroman.dhis.org/stud/Ho-Lee_2006.pdf
http://finance.mapsofworld.com/finance-theory/ho-lee-model.html
http://www.nationmaster.com/encyclopedia/Discrete-time
15
```