Interest Rates and Bond Yields


Multi-period Discount Factors

A nominal discount factor is the present value of one unit of currency to be paid with certainty at a stated future time. This definition suffices, whatever the time period. In a multi-period setting there is one discount factor for every time period. Thus df(1) could be the present value (at time 0) of $1 certain at the end of time period 1, df(2) the present value at time 0 of $1 certain at the end of time period 2, etc.. The vector of such values df {1*periods} is known as the discount function. It can be used to value any vector of cash flows known to be certain. If cf {periods*1} is such a vector, its present value is simply:

     pv = df*cf

In this equation, pv is termed the discounted present value of the cash flows.

The one-period example generalizes to a multi-period setting in another respect. The discount factor for a given period will equal the sum of the atomic prices for that period. This follows because the purchase of one unit of every time-state claim for a specified time will guarantee one unit of the currency at that period. The cost of such a bundle is the cost of one unit of currency certain at that date, and hence equals the associated discount factor.

In many countries, nominal discount factors are easily discovered. For example, in the United States, financial publications report recent prices of U.S. Treasury Bills and "Strips", each of which promises a fixed dollar payment at one specified date. Since the Treasury has the power to print dollars, payments on such securities can be considered certain, absent revolution, etc.. The reported prices on any given day thus constitute the discount function at the time.

Real discount factors are another matter. In some countries the government issues bonds with payments linked to a price index. Such bonds typically provide both coupon payments at periodic intervals and a final principal payment at maturity. If there are enough issues with sufficiently different maturities, at least some elements of discount function can be determined.

Consider a case in which there are three bonds. The one-year bond promises a payment of 103 real or "constant dollars" (e.g. Apples) in a year. The two-year bond promises a payment of 4 constant dollars in one year and 104 in two. The three-year bond promises a payment of 3 constant dollars in years 1 and 2 and 103 in year 3. The current prices are $100, $101 and $98, respectively. What are the real discount factors (i.e. the present value of $1 of purchasing power in each of the next three years?).

To answer the question we construct a {periods*bonds} cash flow matrix Q:

          Bond1   Bond2   Bond3
   Yr1     103       4       3
   Yr2       0     104       3 
   Yr3       0       0     103

and a price vector p {1*periods}:

          Bond1   Bond2   Bond3
           100     101      98

The price of each bond should equal its discounted present value. Thus:

   df*Q = p

where df {1*periods} is the discount function.

We wish to find df, given Q and p. Multiplying both sides of the equation by inv(Q) gives:

   df = p*inv(Q)

In this case, df {1*periods) is:

        Yr1       Yr2       Yr3
      0.9709    0.9338    0.8960

Thus a claim for 1 real dollar in year 1 is worth $0.9709 now, a claim for 1 real dollar in year 2 is worth $0.9338 now, and so on. Any desired set of real payments over the next three years can be valued using this discount function.

To find the combination of such bonds that will replicate a desired set of cash flows we utilize the formula:

     Q*n = c

where n {bonds*1} is a portfolio of bonds and c {periods*1} is the desired set of payments. From this it follows that n=inv(Q)*c. Thus if the desired set of payments is c:

  Yr1   300
  Yr2   200
  Yr2   100

The replicating portfolio is n:

  Bond1  2.8107
  Bond2  1.8951
  Bond3  0.9709

Whether for real or nominal units of a currency, if a discount function can be determined from the values and characteristics of default-free instruments, any corresponding vector of cash flows can be valued and replicated. Moreover, any such vector can be "traded for" any other with the same present value. The set of such combinations forms the default-free opportunity set available to the Investor. The Analyst can help determine the set, but ultimately the Investor must select either one of its members or a vector of cash flows that is not fully default-free.

Multi-period Interest Rates

While a discount factor provides a natural and direct measure of the present value of a certain future cash flow, it is sometimes convenient to focus on a related and more familiar figure. If an investment grows from a value of x to a value of x*(1+i) in one period, it can be said to have "earned interest" at the rate i. The concept can be extended to multiple periods by assuming that interest compounds once per period. Thus if an investment grows from V0 to V2 in two periods, the equivalent interest rate is found by solving the equation:

    (1+i)*(1+i) = V2/V0


    (1+i)^2 = V2/V0

