In a recent series of blogs, Dickler, Jarrow and van Deventer reviewed 50 years of daily U.S. Treasury interest rate movements. They concluded that U.S. interest rates are driven by 510 random factors, a much larger number of factors than major financial institutions typically use for interest rate risk management. In a series of 3 papers, David Heath, Robert A. Jarrow and Andrew Morton (1990, 1990, 1992) introduced the “Heath Jarrow and Morton” (“HJM”) framework for modeling interest rates driven by a large number of random factors while preserving the standard “no arbitrage” assumptions of modern finance. This blog, the first of a series, provides a worked example of a basic Heath Jarrow and Morton implementation assuming one random factor with maturity dependent interest rate volatility.
The author wishes to thank Robert A. Jarrow for his encouragement and advice on this series of worked examples of the HJM approach. What follows is based heavily on Prof. Jarrow’s Modeling Fixed Income Securities and Interest Rate Options (second edition, 2002), particularly chapters 4, 6, 8, 9 and 15.
In this blog series, we use data from the Federal Reserve statistical release H15 published on April 1, 2011. U.S. Treasury yield curve data was smoothed using Kamakura Risk Manager version 7.3 to create zero coupon bonds via the maximum smoothness forward rate technique of Adams and van Deventer as documented in these two recent blog issues:
van Deventer, Donald R. “Basic Building Blocks of Yield Curve Smoothing, Part 10: Maximum Smoothness Forward Rates and Related Yields versus NelsonSiegel,” Kamakura blog, www.kamakuraco.com, January 5, 2010. Redistributed on www.riskcenter.com on January 7, 2010.
van Deventer, Donald R. “Basic Building Blocks of Yield Curve Smoothing, Part 12: Smoothing with Bond Prices as Inputs,” Kamakura blog, www.kamakuraco.com, January 20, 2010. Redistributed on www.riskcenter.com
The smoothed U.S. Treasury yield curve and the implied forward yield curves monthly for ten years looks like this:
The continuous forward rate curve and zero coupon bond yield curve that prevailed as of the close of business on March 31, 2011 were as follows:
Objectives of the Example and Key Input Data
Following Jarrow (2002), we want to show how to use the HJM framework to model random interest rates and value fixed income securities using the simulated random rates. For all of the examples in this blog series, we assume the following:
 Zero coupon bond prices for the U.S. Treasury curve on March 31, 2011 are the basic inputs.
 Interest rate volatility assumptions are based on the Dickler, Jarrow and van Deventer blog series on daily U.S. Treasury yields and forward rates from 1962 to 2011.
 The modeling period is 4 equal length periods of one year each.
 The HJM implementation is that of a “bushy tree” which we describe below
The HJM framework is usually implemented using Monte Carlo simulation or a “bushy tree” approach where a lattice of interest rates and forward rates is constructed. This lattice, in the general case, does not “recombine” like the popular “binomial” or “trinomial” trees used to replicate BlackScholes options valuation or simple 1 factor term structure models. In general, the bushy tree does not recombine because the interest rate volatility assumptions imply a pathdependent interest rate model, not one that is path independent like the simplest one factor term structure model implementations. Instead the bushy tree looks like this:
At each of the points in time on the lattice (time 0, 1, 2, 3 and 4) there are sets of zero coupon bond prices and forward rates. At time 0, there is one set of data. At time one, there are two sets of data, the “up set” and the “down set.” At time two, there are four sets of data (up up, up down, down up, and down down), and at time three there are 8=2^{3} sets of data.
In order to build a bushy tree like this, we need to specify how many factors we are modeling and what the interest volatility assumptions are. The number of ending nodes on a bushy tree for n periods is 2^{n} for a 1 factor model, 3^{n}for a 2 factor model, and 4^{n} for a 3 factor model. For this example, we will build a one factor bushy tree.
The simplest interest rate volatility function one can assume is that the one year spot U.S. Treasury rate and the three one year forward rates (the one year forwards maturing at times 2, 3 and 4) all have an identical interest rate volatility σ. This is the discrete time equivalent of the Ho and Lee model (1986). We start by examining the actual standard deviations of the daily changes from 1962 to 2011 for 10 interest rates: the continuously compounded 1 year zero coupon bond yield, the continuously compounded 1 year forward rate maturing in year 2, the continuously compounded 1 year forward rate maturing in year 3, and so on for each one year forward rate out to the one maturing in year 10. The daily volatilities are as follows:
The one year spot rate’s volatility was 0.0832% over this period. The volatilities for the forward rates maturing in years 2, 3 and 4 were 0.0911%, 0.0981%, and 0.0912% respectively. We can reach two conclusions immediately:
 Interest rate volatility is not constant over the maturity horizon (contrary to the Ho and Lee [1986] assumptions)
 Interest rate volatility is not declining over the maturity horizon (contrary to the Vasicek [1977] assumptions).
