Our starting point is the definition of Duration and its intuitive motivation.
We start by assuming that the term structure is flat but soon we will see that this assumption can be easily relaxed.That is, the rate spanning one period,
the time interval(0,1),isr, hence a dollar invested fortperiods of time will grow to(1+r)t. For simplicity we assume in this section that interest rate are reported based on annual compounding and think about a period as a year.
Letc(t)be the cash flow (coupon or coupon plus principal at maturity) from a bond at timet,t=1, . . .,n, wherenis the maturity time of the bond.
The no-arbitrage condition implies that the price of the bondPis given by P=
n
∑
t=1
c(t)
(1+r)t. (4.1)
where interest rates are reported as explained above. Denoting 1+rbyR and substituting it in the above equation yields:
n t=1∑
c(t)
Rt (4.2)
In this simplistic model the effect of the change in the interest rate (inr) on the price of the bond can be measured by the derivative ofP=
n
∑
t=1
c(t) Rt with respect toR, i.e., by dP
dR. Note that since ∂R
∂r =1 then ∂
∂R
n
∑
t=1
c(t) Rt
!
= ∂
∂r
n
∑
t=1
c(t) Rt
!
, and
it is given by:
dP dR=−
n
∑
t=1
c(t)t RtR
(4.3) Before we continue further we would like to make our first observation.
Since the bond payments are all positive i.e.,c(t)>0,t=1, . . .nand so is R, one can easily verify that the expression above is negative. Hence our first conclusion is that since dP
dr <0,Pis a decreasing function ofr, i.e., bond prices increase when interest rates decrease and vice versa. This is of course a direct consequence of the first derivative being negative. A further look confirms that indeed the present value of a positive cash flow decreases as the interest rate increases. The present value of a (positive) future amount is calculated by multiplying it by the discount factor 1
1+r so asrincreases, the discount factor decreases and hence the result.
Traditionally the sensitivity of bond prices to changes in the interest rate is measured in percentage terms. However before presenting it in the classical way we would like to highlight the concept behind this traditional presentation. Thinking about the price of the bond as a function of the interest rate (since the present value is a function of r), it is possible to approximate the change in a bond price due to a change in the interest rate.
The approximation is based on a first order Taylor series that uses only the first derivative of the approximated function. We will use it again with higher order derivatives when we look at generalized durations. However for the current derivation we only need the fact that if the price of the bond P, is represented as a function of r, i.e., asP(r) where dP(r)
dr is its first derivative and if there is a change in r represented by∆r, thenP(r+∆r) can be linearly approximated by
P(r+∆r)≈P(r) +dP(r)
dr ∆r (4.4)
This approximation can be visualized graphically but first let us look at a numerical example. To this end we defined a function that calculates the price of a bond, with semi-annual payments, a face value of $100, a coupon rate of c(i.e., each coupon payment is c
2ã100) maturing in nyears from now (that is the next coupon is paid in 6 months). Thus the parameter of this function arec,randn. That is, forn=2 coupon rate of c and interest rate of r the price is;
> BondPrice(c,r,2);
√50c
1+r+ 50c
1+r+ 50c
(1+r)3/2+ 50c
(1+r)2+ 100 (1+r)2 The generic formula is
> BondPrice(c,r,n);
− 50c
√1 1+r
2n+1√ 1+r
−1+√
1+r + 50c
−1+√
1+r+ 100 (1+r)n
Note that Maple presented the expression
n
∑
t=1
c(t)
(1+r)t, where c(n) = 100, in a compact form based on it being a geometric series. Forn=5 the
result will be:
> BondPrice(c,r,5);
√50c
1+r+ 50c
1+r+ 50c
(1+r)3/2+ 50c
(1+r)2+ 50c
(1+r)5/2+ 50c (1+r)3
+ 50c
(1+r)7/2+ 50c
(1+r)4+ 50c
(1+r)9/2+ 50c
(1+r)5+ 100 (1+r)5
Hence the price of a bond with a coupon payment of 5% when the interest rate is 7% maturing in 5 years can be calculated as:
> BondPrice(.05,.07,5);
92.15230453
Changes in interest rates are traditionally measured in basis points (bps). One basis point is defined to be 1/100th of 1%. Hence 1% change equals change of 100 bps. If the interest rate changes from 7% to 8%, a change of 100 bps, the price of the bond will be
> BondPrice(.05,.08,5);
88.41345975
In this case∆r=0.08−0.07 is 0.01 in order to use first order Taylor linear approximation there is a need to know
dP(r) dr
r=0.07
. This is done below; note that ‘diff (BondPrice(0.05,r,5,r))’ calculates the derivative with respect tor and the ‘subs’ command calculates its value at the point r=0.07.
> diff(BondPrice(.05,r,5),r);
−1.250000000
(1.+r)3/2 −2.500000000
(1.+r)2 −3.750000000
(1.+r)5/2 −5.000000000 (1.+r)3
−6.250000000
(1.+r)7/2 −7.500000000
(1.+r)4 −8.750000000
(1.+r)9/2 −10.00000000 (1.+r)5
−11.25000000
(1.+r)11/2 −12.50000000
(1.+r)6 − 500 (1+r)6
> subs(r=.07,diff(BondPrice(.05,r,5),r));
−384.0525897
Thus the approximation to the change in the price is the product of dP(r)
dr
r=0.07
=−384.0525897and∆r=0.01
> -384.0525897*0.01;
−3.840525897
Putting it all together utilizing (4.4) the approximation of the bond’s price after the change in the interest rate is:
P(0.07) +
dP(r) dr
r=0.07
ã∆r
(4.5)
> BondPrice(.05,.07,5)+subs(r=.07, diff(BondPrice(.05,r,5),r))*.01;
88.31177863
We see that the approximated value of 88.311 is not that far from the true value of 88.413. The reader can recalculate the example above for different values of the parameters, i.e.,r,c,nand∆r.
This approximation can be visualized as a function ofr, the rate after the change, when the current interest rate is r0 and∆r= (r−r0), by the graph of the linear function
P(r0) +
dP(r) dr
r=r0
ã(r0−r).
(4.6) A large value ofr0is chosen to make it more pronounced, the chosen parameters arer0=0.14,c=0.05 andn=5. For these values the price of the bond is
> BondPrice(.05,0.14,5);
100.2672919
and the figure that visualizes this approximation as in (4.6) is presented:
> plot([BondPrice(.05,r,5),BondPrice(.05,.14,5)+(r-0.14)
*subs(r=.14,diff(BondPrice(.05,r,5),r)),[[0.14,0],
[0.14,BondPrice(.05,.14,5)]]],r=0.04...0.30,y=0..180, color=[green,red,blue],labels=[‘Interest rate‘,‘Bond Price‘],title=‘Approximation of the Bond’s value
‘,thickness=2,titlefont=[TIMES,BOLD,10]);
The solid graph is the true value of the bond as a function of the interest rate. The dash-dot graph is the approximation of the value of the bond after the change in the interest rate. It is the line tangent to the dash-dot graph atr=0.14 at the intersection of the perpendicular line with the dash-dot and the solid lines. Hence, the slope of the dash-dot graph is the derivative of the solid graph at the pointr=0.14. If the interest rate does not change (r=0.14)we see that the approximation and the true value coincide.
Note that the smaller that change in the rate the better the linear approx- imation is. However, as the change gets bigger, a gap is opening between the true value (the solid graph) and the approximation (the dash-dot graph).
This gap is due to the true value not being a linear function of the interest rate. In this setting, the true value is in fact a convex function of the interest rate. For this reason, as we will see henceforth, the expression that is added to make the approximation more precise is termed ‘convexity’.
Let us see how this result can be presented in terms of percentage changes. To this end we denoteP(r+∆r)−P(r)by∆Pin equation (4.4), repeated below,
P(r+∆r)≈P(r) + d
drP(r)
∆r.
and write it as
∆P≈
dP(r) dr
∆r.
(4.7) Recall that forR= (1+r),∆r=∆RanddP(r)
dr =dP dR=−
n
∑
t=1
c(t)t Rt R
. Thus
∆P
∆R≈ −
n
∑
t=1
c(t)t Rt R
. (4.8)
Dividing (4.8) byP=
n
∑
t=1
c(t)
Rt and multiplying it byRwe obtain
∆P
∆RR
P ≈
−∑n
t=1
c(t)t Rt
n
∑
t=1
c(t) Rt
=−
n
∑
t=1
c(t)R−t
n
∑
t=1
c(t)R−t
t
(4.9) Definingw(t) = c(t)R−t
n
∑
t=1
c(t)R−t
=c(t)R−t
P equation (4.9) can be written as :
∆P
∆RãR P≈ −
n t=1∑
w(t)t (4.10)
Notice that 0≤w(t),w(t)≤1 and that
n
∑
t=1
w(t) =1, hence,
n
∑
t=1
w(t)t can be interpreted as the weighted average of the time of the payment dates of the bond. The weight of time tis the present value of the payment at t,divided by the present value of all the payments — the price. Note also that in our convention the current time is time zero so timetis actually the length of the time period from now to t. Consequently,
n t=1∑
w(t)t, is the weighted average of the length of times to the payment dates.
One may think of a coupon paying bond as maturing gradually, after all, it pays coupons along its life so it is not really maturing at one point in time — the time of the last coupon (and the face value) payment. Hence,
n
∑
t=1
w(t)tis the average ‘duration’ of the bond and
Du=
n
∑
t=1
w(t)t
(4.11) is defined to be the duration of a bond. Consequently the approximation can be written in terms of the bond’s duration as
∆P
P ≈ −Du ∆R
R
(4.12) In words, the percentage change in the price of the bond ∆P
P , is minus its duration
n
∑
t=1
w(t)t, multiplied by the percentage change in R, ∆R
R = ∆r 1+r
.
Thus the effect of the change in the interest rate is measured, in this simplistic model, by the duration of the bond. The minus sign indicates that an increase in the interest rate causes a decrease in the price of the bond.
Since the change inRis a consequence of the change inrand∆r=∆Rwe can rewrite (4.12) as
∆P
P ≈ −Duã ∆r
1+r
, or∆P≈ −PDuã ∆r
1+r
.
(4.13) In words we can restate it asthe percentage change in the price of a bond is inversely related to the percentage change in the interest rate in the following way:an increase (decrease) of one percent in 1+r causes a decrease (increase) of−Du percent in the price of the bond. The interpre- tation of duration as the weighted average of the time of the payment dates of the bond implies that the duration of a portfolio of bonds is the weighted average of the durations of the bonds in the portfolio. The weight of the duration of each bond is the price of the bond divided by the price of the
portfolio. One of the exercises at the end of the chapter asks the reader to prove this property.
If we define a modified duration MDu= Du
1+r (4.14)
then
∆P
P =−MDuã∆r,
(4.15) which verbally can be conveyed by saying that an increase (decrease) of∆r in the flat term structure causes a decrease (increase) ofMDuã∆rpercent in the bond price. Similarly the change in the bond’s price can be written as
∆P=−PãMDuã∆r, (4.16)
and the price after the change is
P+∆P=P(1−MDuã∆r). (4.17)
Let us look at a few numerical examples. To help us in the calculation we have a function Dur(c,r,n,F), that calculates the duration of a bond where cis the coupon rate (paid semiannually), ris the term structure of the interest rate (assumed to be flat for now),nis the number of years until maturity where the time to the next coupon is 6 months. For simplicity the functionDur(c,r,n,F)calculates the duration assuming that the interest rate is reported as the simple annual rate, coupons are paid semiannually andF is the face value of the bond, i.e. it calculates1
1A conventional bond in most countries pays coupons semi-annually, and if its coupon rate iscit pays c
2every 6 months. As well the interest rate is usually reported as an annual rate, compounded semi-annually which means that $100 invested for 6 months at annual rate ofrpercent will grow to 100
1+r
2
and when it is invested for one year it will grow to 100
1+r
2 2
. Hence under this convention the price of a bond with parametersc,r,n,F where the time to the next coupon payment is 6 months is:
P=
2n
∑
i=1
c 2
1+r 2
−2i
+F 1+r
2 −n
2n
∑
t=1
Fc2(1+r)−2i(2i)
+F(1+r)−nn
n
∑
t=1
F2c(1+r)−2i +F(1+r)−n (4.18) Thus the equation for the duration of a bond with a coupon rate ofc where the interest rate isr, the time to maturity is 1 year and the face value isF, is given by:
> Dur(c,r,1,F);
F(1+r) +14√Fc1+r+121+rFc F(1+r) +12√Fc
1+r+121+rFc and if the time to maturity isnyears it is
> Dur(c,r,n,F);
F(1+r)−nn−1 4
Fc √1
1+r
2n+1√
1+r (2n+1)√
1+r−2n
−1+√ 1+r2
+1 4
Fc√ 1+r
−1+√ 1+r2
,
F(1+r)−n−1 2
√1 1+r
2n+1
Fc√ 1+r
−1+√ 1+r
+1 2
Fc
−1+√ 1+r
Note again that Maple uses the geometric series formula to simplify the expression in (4.18).
The duration of a zero coupon bond that matures in three years with a face value of $100 in a market with a flat term structure of 7% will be calculated by executing
> Dur(0,.07,3,100);
and the duration of the bond, (in units of 6 months) will be 2n
∑
t=1 c
2 1+2r−i2
i+F 1+r2−n
n
P .
3.000000000
Keeping in mind the duration definition and its interpretation, as a weighted average of the time to payment of the bond, it should be clear that the duration of such a bond is 3. The weighted average of one number is the number itself. Since the bond pays only once, the weighted average of the time to the payment of the bond is exactly the time to maturity of the bond.
Let us look at another example. The duration of a 5% coupon bond that matures inn=10, paying semi-annual couponsr=7% with a face value ofF=100, and the time to the next coupon is 6 months can be calculated by executing :
> Dur(.05,.07,10,100);
9.184216684
Consider yet another example. A 6% coupon bond, maturing in 5 years in a market in which the interest rate is 7% where the time to the payment of the next coupon is 6 months.
> Dur(.06,.07,5,100);
4.379273110
The result of these calculations should not be that surprising. After all, if the bonds mature in 5 years and the highest weight is given to the maturity time, its duration should be close to 5. The weight of each time is the present value of the payment at that time divided by the present value of the future cash flow (the price of the bond). Hence, the face value of the bond will always tilt the duration measure to be close to the maturity time.
The duration of a bond is of course affected by the value of the interest rate. Let us look at the same bond as above but assume now that the interest rate in the market is 2%. The duration of the bond will now be calculated as below.
> Dur(.06,0.02,5,100);
4.531015444
The lower the interest rate the higher the present value of each payment.
However we see again that the face value of the bond being the largest
payment affects the duration calculation the most and hence the duration increases. This however will not be the case for a zero coupon bond. A zero coupon bond will have the same duration regardless of the value of the interest rate.
How does an increase in the coupon rate affect the duration? Let us calculate the duration of the last bond but when the coupon rate is 15%.
> Dur(.15,0.02,5,100);
4.102993923
By increasing the coupon rate we essentially increase the weights of the time payment of each couponrelativeto the payment of the face value at maturity. Hence more weight is given to the coupon payment and we thus decrease the average. Thus the duration, being the weighted average, should decrease as indeed we show above.
What is the effect of increasing the time to maturity on the duration of the bond? Increasing the time to maturity in essence makes the time with the heaviest weight (the maturity of the bond) longer. Thus we expect an increase in the duration. We demonstrate it below when the maturity of the bond is increased to 10 years.
> Dur(.15,0.02,10,100);
7.413734070
We can therefore summarize and visualize the following, keeping in mind that duration measures the sensitivity (percentage change in the price of a bond) to changes (a percentage change in 1+r) in the interest rate.
(1) The higher the interest rate, the lower the sensitivity of the bond to changes in the interest rate. This can be visualized by graphing the duration of a bond as a function of the interest rate.
> plot(Dur(.05,r,10,100),r=0.01..0.15);
(2) The higher the coupon rate, the lower the sensitivity of the bond to changes in the interest rate. This can be visualized by graphing the duration of a bond as a function of the coupon rate.
> plot(Dur(c,.07,10,100),c=.01...0.10);
(3) The longer the time to maturity, the higher the sensitivity of the bond to changes in the interest rate. This can be visualized by graphing the duration of a bond as a function of the maturity time.
> plot(Dur(.04,.05,n,100),n=1..10);
We conclude this section by using the duration approximation in order to calculate the percentage change in the value of a bond due to a change in the interest rate.
The functionBondPricecalculates the price of a bond with a face value of $100 wherecis the coupon rate (paid semiannually),ris the term struc- ture of the interest rate (assumed to be flat for now), n is the number of years until maturity where the time to the next coupon is 6 months. That is forn=1, coupon rate ofcwhenris the flat term structure of the interest rate we have
> BondPrice(c,r,1);
√50c
1+r+ 50c
1+r+ 100 1+r
Thus, the price of a bond with a face value of $100 that matures in 10 years wherec=0.1,r=0.05 is
> BondPrice(.10,0.05,10);
139.5621188
Assume now that the interest rate in the market increased by 50 bbps that is, the new rate is 5.5%, then the price of the bond will be:
> BondPrice(.10,0.055,10);
134.9418679
The percentage change in the price of the bond was thus
> (134.9418679-139.5621188)/139.5621188;
−0.03310533646
Let us see how the duration will approximate this change. Our approx- imation says that the percentage change in the price is minus the duration multiplied by the percentage change in 1+r. The Duration of the bond is
> Dur(.10,.05,10,100);
7.113188905 The percentage change in 1+ris
> (1+0.055-(1+0.05))/1.05;
0.004761904762
Hence the duration will approximate the percentage change as
> -Dur(.10,.05,10,100)*(1+0.055-(1+0.05))/1.05;
−0.03387232812
The above can be presented in terms of modified duration as
> -(Dur(.10,.05,10,100)/1.05)*0.005;
−0.03966036818
where Dur(.10,.05,10,100)/1.05) is the modified duration and 0.005 is the change in interest rates.
That is the modified duration times the change in interest rates is the percentage change in the bond’s price. Thus as a result of 50 bps (0.005) increase in interest rate the price of the bond is approximated as
> BondPrice(.10,0.05,10,100)*(1-0.03966036818);
134.0270338
Duration therefore measures the sensitivity of bonds, or portfolio of bonds as we shall soon see, to changes in interest rates. Hence duration is used to manage interest rate risk. Interest rate risk is the terminology used to capture the risk one faces as a result of a change in the interest rates.
To better capture the sensitivity of bond prices to interest rate changes, a second order Taylor approximation is used. The first order approxima- tion is a linear approximation to the change while the second order allows quadratic such approximation, based on a second order Taylor approxima- tion, i.e., based on
P(r+∆r)≈P(r) + d
drP(r)
∆r+1 2
d2 dr2P(r)
∆r2
(4.19) since d2
dr2P(r) =
n t=1∑
c(t)(t+1)t RtR2
following the same steps as in the de- viation of (4.13) yields
∆P P ≈ −
n
∑
t=1
w(t)t
!
∆r R
+1
2
n
∑
t=1
w(t)t(t+1)
!∆r2 R2 .
and thus a more accurate measure of the change to the bond prices, as a result of a change in interest rates is obtained. The expression
Con=
n
∑
t=1
w(t)t(t+1)
!
(4.20) is termed, for the reason explained earlier, ‘convexity’.
Note that this expression is positive, hence omitting it underestimates the true change. The approximation of a bond price without convexity is based on equation (4.6), and with convexity is based on equation (4.21) whereris the rate after the change and the current rate isr0;
P(r)≈P(r0) + dP
dr
r=r0
(r−r0) +1 2
d2P dr2
r=r0
(r−r0)2 (4.21) The figure below visualizes the first and second order Taylor approxi- mation, equations (4.6) and (4.21), respectively.
> plot([BondPrice(.05,r,5),BondPrice(.05,.14,5)+(r-0.14)
*subs(r=.14,diff(BondPrice(.05,r,5),r)), BondPrice(.05,.14,5)+(r-0.14)*subs(r=.14, diff(BondPrice(.05,r,5),r))+0.5*(r-0.14)ˆ2
*subs(r=.14,diff(BondPrice(.05,r,5),r,r)),[[0.14,0], [0.14, BondPrice(.05,.14,5)]]],r=0.01..0.35,y=30..110, color=[green,red,black,blue],labels=[‘Interest
rate‘,‘Bond Value‘],title=‘Approximation of the Bond’s value ‘,thickness=2,titlefont=[TIMES,BOLD,10]);
The solid line is the true value. The dash-dot line is the linear approxi- mation, i.e., where the price is approximated byP−Duã∆r. The long dash line is the quadratic approximation, i.e. where the price is approximated by both duration and convexity as−Duã∆r+Conã∆r2
2 . It can be seen that with the convexity term, the approximation nearly coincide with the true price, while the linear approximation is always smaller than the true price.
The definition of duration and convexity, as well as that of a generalized concept of duration are easier to work with if continuous compounding is used to represent the term structure and the discount factor. If the price of a bond, the preset value of its cash flow c(t) at timet, is represented as