Term Structure of Interest Rates

Simon Benninga and Zvi Wiener

This is the first of two articles on the term structure.  In it, the authors 
discuss some term structure fundamentals and the measurement of the current 
term structure.  They also illustrate the Vasicek and the Cox-Ingersoll-Ross 
models of the term structure.  A succeeding article will discuss the 
Black-Derman-Toy and Black-Karasinsky models of the term structure.

this version : April 6, 1998

0.  Overview

Interest rates and their dynamics provide probably the most  computationally  difficult part of the modern financial theory.  The modern fixed income market includes not only bonds but all kinds of   derivative securities sensitive to interest rates.  Moreover interest rates  are important in pricing all other market securities since they are used in   time discounting.  Interest rates are also important on corporate level   since most investment decisions are based on some expectations regarding   alternative opportunities and the cost of capital - both depend on the   interest rates.
	Intuitively an interest rate is  something very clear. Consider a payment  of $1 which will be made with certainty at time t (throughout this article we will consider only payments made with  certainty and consequently ornly risk-free interest rates).  If the market  price of $1 paid in time t from now is (Subscript[P, 0]) , then the interest rate for time t can be found from the simple discount   formula (Subscript[P, 0]) = ($1/(((1 + (Subscript[r, t])))^t)).  The interest rate (Subscript[r, t]) in this formula is known as the pure discount interest rate for time t.  
	At this point a short and very incomplete review of bond terminology is  in order.  A standard bond has the following characteristics:
	D	the bond's face value (sometimes called its "notional value").
	C	the bond's coupon payments.  Often quoted as a percentage of its face value
		 (hence the  terminology "coupon rate"--the percentage rate of the face value paid as  coupons)
	N	the bond's maturity; the date of the last payment (consisting of the face value plus the  coupon rate) 	 