The HJM approach is so general that the Ho and Lee and Vasicek models can be replicated as special cases, but there is no need to do so since the data shows that the volatility assumptions of those models are not consistent with actual market movements.
Instead, we assume that forward rates have their actual volatilities over the period from 19622011, but we need to adjust for the fact that we have measured volatility over a time period of 1 day (which we assume is 1/250th of a year based on 250 business days per year) and we need a period for whom the length of the period Δ is 1, not 1/250. We know that the variance changes as the length of the time period:
and therefore
Therefore the 1 year forward rate, which has a volatility of 0.00091149 over a one day period has an annual volatility of 0.00091149/[(1/250)^{1/2}]=0.01441187.
We use the annual volatilities from this chart in our HJM implementation:
We will use the zero coupon bond prices prevailing on March 31, 2011 as our other inputs:
Our final assumption is that there is one random factor driving the forward rate curve. This implies (since all of our volatilities are positive) that all forward rates move up or down together. We relax this assumption when we move to 2 and 3 factor examples.
Key Implications and Notation of the HJM Approach
The Heath Jarrow and Morton conclusions are very complex to derive but their implications are very straightforward. Once the zero coupon bond prices and volatility assumptions are made, the mean of the distribution of forward rates (in a Monte Carlo simulation) and the structure of a bushy tree are completely determined by the constraints that there be no arbitrage in the economy. Modelers who are unaware of this insight would choose means of the distributions for forward rates such that valuation would provide different prices for the zero coupon bonds on March 31, 2011 than those used as input. This would create the appearance of an arbitrage opportunity, but it is in fact a big error that calls into question the validity of the calculation, as it should.
We show in this example that the zero coupon bond valuations are 100% consistent with the inputs. We now introduce our notation:
Δ

Length of time period, which is 1 in this example

r(t,s_{t})

The simple 1 period risk free interest rate as of current time t in state s_{t}

R(t,s_{t})

1+r(t,s_{t}), the total return, the value of $1 dollar invested at the risk free rate for 1 period

σ (t,T,s_{t})

Forward rate volatility at time t for the forward rate maturing at T in state s_{t }(a sequence of ups and downs)

P(t,T,s_{t})

Zero coupon bond price at time t maturing at time T in state s_{t }(i.e. up or down)

Index

= 1 if the state is “up” and = 1 if the state is “down”

U(t,T,s_{t})

= the total return that leads to bond price P(t+Δ,t,s_{t}=up) on a t maturity bond in an upshift state

D(t,T,s_{t})

= the total return that leads to bond price P(t+Δ, t, s_{t}=down) on a t maturity bond in a downshift state

K(t,T,s_{t})

is the sum of the forward volatilities as of time t for the 1 period forward rates from t+Δ to TΔ, as shown here:

