The Ho-Lee Model Implementation In Excel/VBA By Marcelo Tames Yoseph Ghebreyesus Diego R Calvo Analytical Finace II 06/12/2008 Table of Contents 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´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 made up of discount factors. To start building the model, the group collected real data from the Swedish Central Bank (Riksbanken) and the Swedish national debt office (Riksgä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´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ÄLDEN´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´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=½: r (t t ) (t t ) (t t ) t r (t ) r (t t ) (t t ) (t t ) t (2.6) Here´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´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&Siegel Method 5.00 4.50 4.00 Short Rate 3.50 Yield (%) 3.00 2.50 2.00 Nilson&Sie gel 1.50 1.00 0.50 0.00 Date Table 3.1 Exponential approximation of the discount rate function with Nilson & 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´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´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 available radio buttons. 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´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öman. Lecture Notes in Analytical Finance II. Mä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