# Fitting the Term structure of Discount Bonds with Ho-Lee

I was now reading a book on interest rate modelling, and I am having trouble picturing the practical issues of model calibration with the Ho-Lee model.

Apparently, one of the drawbacks of this model is the following:

The Ho-Lee model effectively has two parameters $-$ $r(0)$ and $\sigma_r$ $-$ with which one can attempt to fit the initial yield curve. It should be clear that this is insufficient to properly match observable discount bond prices, which effectively disqualifies the model from practical pricing applications

Right after that, the book states the following

Fortunately, a remedy is quite straightforward: simply introduce a deterministic function $a(t)$ and alter the model to be $r(t) = r(0) + a(t) + \sigma_rW(t)$ with $a(0) = 0$

Two questions:

1. On calibrating this model, how should I go about it? Any particular method that is most popular?
2. Why, according to the first quote, can't we fit term structures with Ho-Lee at all? Is this always the case? And specifically how exactly does a time-dependent parameter improve things so much?

What they are referring to is a very simplified version of the Ho-Lee model, i.e. on that assumes $$r(t)=r(0)+{\sigma}W(t)$$ where ${\sigma}$ is a constant (annualized StDev).

For the sake of simplicity, imagine we are in discrete time and want to fit the model to observed (market) prices of bonds. We assume that $p=0.50$, i.e. the probability of interest rate going up/down is constant and the interest rate is modelled as $$r_{i+1,j}=r_{i,j}+{\sigma}\times\sqrt{\Delta}$$ (the rate going up) and $$r_{i+1,j}=r_{i,j}-{\sigma}\times\sqrt{\Delta}$$ (the rate going down).

It is clear that we are in binomial lattice model and that the ${\Delta}$ is the time step. Again, for the sake of simplicity assume ${\Delta}=1.0$ (years). (BTW - these equations are consistent with Veronesi's explanations in his book on Fixed Income)

Let's assume that ${\sigma}=0.02$ and let's have a ZCB with 1y maturity with market price of 97.5310 and 2y ZCB with price of 94.12.

Hence $r(0)=0.025$ (that is $97.5310{\times}e^{0.0250}=100$) and you now can build the entire lattice, i.e. in the next period the up rate is $0.045$ and the down rate is $0.005$. If you price the 2y ZCB (assuming face of $100$) you get $e^{-0.0250}{\times}0.50{\times}(e^{-0.045}*100+e^{-0.005}*100)=95.142$ which does not correspond to the market price of 94.12.

By introducing another term into the equation, i.e.

$$r_{i+1,j}=r_{i,j}+ {\color{red}{\theta_i}} + {\sigma}\times\sqrt{\Delta}$$

you use the observed price of the 2y bond to exactly fit the lattice, i.e. the market prices will match the model prices. The ${\theta_{i}}$s are called free parameters and you really choose them to exactly fix the given ZCB prices (why: you want your model to be good enough to match market prices).

In terms of model calibration, you can use numerical solver and iteratively solve for ${\theta}_1$, ${\theta_2}$ etc. You can get an exact (analytical) expression for each if needed (unlike in BDT model), but the numerical solvers are fast, easy and have good enough accuracy.