The ratio of the ending value to the beginning value is termed the (t-period) value relative. For an investment held t periods, the associated interest rate is computed from:

   (1+i) = (Vt/V0)^(1/t)

Interest rates are generally used to describe securities for which payments are certain. In a one-period setting, such securities can be termed riskless. In a multi-period setting it is preferable to describe them as default-free since their values may fluctuate, making them risky if sold before the final payment has been made.

There is a one-to-one relationship between a discount factor and the corresponding interest rate. If df(t) is the discount factor for time t, one unit of the numeraire will grow to 1/df(t) units with certainty by time t. Thus i(t), the default-free interest rate for time t is given by:

    i(t) =  ((1/df(t))^(1/t)) -1

With the value of the "t-period interest rate", one can discount any certain payment to be obtained at that date. Let P(t) be an amount to be paid at t and i(t) the corresponding interest rate. Then the present value pvis given by:

   pv =  P(t) / ( (1+i(t)) ^ t)

Since there is a one-to-one relationship between a discount factor and the associated interest rate, either may be used to calculate a present value. Moreover, give one of them, the other can be determined with little effort.

Consider the following discount function df:

     Yr1       Yr2       Yr3
   0.9400    0.8800    0.8200

The corresponding value relatives are given by vr = 1./df:

     Yr1       Yr2       Yr3
   1.0638    1.1364    1.2195

Using the MATLAB notation of [1:3] to generate the vector [1 2 3], the interest rates can be computed as i = (vr.^(1./[1:3]))-1:

     Yr1       Yr2       Yr3
   0.0638    0.0660    0.0684


     Yr1       Yr2       Yr3
    6.38%     6.60%     6.84%

These values, when plotted, give one version of the current yield curve or term structure of interest rates. In this case it is upward-sloping, with long-term rates greater than short-term rates.

In these calculations, we have computed interest rates assuming compounding once per period. One could as easily use a definition based on compounding more than once per period; or not at all; or continuously. When processing an interest rate, it is important to know which definition was used so that errors do not creep into subsequent calculations. The possibility of alternative definitions makes the use of discount factors a safer approach. Moreover, a case can be made for the thesis that a discount factor, being a price, is a fundamental characteristic of an economy, while an interest rate is a derived construct. This being said, interest rates are ubiquitous, helpful for comparisons of prices of payments at different times, and necessary for communication with those used to more traditional characterizations of financial markets.

Bond Yields

Many bonds, both traditional and index-linked, provide coupon payments periodically and a final principal payment at maturity. Consider, for example, a bond that provides payments cf of:

   Yr1      6
   Yr2      6 
   Yr3    106

Given the previous discount function, such a bond has a present value of $97.84. Based on its initial par value of $100, the yield is 6% per year. However, given the fact that it is selling for $97.84, the effective yield is greater. To reflect this, analysts often use a derived figure, the yield-to-maturity. This is a constant interest rate that makes the present value of all the bond's payments equal its price. In this case, we seek a value for i that will satisfy the equation:

   6/(1+y) + 6/((1+y)^2) + 106/((1+y)^3) = 97.84

This can be done by trial and error, preferably using an intelligent algorithm to find the result (to a desired degree of accuracy). In this case, i is approximately 6.82%.

A set of yields-to-maturity for bonds with varying coupons and maturities will typically not plot on a single curve. Nonetheless, some analysts crossplot yield-to-maturity and maturity date for a set of bonds, then fit a "yield curve" through the resulting scatter of plots. The result may be helpful, but should not be used for valuation purposes.


The maturity of a bond provides important information for its valuation. The values of longer-term bonds are generally affected more by changes in interest rates, especially longer-term rates. However, for coupon bonds, maturity is a somewhat crude indicator of interest rate sensitivity. A high-coupon bond will be exposed more to short and intermediate-term rates than will a low coupon bond with the same maturity, while a zero-coupon bond will be exposed only to the interest rate associated with its maturity. To provide a somewhat better measure than maturity, Analysts often compute the duration of a set of cash flows.

Let df be a {1*periods}vector of discount factors and cf a {periods*1} vector of cash flows. The duration of cf is a weighted average of the times at which payments are made, with each payment weighted by its present value relative to that of the vector as a whole. In the previous example, the bond has cash flows cf:

   Yr1      6
   Yr2      6 
   Yr3    106