We will also see the rare appearance of a trigonometric function in finance, one found in common spreadsheet software:
Note that the current times that will be relevant in building a bushy tree of zero coupon bond prices are current times t=0, 1, 2, and 3. We’ll be interested in maturity dates T=2, 3, and 4. We know that at time zero, there are 4 zero coupon bonds outstanding. At time 1, only the bonds maturing at T = 2, 3, and 4 will remain outstanding. At time 2, only the bonds maturing at times T = 3 and 4 will remain, and at time 3 only the bond maturing at time 4 will remain. For each of the boxes below, we need to fill in the relevant bushy tree (one for each of the four zero coupon bonds) with each up shift and down shift of the zero coupon bond price as we step forward one more period (by Δ = 1) on the tree:
In the interests of saving space, we’ll arrange the tree to look like a table by stretching the bushy tree as follows:
A completely populated zero coupon bond price tree would then be summarized like this where the final shift in price is color coded for up (green) or down (red):
The mapping of the sequence of up and down states is shown here, consistent with the stretched tree above:
In order to populate the trees with zero coupon bond prices and forward rates, there is one more piece of information which we need to supply.
Pseudo Probabilities
In Chapter 7 of Jarrow (2002), Prof. Jarrow shows that a necessary and sufficient condition for no arbitrage is that, at every node in the tree, the one period return on a zero coupon bond neither dominates nor is dominated by a one period investment in the risk free rate. Written as the total return on a $1 investment,
U(t,T,s_{t}) > R(t,s_{t})>D(t,T,s_{t}) for all points in time t and states s_{t}.
Prof. Jarrow adds “This condition is equivalent to the following statement: there exists a unique number π(t,s_{t}) strictly between 0 and 1 such that
R(t,s_{t})= π(t,s_{t})U(t,T,s_{t}) + (1 π(t,s_{t}))D(t,T,s_{t})”
Solving for π(t,s_{t}) gives us the relationship
If the computed π(t,s_{t}) values are between 0 and 1 everywhere on the bushy tree, then the tree is arbitrage free.
Professor Jarrow continues as follows:
“Note that each π(t,s_{t}) can be interpreted as a pseudo probability of the up state occurring over the time interval (t, t+Δ)…We call these π(t,s_{t})s pseudo probabilities because they are ‘false’ probabilities. They are not the actual probabilities generating the evolution of the money market account and the [T] period zero coupon bond prices. Nonetheless, these pseudo probabilities have an important use…” in valuation.
Prof. Jarrow goes on to explain on page 129 that “risk neutral valuation” is computed by “taking the expected cash flow, using the pseudo probabilities, and discounting at the spot rate of interest.” He adds “this is called risk neutral valuation because it is the value that the random cash flow ‘x’ would have in an economy populated by riskneutral investors, having the pseudo probabilities as their beliefs.”
We now demonstrate how to construct the bushy tree and use it for riskneutral valuation.
The Formula for Zero Coupon Bond Price Shifts
Prof. Jarrow demonstrates that the values for the risk neutral probability of an upshift π(t,s_{t}) are determined by a set of limit conditions for an assumed evolution of forward rates. Since these limit conditions allow multiple solutions, without loss of generality, one can always construct a tree whose limit is the assumed forward rate evolution with π(t,s_{t}) =1/2 for all points in current time t and all up and down states s_{t}. Using our notation above and remembering that the variable Index is 1 in an upstate and 1 in a downstate, then the shifts in zero coupon bond prices can be written as follows:
where for notational convenience cosh[K(t,T,s_{t})Δ]≡1 when TΔ. This is equation 15.17 in Jarrow (2002, page 286). We now put this formula to use.
Building the Bushy Tree for Zero Coupon Bonds Maturing at Time T=2
We now populate the bushy tree for the 2 year zero coupon bond. We calculate each element of equation (1). When t=0 and T=2, we know Δ=1 and
P(0,2,s_{t}) = 0.98411015.
The one period risk free rate is
R(0,s_{t})=1/P(0,1,s_{t})=1/0.997005786=1.003003206
The scaled sum of sigmas K(t,T,s_{t}) for t=0 and T=2 becomes
and therefore K(0,T,s_{t}) =(√1)( 0.01441187) = 0.01441187
Using formula 1 with these inputs and the fact that the variable Index=1 for an upshift gives
P(1,2,s_{t} = up) = 1.001290
For a downshift we set Index = 1 and recalculate formula 1 to get
P(1,2,s_{t} = down) = 0.972841
We have fully populated the bushy tree for the zero coupon bond maturing at T=2 (note values have been rounded to six decimal places for display only), since all of the up and down states at time t=2 result in a riskless payoff of the zero coupon bond at its face value of 1. Note also that, as a result of our volatility assumptions, the price of the bond maturing at time T=2 after an upshift to time t=1 has resulted in a value higher than the par value of 1. This implies negative interest rates. Negative nominal interest rates have appeared in Switzerland, Japan, Hong Kong and (selectively) in the United States. The academic argument is that this cannot occur because one could costlessly store cash to avoid a negative interest rate. The assumption that cash can be stored costlessly is an assumption that is not true. In fact, in 2011, Bank of New York Mellon announced that it would charge a fee (i.e. creating a negative return) on demand deposit balances in excess of $50 million. We will return to this issue in later blogs.
Building the Bushy Tree for Zero Coupon Bonds Maturing at Time T = 4
We now populate the bushy tree for the 4 year zero coupon bond. We calculate each element of equation (1). When t=0 and T=4, we know Δ=1 and
P(0,4,s_{t}) =0.930855099
The one period risk free rate is
R(0,s_{t})=1/P(0,1,s_{t})=1/0.997005786=1.003003206
The scaled sum of sigmas K(t,T,s_{t}) for t=0 and T=4 becomes
and therefore K(0,T,s_{t}) =(√1)( 0.01441187+0.015506259+0.01442681)= 0.044344939.
Using formula 1 with these inputs and the fact that the variable Index=1 for an upshift gives
P(1,4,s_{t} = up) =0.975026
For a downshift we set Index = 1 and recalculate formula 1 to get
P(1,4,s_{t} = down) = 0.892275
We have correctly populated the first two columns of the bushy tree for the zero coupon bond maturing at T=4 (note values have been rounded to six decimal places for display only).
Now we move to the third column, which displays the outcome of the T=4 zero coupon bond price after 4 scenarios: upup, updown, downup, and downdown. We calculate P(2,4,s_{t} = up) and P(2,4,s_{t} = down) after the initial “down” state as follows. When t=1, T=4, and Δ=1 then
P(1,4,s_{t} = down) = 0.892275, as shown in the second row of the second column.
The one period risk free rate is
R(1,s_{t} = down)=1/P(1,2,s_{t} = down)=1/ 0.972841 = 1.027917
The scaled sum of sigmas K(t,T,s_{t}) for t=1 and T=4 becomes
and therefore K(1,4,s_{t}) =(√1)( 0.01441187+0.015506259)= 0.029918
Using formula 1 with these inputs and the fact that the variable Index=1 for an upshift gives
P(2,4,s_{t} = up) = 0.944617
For a downshift we set Index = 1 and recalculate formula 1 to get
P(2,4,s_{t} = down) = 0.889752
We have correctly populated the third and fourth rows of column 3 (t=2) of the bushy tree for the zero coupon bond maturing at T=4 (note values have been rounded to six decimal places for display only). The remaining calculations are left to the reader.
In a similar way, the bushy tree for the price of the zero coupon bond maturing at time T=3 can be calculated as follows:
If we combine all of these tables, we can create a table of the term structure of zero coupon bond prices in each scenario:
At any point in time t, the continuously compounded yield to maturity at time T can be calculated as y(Tt)=ln[P(t,T)]/(Tt). When we display the term structure of zero coupon yields in each scenario, we can see that our volatility assumptions have indeed produced some implied negative yields in this particular simulation. We discuss how to remedy that problem in the next installment in this blog series.
Finally, we can display the 1 year U.S. Treasury spot rates and the associated term structure of 1 year forward rates in each scenario.
Valuation in the Heath Jarrow and Morton Framework
Prof. Jarrow in a quote above described valuation as the expected value of cash flows using the risk neutral probabilities. Note that column 1 denotes the riskless 1 period interest rate in each scenario. For the scenario number 14 (three consecutive downshifts in zero coupon bond prices), cash flows at time T=4 would be discounted by the one year spot rates at time t=0, by the one year spot rate at time t=1 in scenario 2 (“down”), by the one year spot rate in scenario 6 (“down down”) at time t=2, and by the one year spot rate at time t=3 in scenario 14 (“down down down”). The discount factor is
Discount Factor (0,4, down down down) =1/(1.003003)(1.027917)(1.054642)(1.081260)
These discount factors are displayed here for each potential cash flow date:
When taking expected values, we can calculate the probability of each scenario coming about since the probability of an upshift is ½:
It is convenient to calculate the “probability weighted discount factors” for use in calculating the expected present value of cash flows:
We now use the HJM bushy trees we have generated to value representative securities.
Valuation of a Zero Coupon Bond Maturing at Time T=4
A riskless zero coupon bond pays $1 in each of the 8 nodes of the bushy tree that prevail at time T=4:
When we multiply this vector of 1s times the probability weighted discount factors in the time T=4 column in the previous table and add them, we get a zero coupon bond price of 0.93085510, which is the value we should get in a noarbitrage economy, the value observable in the market and used as an input to create the tree.
Valuation of a CouponBearing Bond Paying Annual Interest
Next we value a bond with no credit risk that pays $3 in interest at every scenario at times T=1, 2, 3, and 4 plus principal of 100 at time T=4. The valuation is calculated by multiplying each cash flow by the matching probability weighted discount factor, to get a value of 104.70709974:
Valuation of a Digital Option on the 1 Year U.S. Treasury Rate
Now we value a digital option that pays $1 at time T=3 if (at that time) the one year U.S. Treasury rate (for maturity at T=4) is over 8%. If we look at the table of the term structure of one year spot and forward rates above, this happens in only one scenario, scenario 14 (down down down). The cash flow can be input in the table below and multiplied by the probability weighted discount factors to find that this option has a value of 0.11495946:
Conclusion
The Dickler, Jarrow and van Deventer studies of movements in U.S. Treasury yields and forward rates from 1962 to 2011 confirm that 510 factors are needed to accurately model interest rate movements. Popular one factor models (Ho and Lee, Vasicek, Hull and White, Black Derman and Toy) cannot replicate the actual movements in yields that have occurred. The interest rate volatility assumptions in these models (constant, constant proportion, declining, etc.) are also inconsistent with observed volatility.
In order to handle a large number of driving factors and complex interest rate volatility structures, the Heath Jarrow and Morton framework is necessary. This blog, the first in a series, shows how to simulate zero coupon bond prices, forward rates and zero coupon bond yields in an HJM framework with maturitydependent interest rate volatility. Monte Carlo simulation, an alternative to the bushy tree framework, can be done in a fully consistent way.
In the next blog in this series, we enrich the realism of the simulation by allowing for interest rate volatility that is also a function of the level of interest rates.
References
Dicker, Daniel T., Robert A. Jarrow and Donald R. van Deventer, “Inside the Kamakura Book of Yields: A Pictorial History of 50 Years of U.S. Treasury Forward Rates,” Kamakura Corporation memorandum, September 13, 2011.
Dickler, Daniel T. and Donald R. van Deventer, “Inside the Kamakura Book of Yields: An Analysis of 50 Years of Daily U.S. Treasury Forward Rates,” Kamakura blog, www.kamakuraco.com, September 14, 2011.
Dicker, Daniel T., Robert A. Jarrow and Donald R. van Deventer, “Inside the Kamakura Book of Yields: A Pictorial History of 50 Years of U.S. Treasury Zero Coupon Bond Yields,” Kamakura Corporation memorandum, September 26, 2011.
Dickler, Daniel T. and Donald R. van Deventer, “Inside the Kamakura Book of Yields: An Analysis of 50 Years of Daily U.S. Treasury Zero Coupon Bond Yields,” Kamakura blog, www.kamakuraco.com, September 26, 2011.
Dicker, Daniel T., Robert A. Jarrow and Donald R. van Deventer, “Inside the Kamakura Book of Yields: A Pictorial History of 50 Years of U.S. Treasury Par Coupon Bond Yields,” Kamakura Corporation memorandum, October 5, 2011.
Dickler, Daniel T. and Donald R. van Deventer, “Inside the Kamakura Book of Yields: An Analysis of 50 Years of Daily U.S. Par Coupon Bond Yields,” Kamakura blog, www.kamakuraco.com, October 6, 2011.
Heath, David, Robert A. Jarrow and Andrew Morton, “Contingent Claims Valuation with a Random Evolution of Interest Rates,” The Review of Futures Markets, 9 (1), 1990.
Heath, David, Robert A. Jarrow and Andrew Morton, “Bond Pricing and the Term Structure of Interest Rates: A Discrete Time Approximation,” Journal of Financial and Quantitative Analysis, December 1990.
Heath, David, Robert A. Jarrow and Andrew Morton, “Bond Pricing and the Term Structure of Interest Rates: A New Methodology for Contingent Claims Valuation,” Econometrica, 60(1), January 1992.
Jarrow, Robert A. Modeling Fixed Income Securities and Interest Rate Options, second edition, Stanford Economics and Finance, Stanford University Press, Stanford, California, 2002.
Jarrow, Robert A. and Stuart Turnbull. Derivative Securities, 1996, Southwestern Publishing Co., second edition, fall 2000.
van Deventer, Donald R. “Pitfalls in Asset and Liability Management: One Factor Term Structure Models,” Kamakura blog, www.kamakuraco.com, November 7, 2011. Reprinted in Bank Asset and Liability Management Newsletter, January, 2012.
van Deventer, Donald R. “Pitfalls in Asset and Liability Management: One Factor Term Structure Models and the LiborSwap Curve,” Kamakura blog, www.kamakuraco.com, November 23, 2011. Reprinted in Bank Asset and Liability Management Newsletter, February, 2012.
Slattery, Mark and Donald R. van Deventer, “Model Risk in Mortgage Servicing Rights,” Kamakura blog, www.kamakuraco.com, December 5, 2011.
van Deventer, Donald R., Kenji Imai, and Mark Mesler, Advanced Financial Risk Management, John Wiley & Sons, 2004. Translated into modern Chinese and published by China Renmin University Press, Beijing, 2007. Second edition forthcoming in 2012.
Donald R. van Deventer
Kamakura Corporation
Honolulu, March 2, 2012
© Copyright 2012 by Donald R. van Deventer. All rights reserved.