Once the term structure of interest rates is known, the  price of a bond with yearly coupons is given by:  \(TraditionalForm
      \`P\_0 = ∑\+\(t = 1\)\%N C\/\((1 + r\_t)\)\^t\)+(D/(((1 + (Subscript[r, N])))^N)),
	For analytic computations it is sometimes more convenient to assume  that a bond makes a continuous stream of payments between time 0 and time N.  Denoting the payment during the time from t till t+dt by Ctdt , the bond price is given by \(TraditionalForm
      \`P\_0 = ∫\_\(t = 1\)\%N\( e\^\(-tr\_t\)\) \(C\_t\) dt\).  This expression makes use of continuous compounding.
	A zero coupon bond (sometimes referred to as a pure discount bond) is a bond with no coupon payments.  In our initial calculations in this  section, we have calculated the term structure from such pure discount bonds.  The term structure of interest rates describes the curve (Subscript[r, t]) as a function of t.   Although most of this article deals with the theory of term structures,  it helps to look at some actual term structures.  Consider the following  graphs, based on data collected by John McCullogh (???).  The first graph  gives 12 term structures, one for each month of 1947:

The graph of 1947 term structures may suggest that the interest rate 
increases with the length of the time period over which the payment is 
promised, but the following picture shows that this is not always true:

Forward Interest Rates

The forward interest rate is a rate which an investor can promise  herself  today, given the term structure.  Here is a simple example:  Suppose  that the  interest for a maturity of 3 years is given by (Subscript[r, 3]) = 10% and the interest rate for a maturity of 5 years is given by (Subscript[r, 5]) = 11%.  Furthermore suppose that lending and borrowing rates are equal.  Now   consider the following package of lending and borrowing made by an investor:
  	* Lend $1000 for 3 years at 10%.	 
	* Borrow $1000 for 5 years at 11%.
 The cash flow pattern of this  lending/borrowing looks like:
	time 0:  Borrow $1000 and lend $1000 - net zero cash flow.
	time 3:  Get repayment of $1000 lent at time 0 for 10% - inflow of   $1000*(1.10)3  = $1331.
	time 5:  Repay $1000 borrowed at time 0 for 11% - outflow of $1000*(1.11)5 = $1658.06.
The upshot is that the package looks exactly like a 2-year loan at time 3 arranged at time 0.  The annual interest rate - the two-year forward interest rate at time 3 on this "loan" is: 12.517%

Sqrt[1.11^5/1.1^3] - 1

Thus, given a discrete term structure of interest rates, (Subscript[r, 1]), (Subscript[r, 2]), ... the n-period forward rate at time t is defined by:
					\(TraditionalForm
      \`\((\((1 + r\_\(t + n\))\)\^\((t + n)\)\/\((1 + r\_t)\)\^t)\)\^\(1/n
            \) = r\_\(t, n\)\%f\)
We most often use a continuous version of this formula:
		
		\(TraditionalForm
      \`\((Exp[\((t + n)\) r\_\(t + n\)]/Exp[t\ r\_t])\)\^\(1/n\)\)=Exp[ (Subscript[r, t, n]^f) ] or  (Subscript[r, t, n]^f)=(1/n)[t ((Subscript[r, t + n ])- (Subscript[r, t]) )  +  n (Subscript[r, t + n])] = ((t((Subscript[r, t + n]) - (Subscript[r, t])))/n) - (Subscript[r, t + n])

Or alternatively			\(TraditionalForm
      \`r\_\(t, n\)\%f = 
        \(-\(∂\ \(logP(t, t + n)\)\/∂\ n\)\)\), where P(t,t+n) is the time t price of $1 paid at time t+n.

1.  Estimating the term structure from bond market data

In principle, estimating the term stucture of interest rates from bond  market data ought to be a matter of a fairly simple set of calculations.  	 The simple idea is to take a set of bonds {Bj},  decompose each of them into series of payments, discount each series   according to some unknown term structure and then to equate the resulting   expression to the observed prices.     In practice there are many  complications caused by a variety of market complications:  non-simultaneity  of bond prices, bid-ask spreads, liquidity premiums, bond covenants and  embedded bond options, etc.. 
	In this section we give only a simple  illustration of the problematics of estimating the term structure.  Let us  assume that the  true interest rates are (Subscript[r, 1])=5.5%, (Subscript[r, 2])=5.55%, (Subscript[r, 3])=5.6%, (Subscript[r, 4])=5.65%, (Subscript[r, 5])=5.7%, for 1,2,3,4 and 5 years respectively.  Suppose we observe prices of  the following  bonds: (1 years, 3%), (2 years, 5%), (3 years, 3%), (4 years,  7%),  (5 years, 0%). The first number is time to maturity and the second  number is the coupon rate; we assume that each bond's coupon is paid once a  year.  The face value of each bond is $1000, we assume yaerly payments for  simplicity.  Thus, for example, the bond (4 years, 7%) pays 3 payments of $70  (one year from today, two years from today, and three years from today); in  four  years the bond will pay $1070.   
	The term structure allows us to  price the bonds:

termStructure = {0.05, 0.058,  0.059, 0.0595, 0.06};

The bonds can be described as:

\(bond1\  = \ {1. , \ 0.03}; 
bond2\  = \ {2. , \ 0.05}; 

    bond3\  = \ {3. , \ 0.03}; 
bond4\  = \ {4. , \ 0.07}; 

    bond5\  = \ {5. , \ 0.0}; \)

The pricing function is:

Clear[bondPrice]\(\(bondPrice[bond_] := 
      Sum[1000*\ bond[\([2]\)]*E^\((\(-termStructure[\([\ i]\)]\)*i)\), 
          \ {i, bond[\([1]\)]}]
			 + 
        1000*E^\((\(-termStructure[\([\ bond[\([1]\)]\ ]\)]\)*bond[\([1]\)])
              \); \)\)

The prices of these bonds are:

bprices  = Map[bondPrice,  {bond1, bond2, bond3, bond4, bond5}]

We form a formal expression for pricing bonds using the unknown interest   rates

Clear[ BPriceExpr]\(IRunknown = {r1, r2, r3, r4, r5}; 

    BPriceExpr[bond_] := 
      Sum[1000*\ bond[\([2]\)]*E^\((\(-IRunknown[\([\ i]\)]\)*\((i)\))\), 
          \ {i, bond[\([1]\)]}]
			 + 
        1000*E^\((\(-IRunknown[\([bond[\([1]\)]]\)]\)*bond[\([1]\)])\); \)

Solving the appropriate pricing equations gives us back the precise term  structure of interest rates:

impliedIR  = 
      FindRoot[ {bprices[[1]] == BPriceExpr[bond1], 
          bprices[[2]] == BPriceExpr[bond2], 
          bprices[[3]] == BPriceExpr[bond3], 
          bprices[[4]] == BPriceExpr[bond4], 
          bprices[[5]] == BPriceExpr[bond5]}, {r1, 0.045}, {r2, 0.045}, {
          r3, 0.045}, {r4, 0.045}, {r5, 0.045}]

Here we use a flat 4.5% term structure as an initial guess.  Note that  Solve or even NSolve are very inefficient in this case, and that we have used  the FindRoot operator.  Note that these interest rates were implied from rounded bond  prices however  they are very far from the initial (true) interest rates.

So what's the problem?

The above example may lead the unsuspecting reader to imagine that the term 
structure of interest rates is a simple to calculate.  We now show--by 
introducing small changes in the example--how difficult the computational 
problem can become.  First imagine that our set of bonds is different--we 
still have 5 bonds, but they do not cover every maturity:

\(bond1\  = \ {2. , \ 0.03}; 
bond2\  = \ {2. , \ 0.05}; 

    bond3\  = \ {5. , \ 0.03}; 
bond4\  = \ {4. , \ 0.07}; 

    bond5\  = \ {4. , \ 0.0}; 

    Print["Bond prices = ", 
      bprices\  = Map[bondPrice, \ {bond1, bond2, bond3, bond4, bond5}]\ ]
      \)

Now suppose that we do not know the exact bond prices, but know only the 
prices rounded to the nearest dollar (this could easily happen because of 
"noise" in the prices, or bid-ask spreads, for example):

roundBPrices  =  Round[bprices]

Using our previous function to determine the term structure:

impliedIR  = 
      FindRoot[ {roundBPrices[[1]] == BPriceExpr[bond1], 
          roundBPrices[[2]] == BPriceExpr[bond2], 
          roundBPrices[[3]] == BPriceExpr[bond3], 
          roundBPrices[[4]] == BPriceExpr[bond4], 
          roundBPrices[[5]] == BPriceExpr[bond5]}, {r1, 0.045}, {r2, 
          0.045}, {r3, 0.045}, {r4, 0.045}, {r5, 0.045}]

Plotting the actual term structure (solid line) against this "computed" 
term structure (the dots) gives:

\(plot1 = 
      ListPlot[Table[impliedIR[\([i, 2]\)], {i, 5}]\ , 
        PlotStyle -> PointSize[0.03], DisplayFunction -> Identity]; 

    plot2 = ListPlot[termStructure, PlotJoined -> True, 
        DisplayFunction -> Identity]; 

    Show[plot1, plot2, DisplayFunction -> $DisplayFunction]; \)

Clearly this procedure mis-estimates the term structure!  Instead of  solving the set of equations described above, a better idea is to find a  smooth curve which gives an approximate solution to the pricing equations.   An elegant solution of this problem which uses Mathematica can be found in  Fisher and Zervos (1996).  The general idea is to form a  functional which  measures how smooth is the term structure and how well it  approximates the  given set of bonds.  Then one can form a continuous term  structure from a set  of discrete observations as we show below with a linear  interpolation.

3.  Arbitrage in a Flat Term Structure

Why do we need a complicated model of interest rates?  Can't we use a  flat  term structure as a reasonable approximation?  There are at least two   important reasons why this assumption is problematic.  First, as we showed  above, the data suggest  that the term structure is not flat. The second reason why a flat term structure is impossible is that a flat  term structure is not arbitrage free. In this section we use Mathematica to illustrate why this is so.
	Assume that interest rates at time t are  r(t) and that the term structure is flat:  i.e., The rate r(t) applies at time t to any loan or investment  regardless of its length.  We know the current  level of interest rates r(0)  but in the future this number can change.  Thus r(t) is a random variable, but we make no assumption about its distribution.
 	To show that this flat term structure induces an arbitrage opportunity, we   build a portfolio of zero-coupon bonds with the following properties. 
		 a.  The current price of the portfolio is  zero.
		b.  The derivative of  the price of the portfolio with respect to the interest rates is  zero.
The  minimal number of bonds that we need for such portfolio is 3.   Take a zero  coupon bond with time to maturity 1 year, 2 years and 3 years.   We buy a units of the first one, sell b units of the second one and buy c units of the third one.  Then the price of the portfolio is:
						  a e-r  - b e-2r + c e-3r
Its derivative with respect to the interest rates is:
						a e-r - 2 b e-2r + 3 c e-3r
	We can  solve these two equations using Mathematica.  Below we illustrate the solution for the case where a = 1 and r(0) = 10%:

\(portfolio\  = \ 
        Solve[\ {
	
              a\ Exp[\(-r\)]\  - \ \ b\ \ Exp[\(-2\) r]\  + \ \ 
                  c\ \ Exp[\(-3\) r]\  == \ 0, 
	
              \(-Exp[\(-r\)]\)\  + \ 2 b\ Exp[\(-2\) r]\  - \ 
                  3\ c\ Exp[\(-3\) r]\  == \ 0}, \ {b, c}] /. {a -> 1, 
            r -> 0.1}\)

This is a zero investment portfolio.  When interest rates change, the  price of this portfolio changes as well.  However there is no linear term in  this  change (since the requirement was that this derivative vanishes).  If  the  second derivative is different from zero (either positive or negative)  we  have found an arbitrage portfolio, since this means that the price of the   portfolio when interest rates become r(t) is either positive or negative for  all values of r close to r(0).  In fact one can even prove that this is an  arbitrage in big and not  only in a small neighborhood. Draw the payoff of  this portfolio at time t as a function of interest rates r(t):

Plot[ 
      Exp[-r] - b Exp[-2 r] + c Exp[-3 r] /. portfolio, 
       {r, 0.05, 0.15}];

The final payoff is never negative, and it is positive for all values of  r  different from the current level of interest rates.  This is an obvious   arbitrage.  
	However, do not throw away the flat term-structure model  immediately.  Looking at the vertical axis of the above graph, we note that  the values there (i.e., the arbitrage profits) are very small.  This means  that even very  small transaction costs will destroy this arbitrage.  In fact  what happens is  that for long-term investment interest rates are almost  flat.  Only the  short-term part of the term-structure can be significantly  different from a flat term structure.

4.  Modern Term Structure Theory

Modern term structure theory falls into two classes:

Equilibrium models of the term structure.  Derive the term structure in models with consumer maximization and   occasionally production functions.  The most famous example is   Cox-Ingersoll-Ross (1985):  Their model has logarithmic utility functions   for consumers and linear production functions.  Another example is   Benninga-Protopapadakis (1986):  They show that if consumers maximize   concave utility functions and if production functions are weakly concave,   then the real term structure will be upward sloping. An important property of   economic term structure models is that any equilibrium term  structure must  ultimately be flat (see Benninga and Wiener 1996).

Non-equilibrium models of the term structure. This is the fashion in finance today.  The idea is to write a plausible   mathematical description of the term structure which is numerically   tractable.  The models covered in this series of papers are of this nature.

Some general facts about bonds
Suppose we denote by P(r,t,s) the price at time t of a pure discount bond maturing at time s, s > t.  Then the yield to maturity R(r,t,T) is the internal rate of return at time t on a bond maturing at time t+T.  Since 
					P(r,t,t+T) = exp[-R(r,t,T)T],
it follows that 
					R(r,t,T) = -(1/T)log P(r,t,t+T)
					.
The integral of the forward rates gives the yield to maturity:
					R(r,t,T) = (1/T)\(TraditionalForm
      \`∫\_t\%\(t + T\)\(F(r, t, s)\) ds\).
	
	The justification for this notation is that, when interest is continously   compounded - so that we exponentiate to get future values - the sum of the   forward rates gives the future value.  You can see this by taking a discrete   example:  If (Subscript[r, 0, 1]) is the interest rate from time 0 to 1, (Subscript[r, 1, 2]) is the forward rate from time 1 to 2, and so on, then the future value of one dollar invested today for one   period and rolled over each period has future value \(TraditionalForm
      \`e\^\(\(r\_\(0, 1\) + r\_\(1, 2\) +  ... \) + r\_\(n - 1, n\)\)\).  Taking the logarithm and dividing by the time period gives the above   integral equation.
It follows that the forward rate can also be written as:
  					F(r,t,s) = -(∂/∂)slog P(r,t,s).
 					
 	The structure of many bond pricing models is similar.  We often start off   by assuming that interest rates follow a diffusion process:
					dr =  μ(r,t)dt +σ(r,t)dB.
where B is a Wiener process.  Given this assumption, a pure discount bond price is a function of the current interest rate r, the current time t, and the maturity T of the bond.  Denoting this function by P(r,t,T), we have, by Ito's lemma:
					dP = ∂(P/∂)rdr +∂(P/∂)tdt+((σ^2)/2)(∂^2) (P/∂)(r^2)dt
					
	Substituting in for dr, we can write this equation as:
			dP =(Subscript[P, r]) [μ dt +σ dB]+(Subscript[P, t])dt+((σ^2)/2)(Subscript[P, rr])dt=(μ(Subscript[P, r])+(Subscript[P, t])+((σ^2)/2)(Subscript[P, rr]))dt +σ(Subscript[P, r])dB
where subscripts indicate the appropriate derivatives.  Dividing by dt and taking the expectation of dP/dt gives:
					E((dP/dt))=μ(Subscript[P, r])+(Subscript[P, t])+((σ^2)/2) (Subscript[P, rr])
	At this point the models make use of an equilibrium pricing model to   postulate that E[dP/dt] must be equal to the bond price P times the current risk-free rate r "grossed-up" by a risk premium.  Denoting this risk premium by   λ , we get
					E((dP/dt))=r\(TraditionalForm
      \`P(1 + λ) = μP\_r + P\_t + \(σ\^2\/2\) P\_rr\)
or
					\(TraditionalForm
      \`0 = μP\_r + P\_t + \(σ\^2\/2\) P\_rr - 
          rP(1 + λ)\).
					
	The usual procedure to pricing the risk premium  is to use a result from   Merton (1971, 1973).  In Merton's papers it is shown that in a   continuous-time CAPM framework, the ratio of each asset's risk premium to its   standard deviation is constant when the utility function of the   representative investor is logarithmic:
						\(TraditionalForm
      \`\(E[R\_i] - r\)\/σ\_\(R\_i\) = 
        \(λ\/σ\_\(R\_i\) = k\)\)
where E[(Subscript[R, i])] is the expected return on asset i, and (Subscript[σ, (Subscript[R, i])]) is asset i's standard deviation of returns.  For a pure discount bond the   instantaneous return is given by
						E[(Subscript[R, i])] = ((P + dP)/P) = 1 + (dP/P)
By Ito's lemma the standard deviation of the rate of return on the bond   is given by:
						\(TraditionalForm
      \`σ\_\(R\_P\) = \(\(rσ(r, t)\)\/P\) P\_r\)
It thus follows that 
						\(TraditionalForm
      \`λ = \(kr\_\(R\_P\) = \(\(krσ(r, t)\)\/P\) P\_r\)\)
The basic equation for our model thus becomes:
						\(TraditionalForm
      \`0 = μP\_r + P\_t + \(σ\^2\/2\) P\_rr - 
          rP(1 + λ)\)
or
						\(TraditionalForm
      \`0 = μP\_r + P\_t + \(σ\^2\/2\) P\_rr - rP - 
          \(krσ(r, t)\) P\_r\)			(*)
The trick in the bond models now becomes finding a solution to   this differential equation! Another way of saying this is that in bond option  pricing models might be  that we have to try to find a believable, yet  solvable, diffusion process for  the interest rate!

	There are several  aspects of bond models which make them different from  the other stochastic  models in finance (e.g., the option pricing models):
	
1.  The basic differential equation to be solved (*) depends on an   equilibrium pricing model.  In option pricing models, this is not so.  The   usual assumption about this equilibrium pricing model is that there is a   single representative consumer with logarithmic preferences.  This aspect of   bond models is almost unavoidable, since a bond in these models is itself a   risky asset in the model.  We can thus only model the change in the bond's   price by having recourse to the model itself.

2.  The stochastic process for the interest rate is itself problematic, and   this for two reasons:
2.a.  In some of the models the stochastic process postulated for the interest   rate allows the rate to become negative.  If we are discussing a real   interest rate (and hence trying to price real bonds), this is not, in itself,   a problem, since we know that real interest rates can be negative.  However,   if we are trying to price nominal bonds, it is an improbably assumption.   The  CIR model gets around this problem by postulating an interest rate  process  which cannot become negative.
2.b.  The equilibrium process which gives rise to the interest rate is   unclear.  In general equilibrium, interest rates arise out of marginal rates   of productivity.  In order to fully specify an interest rate process,   therefore, we must show what the equilibrium technologies look like on the   margin.  The only model which fully solves this problem is, again, CIR   (1985).  They show a production process which gives rise to their diffusion   process for interest rates.

	In the following sections, we discuss two  specific models and show their results.  In our next article we will discuss  the discrete term structure models of Black-Derman-Toy and Black-Karazinksi.

5.  Vasicek's model

This is one of the most widely-used models for the pricing of bonds.   Vasicek (1977) uses the Ornstein-Uhlenbeck process for the spot interest   rate r:
					dr=α(γ-r)dt+σdB
	
	Here γ is the long-term mean spot interest rate, α is the   "pressure" to revert to the mean α > 0, and σ is the   instantaneous standard deviation. The Vasicek model solves for present value  factors v(t,s,r).  By   v(t,s,r) we denote the present value at time t of $1  paid at time s > t when  the current spot interest rate is r.
Our basic  equation now becomes:
			 		\(TraditionalForm
      \`0 = \(α(γ - r)\) P\_r + P\_t + 
          \(σ\^2\/2\) P\_rr - rP - krσP\_r\)

	This partial differential equation can be solved
		\(TraditionalForm
      \`P(r, t, T) = 
        Exp[\(1\/α\) \((1 - e\^\(-\(α(T - t)\)\))\) 
              \((R(∞) - r)\) - \((T - t)\) \(R(∞)\) - 
            \(σ\^2\/\(4  α\^3\)\) 
              \((1 - Exp[\(-\(α(T - t)\)\)])\)\^2]\)
		
where	R(∞) = γ + \(TraditionalForm
      \`σq\/α - σ\^2\/\(2  α\^2\)\)is the yield of a zero coupon bond of infinite maturity R(∞) = \(TraditionalForm
      \`lim\+\(T -> ∞\)\(-\(\(logP(t, T)\)\/T\)\)\)and q is the Sharpe ratio -- a general market price of risk measured as a   ratio of excess return to the standard deviation.

Simulating the Vasicek model
The Vasicek model is a one-factor model:  All rates ultimately depend on the shortest-term interest rate,   which we call the spot interest rate (or simply the spot rate) and denote by r.  To simulate this rate we discretize the basic Vasicek equation by   considering changes in the interest rate over a short period Δt:
					\(TraditionalForm
      \`Δr = 
        \(α(γ - r)\) Δt + 
          σZ \@ Δt\)
Note that - as opposed to stock price models, which are multiplicative -   term structure models are additive.  This means that if rt  is the spot rate at time t, then the spot rate at time t + Δt is given by 		
				\(TraditionalForm
      \`r\_\(t + Δ\) = 
        \(r\_t + Δr = 
          r\_t + \(α(γ - r)\) Δt + 
            σZ \@ Δt\)\)
	
	We start off by simulating the short-term interest rate process:

Needs["Statistics`NormalDistribution`"]Clear[nor, deltaR, shortTermR,  alpha,  sigma,  r]\(nor[mu_, sigma_] := Random[NormalDistribution[mu, sigma]]; 

    deltaR[alpha_, gamma_, r_, sigma_, deltaT_] := 
      alpha*\((gamma - r)\)*deltaT\  + 
	sigma*nor[0, 1]*Sqrt[deltaT]\)\(shortTermR[alpha_, gamma_, r_, sigma_, deltaT_] := 
      r + 
	deltaR[alpha, gamma, r, sigma, deltaT]\)

Set α = 3%, γ = 4%, σ = 0.12, (Subscript[δ, t]) = 0.0001.  This means that the time step is about 1 hour and that  (Subscript[r, today])=3%.  We now simulate 300 steps.

SeedRandom[2]\(tt = NestList[shortTermR[0.03, 0.04, #, 0.12, 0.0001]&, 0.03, 300]; 

    ListPlot[tt, PlotJoined -> True, PlotLabel -> "Vasicek Simulation"]; 
    \ \)

Running this simulation for 3000 time steps, we observe one of the most 
problematic points of the Vasicek model - the spot interest rates can become 
negative.

\(
SeedRandom[2]\)\(tt = NestList[shortTermR[0.03, 0.04, #, 0.12, 0.0001]&, 0.03, 3000]; 

    ListPlot[tt, PlotJoined -> True, PlotLabel -> "Vasicek Simulation"]; 
    \ \)

Thus, starting from a current interest rate of 3%, with  = 0.12,  = 0.3,   and the long-run spot rate  = 4%, we get many negative interest rates.    Furthermore, the Vasicek process can lead to negative expected interest rates.  To see this, look at the conditional expectation and variance of the   Ornstein-Uhlenbeck process:
		\(TraditionalForm
      \`\(E\_t\) \(r(T)\) = 
        \(γ + 
            \((r(t) - γ)\) 
              e\^\(-\(α(T - t)\)\)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
              \(Var\_t\) \(r(T)\) = 
          \(σ\^2\/\(2  α\)\) 
            \((1 - e\^\(-\(α(T - t)\)\))\)\)\)
	It is not difficult to see that for r(t) < 0, (Subscript[E, t])r(T) can be negative.  This is an undesirable property.  Note that negative  interest  rates are not necessarily inconceivable.  If we are modeling a real term structure model--real interest rates being the after-inflation  return on a bond--then negative interest rates may be perfectly  normal;  indeed, real interest rates are often negative.  It is  more unlikely that nominal interest rates--the quoted interest rates on a bond--are negative.

The shapes of the term structure in the Vasicek model
	Recall that in the Vasicek model the spot rate defines the whole term  structure.   Suppose that the spot interest rate today is r. Then the price of a pure-discount bond is given by the expression P(r,t,T) defined above when t = 0:

\(TraditionalForm
      \`P(r, 0, T) = 
        Exp[\(1\/α\) \((1 - e\^\(\(-αT\))\))\) 
              \(\((R(∞) - r)\)--\) \(TR(∞)\) - 
            \(σ\^2\/\(4  α\^3\)\) 
              \((1 - Exp[\(-αT\)])\)\^2]\).

	This means that the interest rate (Subscript[r, t]) is given by Log[P(r,0,T)/T].  Thus the Vasicek model enables us to plot the whole shape of the term  structure.  Here is an example:

Clear[P, pureDiscountRate,  gamma,  sigma,  lambda,  alpha]gamma  =  0.06;
sigma  =  0.02;
lambda  =  0.667;
alpha  =  1;
RInf  =  
          gamma  +  sigma*lambda/alpha  - sigma^2/(2*alpha^2);
\(P[r_, t_, T_] := 
          Exp[1/alpha\ \((1 - Exp[\(-alpha\) \((T - t)\)])\) \((RInf - r)\)

                	 - \((T - t)\) RInf\  - \ 
                \((sigma^2/r*alpha^3)\)*
	
                  \((1 - Exp[\(-alpha\) \((T - t)\)])\)^2]\  // N\);
pureDiscountRate[r_, T_] := 
          If[T == 0, r, -Log[P[r, 0, T]]/T]Plot[pureDiscountRate[0.03, T], {T, 0, 10}];

If we start with r above the long-run rate, the term-structure will be downward sloping:

Plot[pureDiscountRate[0.1, T], {T, 0, 10}];

The Vasicek model can also produce humped term structures:

gamma = 0.12;
sigma  =  0.08;
Plot[pureDiscountRate[0.1, T], {T, 0, 10}];

Pricing Bonds with Vasicek model
Given the term structure of interest rates (fully described in this model   by the spot rate) the pricing formula for bonds is straighforward.  Bond prices are determined by summing the present value of the coupons and   terminal value, discounting at the discount factors P(r,0,T).  Thus, the value of a bond paying coupon c at time 1, 2, ..., M and having face value of 1 is given by the function:

bondPrice[c_, r_, M_] := 
      Sum[P[r, 0, t]*c, {t, 1, M}]  +  P[r, 0, M]

It is often convenient to consider continuously paid out coupons, in which 
case the above formula becomes:

bondPrice[c_, r_, M_] := 
        Integrate[P[r, 0, t]*c, {t, 0, M}]  +  P[r, 0, M]

A European option on a bond can also be priced analytically with the Vasicek 
term structure model.  The derivation of the option pricing formula and some 
applications can be found in Jamshidian (1989).

6.  The Cox-Ingersoll-Ross term structure model

CIR consider an interest rate process of the type:
				\(TraditionalForm
      \`Δr = 
        \(α(γ - r)\) Δt + 
          σ \(\@ r\) dB\)
where α > 0,  γ = long-run mean interest rate, r = current interest rate.
Consider a pure discount, default-free, bond   which promises to pay one unit at time T.  We denote the price of this bond   at time 0 < t < T  by P(r,t,T).  It follows from Ito's formula that
				dP = ∂(P/∂)rdr +∂(P/∂)tdt+r((σ^2)/2)(∂^2) (P/∂)(r^2)dt
Substituting for dr gives
				dP = \(TraditionalForm
      \`\(∂P\/∂r\) 
        \((\(α(γ - r)\) dt + σ \(\@ r\) dB)\)\) +∂(P/∂)tdt+r((σ^2)/2)(∂^2) (P/∂)(r^2)dt
Dividing by dt and taking expectations gives
				\(TraditionalForm
      \`E[dP\/dt] = 
        \(α(γ - r)\) ∂P\/∂r + 
          ∂P\/∂t + 
          \(rσ\^2\/2\) ∂\^2 P\/∂r\^2\)
	Now the right-hand side, representing the expected rate of return on  the  bond over a small instant of time, is proportional to the risk-free  interest  rate and to a risk-adjusted interest elasticity of the bond.   Denoting by kr the covariance of the changes in the interest rate with the market   portfolio, we find that:
					E[(dP/dt)] = rP(1 + (Subscript[kP, r]) P).
					
Thus the basic differential equation for the bond price in  the CIR model  is given by:
					\(TraditionalForm
      \`rP(1 + \(kP\_r\) P) = 
        \(α(γ - r)\) ∂P\/∂r + 
          ∂P\/∂t + 
          \(rσ\^2\/2\) ∂\^2 P\/∂r\^2\)
	It can be shown that a solution to this equation is given by
				 	\(TraditionalForm
      \`P(r, t, T) = \(A(t, T)\) e\^\(\(-\(B(t, T)\)\) r\)\)
where
					\(TraditionalForm
      \`A(t, T) = 
        \([\(2  ηe
                  \^\(\((α + η)\) \((T - t)\)/2\)\)\/\(\((
                    α + η)\) \((e\^\(η(T - t)\) - 1)\) + 
                2  η\)]\)\^\(2  αγ/σ\^2\)\)\(TraditionalForm
      \`B(t, T) = 
        \(2 \((e\^\(η(T - t)\) - 1)\)\)\/\(\((α + η)\) 
              \((e\^\(η(T - t)\) - 1)\) + 2  η\)\)
and 
					η = (Sqrt[(α^2) + 2  (σ^2)])
					
	It follows that in this model the bond prices are  lognormally distributed  with parameters 
					\(TraditionalForm
      \`dP\/P = \(μ(r, t)\) dt + \(σ(r, t)\) dB\)
where
					μ(r,t)=r(1-kB(t,T)),        σ(r,t)=-B(r,T)  σ(Sqrt[r])
					
	As the time to maturity lengthens, the yield to maturity in the CIR model   approaches
					\(TraditionalForm
      \`R(r, t, ∞) = 
        \(2  αγ\)\/\(α + k + ψ\)\)
where k is the market price of risk and
					\(TraditionalForm
      \`ψ = \@\(\((α + k)\)\^2 + 2  σ\^2\)\)
The CIR models term structures are usually upward or downward sloping,   although it, can, within narrow limits, produce "humped" term structures.    Here are some examples:

Clear[A, B, P, pureDiscountRate, alpha, gamma, sigma, lambda]; 
    A[alpha_, gamma_, sigma_, t_, T_] := 
      Module[{eta = (Sqrt[(alpha^2) + (sigma^2)])}, 
        (((((2 eta 
                Exp[(1/2) (alpha + eta) (T - t)]
                  )/((alpha + eta) (Exp[eta (T - t)] - 1) + 
                2 eta))))^(((2 alpha gamma)/(sigma^2))))]; 
    B[alpha_, gamma_, sigma_, t_, T_] := 
      Module[{eta = (Sqrt[(alpha^2) + (sigma^2)])}, 
        (((((2 (Exp[eta (T - t)] - 1))/((alpha + eta) 
                  (Exp[eta (T - t)] - 1) + 2 eta)))
            )^(((2 alpha gamma)/(sigma^2))))]; 
    P[r_, t_, T_, alpha_, gamma_, sigma_] := 
      A[alpha, gamma, sigma, t, T] 
        Exp[-B[alpha, gamma, sigma, t, T] r]; 
    pureDiscountRate[r_, T_, alpha_, gamma_, sigma_] := 
      If[T == 0, r, -Log[P[r, 0, T, alpha, gamma, sigma]]/T]; 
    Plot[pureDiscountRate[0.12, T, 1, 0.08, 0.05], {T, 0, 10}, 
      PlotLabel -> "CIR Term Structure", 
      AxesLabel -> {"maturity", ""}];

Simulating the CIR spot interest rate process
We can repeat the simulation we performed above for Vasicek, simulating   the CIR short-term interest rate process:

\( (*\ the\ model\ is\ \(CIR : dr\)\  = \ 
          alpha*\((gamma - r)\)*dt\  + \ 
            sigma\ Sqrt[r]*dz
gamma\ is\ the\ long - run\ interest\ rate; \ 
        r\ is\ the\ current\ rate\ *) 

      Clear[\ deltaR, \ shortTermR, \ alpha, \ gamma, \ sigma\ ]; 

      deltaR[alpha_, gamma_, r_, sigma_, deltaT_] := 
	
        alpha*\((gamma - r)\)*deltaT\  + 
          sigma*nor[0, 1]*Sqrt[deltaT]*Sqrt[r]; 

      shortTermR[alpha_, gamma_, r_, sigma_, deltaT_] := 
	
        r + deltaR[alpha, gamma, r, sigma, deltaT]; 
SeedRandom[3]; 

      lst = NestList[shortTermR[1, 0.04, #, 0.02, 0.08333]&, 0.04, 300]; 

      ListPlot[lst, PlotJoined -> True]; \)

Compare the graph for the Vasicek and the CIR simulation:  Both were produced 
with the same series of random normal deviates.  Whereas the Vasicek can 
produce negative interest rates, the CIR cannot.  Here's a repeat of our 
simulation - which produced negative interest rates with Vasicek - for the 
CIR model:

\(SeedRandom[2]; 

      lst = NestList[shortTermR[0.03, 0.04, #, 0.12, 0.004]&, 0.03, 300]; 

      ListPlot[lst, PlotJoined -> True, PlotLabel -> "CIR Simulation"]; 
      \)

7.  Other term structure models

In addition to theVasicek and the Cox-Ingersoll-Ross models of the term structure, there are a variety of other models:
1.	Merton				1973	  	dr = b dt+σ dB
2.	Vasicek				1977		dr =α (γ-r)   dt+σ dB
3.	Dothan				1978		dr = b r dt + σ r dB
4.	Cox, Ingersoll, Ross (CIR)		1985		dr =α (γ-r) dt+σ(Sqrt[r])dB
5.	Ho, Lee				1986		dr = θ(t) dt+σ dB
6.	Hull,   White (extended Vasicek)	1990		dr = (θ(t)-βr) dt+σ dB
  7.	Hull, White (extended CIR)		1990		dr = (θ(t)-βr) dt+  σ(Sqrt[r])dB
8.	Black, Karasinski			1991		dlog r = (θ(t)-βlog r)   dt+σdB
In addition to these spot interest rate models there are forward interest rates models like Heath, Jarrow, Morton (1992) approach and many discrete schemes.  Our next article will explore two of these discrete models.

REFERENCES

Benninga, S. and A. Protopapadakis (1986).  General Equilibrium Properties of the Term Structure of Interest  Rates,  Journal of Financial Economics 16, 389-410.

Benninga, S. and Z. Wiener (1996).  An  Investigation of Cheapest to Deliver on Treasury Bond Futures Contracts. Mimeo.

Black, F. and P. Karasinski (1991), Bond and Option Pricing when Short Rates are Lognormal.  Financial Analysts Journal (July-August), 52-59.

Cox, J.C., J.E.   Ingersoll, and S. A. Ross (1985).  A Theory of the Term Structure of Interest   Rates.  Econometrica 53, 385-402.

Dothan, L. Uri (1978).  On the Term Structure of   Interest Rates.  Journal of Financial Economics 6,  59-69.

Fisher M. and D. Zervos (1996), Yield Curve, in Computational Economics and Finance, modelling and analysis with   Mathematica, ed. H. R. Varian, Springer Telos, pp. 269-302.

Heath D., R.   Jarrow and A. Morton (1992), Bond Pricing and the Term Structure of Interest   Rates: A New Methodology for Contingent Claims Valuation, Econometrica 60, 77-105.

Ho, T. S. Y.  and S.-B Lee (1986).  Term Structure and Pricing Interest Rate Contingent Claims, Journal of Finance 41, 1011-29.

Hull, J. and  A. White (1990).  Pricing Interest Rate Derivative Securities.  Review of Financial Studies 3, 573-92.

Jamshidian, Farshid (1989).  An Exact Bond   Option Formula.  Journal of Finance 44 (March), pp. 205-209.

McCullogh, J. H. (1990).  "U.S. Term Structure  Data, 1946-1987."  Handbook of Monetary Economics, Volume I, pp. 672-715,  Amsterdam:  North Holland.

Merton, Robert C. (1973).  An Intertemporal Capital   Asset Pricing Model.  Econometrica 41 (September), pp. 867-886.

Vasicek, Oldrich A. (1977).  An   Equilibrium Characterization of the Term Structure.  Journal of Financial Economics 5 (November), pp. 177-88.

ABOUT THE AUTHORS

The authors acknowledge grants from Wolfram Research, the Krueger and    Eshkol Centers at the Hebrew University, and the Israeli Academy of Science.    Wiener's research has benefited from a grant from the Israel Foundations  Trustees and the Alon Fellowship.

Simon Benninga is professor of finance  at Tel-Aviv University (Israel) and the Wharton School of the University of    Pennsylvania. He is the author of Financial Modeling (MIT Press, 1997) and of Corporate Finance: A Valuation Approach (with Oded Sarig, McGraw-Hill, 1997); he is also the editor of the European Finance Review.

Simon Benninga
Faculty of Management
Tel-Aviv University, Tel-Aviv,    Israel
benninga@post.tau.ac.il
http://finance.wharton.upenn.edu/~benninga 
  
Zvi Wiener is assistant professor of finance at the business school of  the Hebrew University of Jerusalem.  His finance research concentrates on the  pricing of derivative securities, value-at-risk, computational finance and  stochastic dominance.  He wrote this article while visiting at the Olin  School of Business at Washington University in St. Louis. 

Zvi Wiener
Finance Department, Business School
Hebrew University, Jerusalem, Israel
mswiener@mscc.huji.ac.il
http://pluto.mscc.huji.ac.il/~mswiener/zvi.html