The market discount function df is:

     Yr1       Yr2       Yr3
   0.9400    0.8800    0.8200

The present values of the cash flows are v = df.*cf'':

     Yr1       Yr2       Yr3
    5.6400    5.2800   86.9200

To compute weights we divide by total value, w = v/(df*cf), giving:

    Yr1       Yr2       Yr3
   0.0576    0.0540    0.8884

In MATLAB, the expression [1:3]'produces the {periods*1} vector of time periods:

   Yr1      1
   Yr2      2
   Yr3      3

The duration, given by d = w*([1:3]'), is 2.8307 years -- somewhat less than the maturity of 3 years.

Well and good, but what use can be made of duration? In some circumstances, quite a bit. In others, somewhat less. We make the calculation to better understand the reaction of the value of a vector of cash flow to a change in one or more interest rates. In practice, of course, many such rates along the term structure may change at the same time. In general, if the discount function changes from df1 to df2, the present value of cash flow vector cf will experience a change in value equal to:

    dV = (df2 - df1)*cf

How can one number summarize the effect on value of a change in potentially many different interest rates along the discount function?

Of necessity, a change in the yield-to-maturity of a bond will cause a predictable change in the value of that bond or set of cash flows, since there is a one-to-one relationship between the two. The relationship holds as well for most cash flow vectors. In such case the term internal rate of return is utilized, instead of yield-to-maturity. If there are sufficiently many positive and negative cash flows in a vector, the internal rate of return may not be unique, causing potential mischief if one relies upon it. However, this cannot happen if the vector consists of a series of negative (positive) flows, followed by a series of positive (negative) flows -- that is, if there is only one reversal of sign.

In practice, a bond's duration is usually calculated with a discount function based on its own yield-to-maturity, that is:

       [ 1/(1+y)   1/((1+y)^2)   1/((1+y)^3) ]

Now, consider c(t), the cash for the t'th period. Using the bond's yield-to-maturity, Its present value is:

    v(t) = c(t)/((1+y)^t)

If there is a very small change dy in y, the change in v(t) will be:

       dv(t) = (c(t)*(-t*(1+y)^(-t-1))) * dy

      dv(t)  =  (v(t)*-t) * (dy/(1+y))

Summing all such terms we have the total change in value dv:

   dv = sum(dv(t)) = - sum(v(t)*t) * (dy/(1+y))

Finally, the proportional change in value, dv/v is:

   dv/v = sum(dv(t)/v) =  - sum((v(t)/v)*t) * (dy/(1+y)

But the term inside the parentheses preceded with "sum" is the duration, calculated using the bond's own yield-to-maturity. Thus we have:

   dv/v = - d * (dy/(1+y))

Sometimes the duration is divided by (1+y) to give the modified duration. Letting md represent this, we have:

   dv/v = - md * dy

Thus the modified duration indicates the negative percentage change in the value of the bond per percentage change in its own yield-to-maturity. The minus sign indicates that an increase (decrease) a bond's yield-to-maturity is accompanied by a decrease (increase) in its value.

Duration (modified or not) is of no interest unless one can establish a relationship between a bond's own yield-to-maturity and some market rate of interest. For example, assume y = y20+.01, where y20 is the interest rate on 20-year zero coupon government bonds. In this case:

    dy = dy20


    dv/v  = -  md * dy20

which relates the percentage change in the bond's value to the change in a market rate of interest.

The concept of duration that is especially relevant for Analysts who counsel the managers of defined-benefit pension funds. Many such funds have obligations to pay future pensions that are fixed in nominal (e.g. dollar) terms, at least formally. Moreover, the bulk of the cash flows must be paid at dates far into the future. The present value of the liabilities of such a plan can be computed in the usual way and its yield-to-maturity (internal rate of return) or discount rate, determined, using market rates of interest. In many cases, the discount rate will be very close to a long-term rate of interest (e.g. that for 20-year bonds). Since term structures of interest rates tend to be quite flat at the long end, any change in the long-term rate of interest will be accompanied by a roughly equal change in the discount rate for a typical pension plan of this type. Thus the duration of the plan's cash flows provides a good estimate of the sensitivity of the present value of its liabilities to a change in long-term interest rates. Any imbalance between the duration of the assets in a pension fund held to meet those liabilities and the duration of the liabilities may well provide an indication of the extent to which the fund is taking on interest rate risk.

Forward Interest Rates

In our most recent example, the discount function df was:

     Yr1       Yr2       Yr3
   0.9400    0.8800    0.8200

with associated interest rates:

     Yr1       Yr2       Yr3
   0.0638    0.0660    0.0684

For example, $1 invested at a rate of 6.60% per year, compounded yearly, would grow to $1/0.88 dollars at the end of two years. This interest rate could be termed the 2-year spot rate to emphasize the fact that it assumes an investment that begins immediately and lasts for two years.

A different type of interest rate involves an agreement made immediately for investment at a later date and repayment at an even later date. For example, one might agree today to borrow $1 in a year and repay $1 plus a stated amount of interest one year later (i.e. two years' hence). The interest rate in question is termed a forward interest rate to emphasize the fact that it covers an interval that begins at a date forward (i.e. in the future).

Of particular interest are forward rates covering periods that last only one period. Such rates can be denoted by their starting date. Hence the 1 year forward rate covers the period from the end of year 1 to the end of year 2, but on terms negotiated today. Given the discount function, it is possible to arrange today to borrow 1/df(1) dollars at the end of year one and pay 1/df(2) dollars at the end of year 2 for a zero net investment, since each "side" will have a present value of $1. Hence, arbitrage decrees that any forward contract covering the same period will have the same results. This insures that:

   (1/df(1)) * (1+f(1)) = (1/df(2))

where f(1) is the forward rate for the period beginning at the end of year 1 and ending at the end of year 2.

Re-arranging the equation above gives the simpler form:

   f(1) = (df(1)/df(2)) - 1

More generally:

   f(t) = (df(t)/df(t+1)) - 1

In the special case in which t = 0, the "forward rate" will, in fact, be the spot rate for a one-year loan, since df(0), the present value of $1 today, is $1.

To obtain the full vector of forward rates, we create a lagged vector dfl of all but the last discount factor, preceded by the present value of $1 today:

   dfl = [ 1 df(1:2)]

     Yr1       Yr2       Yr3
    1.00      0.94      0.88

Dividing each element of the original discount function by the corresponding element in this vector, then subtracting 1 gives the forward rate vector f:

   f = (dfl ./ df) - 1

     f(0)       f(1)      f(2)
   0.0638     0.0682    0.0732

Thus one dollar grows to $1.0638*1.0682 in two years and $1.0638*1.0682*1.0732 in three years. Of necessity, these calculations reach the same conclusion as do those based on the respective spot interest rates. However, the latter use different rates for the same year (e.g. year 2), depending on the investment being analyzed, while the former do not. Thus forward rates are closer to economic reality and can be used with far less risk of error.

Forward rates are especially useful when an Analyst is trying to predict future levels of inflation for estimating liabilities of a pension plan with benefits tied to salary levels, which are in turn, affected by changes in the cost of living. A standard assumption holds that a forward interest rate is the sum of two components: (1) a liquidity premium (sometimes called a term premium) and (2) an expectation concerning the spot rate that will hold at the time. Thus the two-year forward rate in our example (7.32%) might be considered to be the sum of a normal liquidity premium for such obligations of 1.0% and a consensus expectation of market participants that the one-year spot rate will equal 6.32% for year 3. The spot rate, in turn, may be assumed to equal an expected one-year real return of, say, 1.5% plus an expected level of inflation equal to 6.32%-1.5%, or 4.82%. Combining the two calculations gives:

      Forward Rate
    - Liquidity Premium
    - Expected Short-term Real Return
      Expected Inflation



A common set of assumptions holds that liquidity premia increase at a decreasing rate as maturity increases and that expected short-term real returns are constant. This implies that the term structure of forward rates will have the same shape as the liquidity premium function in periods in which inflation is expected to remain constant. If the forward curve is steeper, inflation is presumably expected to increase. If it is flatter or downward-sloping, inflation can be expected to decrease.

Procedures such as this applied to the set of forward interest rates allow an Analyst to estimate levels of future inflation that are consistent with current market yields. As usual, the estimates are only as good as the assumptions, but are likely to be better than the use of some average historic inflation level, especially in periods in which term structures of interest rates are unusually steep, unusually flat, or actually downward-sloping.