0% found this document useful (0 votes)
9 views

Chapter 07

This document provides an example of calculating bond duration and immunizing a portfolio of bonds against a liability stream. It calculates the duration of individual bonds and the liability stream. Then it calculates portfolio weights that immunize the bonds against the liabilities by setting the duration-weighted portfolio duration equal to the duration of the liabilities. This minimizes interest rate risk from changes in the discount rate used to value the cash flows.

Uploaded by

Abhishek Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Chapter 07

This document provides an example of calculating bond duration and immunizing a portfolio of bonds against a liability stream. It calculates the duration of individual bonds and the liability stream. Then it calculates portfolio weights that immunize the bonds against the liabilities by setting the duration-weighted portfolio duration equal to the duration of the liabilities. This minimizes interest rate risk from changes in the discount rate used to value the cash flows.

Uploaded by

Abhishek Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Bond Valuation Example

We wish to value a 30-year 10% coupon bond with a face value equal to $1000. Assume a discount rate equal to 6%.
This worksheet can also be used to value other bonds with n between 1 and 53 by changing values in the yellow table.
Bond Details t PV[CF(t)]
F 1000
c 0.1 1 94.33962 94.33962
k 0.06 2 88.99964 183.3393
n 30 3 83.96193 267.3012
4 79.20937 346.5106
PV Bond 1550.593 5 74.72582 421.2364
PV Bond 1550.593 6 70.49605 491.7324
7 66.50571 558.2381
B9 is the sum of 8 62.74124 620.9794
discounted cash 9 59.18985 680.1692
flows on from the 10 55.83948 736.0087
bond. 11 52.67875 788.6875
B10 is based on 12 49.69694 838.3844
the PV Annuity 13 46.8839 885.2683
as applied to bond 14 44.2301 929.4984
valuation. 15 41.72651 971.2249
16 39.36463 1010.59
17 37.13644 1047.726
18 35.03438 1082.76
19 33.0513 1115.812
20 31.18047 1146.992
21 29.41554 1176.408
22 27.75051 1204.158
23 26.17973 1230.338
24 24.69785 1255.036
25 23.29986 1278.336
26 21.981 1300.317
27 20.7368 1321.053
28 19.56301 1340.616
29 18.45567 1359.072
30 191.5211 1550.593
31 0 1550.593
32 0 1550.593
33 0 1550.593
34 0 1550.593
35 0 1550.593
36 0 1550.593
37 0 1550.593
38 0 1550.593
39 0 1550.593
40 0 1550.593
41 0 1550.593
42 0 1550.593
43 0 1550.593
44 0 1550.593
45 0 1550.593
46 0 1550.593
47 0 1550.593
48 0 1550.593
49 0 1550.593
50 0 1550.593
51 0 1550.593
52 0 1550.593
53 0 1550.593
discount rate equal to 6%.
g values in the yellow table.
Yield to Maturity Example
Enter Bond data into Column B of the Yellow Region. Revise your y estimate until you are sufficiently close to the bond's corre
Bond Details
F 1000
c 0.1
Guess for y 0.15
n 30
Initial Bond Price 1000

PV Bond 671.701
DECREASE YOUR y ESTIMATE

Note: This calculator assumes that coupon payments are made annually beginning in one year.
ntly close to the bond's correct yield.
Fixed Income Arbitrage
Bond A Bond B Bond C Use Bonds A, B Bond D
P0=1000 P0=1055.5 P0=889 and C to replicate P0 = 1360
F=1000 F=1000 F=1000 Bond D: c = .20
c=.04 c=.06 c=0 F = 1000 P0(D) should be:
n=2 n=3 n=3 n=3 1444

Bond A Bond B Bond C From Column F


t=1 40 60 0 0
t=2 1040 60 0 3.333333333333
t=3 0 1060 1000 -2.33333333333
^Original Cash Flow Matrix^ ^Weights^
-0.001 0.001 0 200 0
0.01733333 -0.00066667 0 200 3.33333333333333
-0.0183733 0.00070667 0.001 1200 -2.33333333333333
^Inverse of Cash Flow Matrix^ ^Bond D CFs^ ^Weights^
-1000 -1055.5 -889 -1360 0
40 60 0 200 -3.33333333333333
1040 60 0 200 2.33333333333333
0 1060 1000 1200 1
^Cash Flow of each bond^ ^Arb.Port.Weights^
200
200
1200
Solve for Bond D CFs

84 CF Time 0
0 CF Time 1
0 CF Time 2
0 CF Time 3
Fixed Income Portfolio Dedication
Bond A Bond B Bond C
P0=1000 P0=1055.5 P0=889
F=1000 F=1000 F=1000
c=.04 c=.06 c=0
n=2 n=3 n=3

Fixed Income Arbitrage


t=1 40 60 0
t=2 1040 60 0
t=3 0 1060 1000
^Fixed Income Portfolio Cash Flows^
40 60 0 2000 12000000 <Liability Cash Flows
1040 60 0 198666.666666667 = 14000000
0 1060 1000 -195586.666666667 15000000
^Original Cash Flow Matrix^ ^#'s of Each Bond^
-0.001 0.001 0 12000000 2000
0.01733333 -0.0006667 0 14000000 198666.666667
-0.01837333 0.00070667 0.001 15000000 -195586.666667
^Inverse of Cash Flow Matrix^ Liability Outflows # of each Bond
-1000 -1055.5 -889 -2000 37816120 CF Time 0
40 60 0 -198666.666667 -12000000 CF Time 1
1040 60 0 195586.666667 -14000000 CF Time 2
0 1060 1000 -15000000 CF Time 3
^Cash Flow of each bond^ Dedicated Port.Weights

210586670
-195586670
-195586.67
<Liability Cash Flows

These
are
rounded
Calculating Bond Duration and Immunized Portfolio Weights
Calculating Duration
Bond Details t t*CF(t) t*PV(CF(t))
1000 P(0) 1 100 90.90909
1000 F 2 200 165.2893
0.1 c 3 300 225.3944
5n 4 400 273.2054
0.1 y 5 5500 3415.067
4.169865 Bond Duration

-2.010686 Duration of the Liability Stream from Fixed Income Dedication; Cells F14:F16

-1.909091 Duration of some second Bond (B)

Calculating Portfolio Weights for Immunization

-4.169865 -1.909091 Durations of the 2 bonds


1 1 1*w(A) + 1*w(B) must sum to 1

-0.442326 -0.844441 -2.010686 0.044938 Weight of Bond A


0.442326 1.844441 1 0.955062 Weight of Bond B
Inverse Matrix
Calculating Bond Duration, Convexity and Immunized Portfolio Weights
Calculating Duration The Green sections
Bond Details t t*CF(t) t*PV(CF(t)) (t+1)*t*PV(CF(t))/(1+y)^2 deal with bond
1000 P(0) 1 100 90.90909091 150.262960180316 convexity.
1000 F 2 200 165.2892562 409.808073219042
0.1 c 3 300 225.3944403 745.105587670986
5n 4 400 273.2053821 1128.94786010755
0.1 y 5 5500 3415.067277 16934.2179016133
4.169865446 19.3683423827912
Bond Duration Bond Convexity
-1.801667 Duration of the Liability Stream from Fixed Income Arbitrage Worksheet; Cells F19:F21
4.969424 Convexity of the Liability Stream from Fixed Income Arbitrage Worksheet; Cells F19:F21
-1.909091 Duration of a second Bond (B) Duration of Bond C -1.3
4.658152 Convexity of a second Bond (B) Convexity of Bond C 3.2

Calculating Portfolio Weights for Immunization


-4.169865 -1.909091 -1.3 Durations of the 3 bonds With three bonds, an infinite number
1 1 1 1*w(A) + 1*w(B) + 1*w( C) must sum to 1 of weights solutions are possible
19.36834 4.658152 3.2 Convexities of the 3 bonds based on the duration and weights
constraints. With a convexity
0.257474 -0.009446 0.107551 -2.010686 0.007319548 Weight of Bond A constraint, only one of these
-2.854938 -2.089823 -0.506749 1 1.132309785 Weight of Bond B solutions are feasible in a three-
2.597463 3.099269 0.399198 4.969424 -0.13962933 Weight of Bond C bond portfolio.
Inverse Matrix
o Weights

ells F19:F21

e bonds, an infinite number


s solutions are possible
n the duration and weights
ts. With a convexity
t, only one of these
are feasible in a three-
Duration and Immunization
Bond A Bond B Bond C Liabilities
P(0) 900 ? ? CF(1)= 100,000
F 1000 1000 1000 CF(2)= 400,000
c 0.03 0 0 CF(3) 50,000
n 3 4 1
We will first use Bonds A and B to immunize interest rate risk of liabilities based on Duration only.
First, we will calculate the ytm of Bond A. Then, assuming a flat yield curve, we calculate the prices
of Bond B and of the liability stream.
P(0) -900 P(0)(B)= 768.731 Here we solve for the price of Bond B.
CF(1) 30 P(0)(o)= 485394.2 Here we solve for the sum value of the firm's liabilities..
CF(2) 30
CF(3) 1030
ytm(A) 0.067963
Next, we calculate the Durations of Bonds A and B and then the Duration of the liability stream.
DURa -2.90835
DURb -4
DURo -1.891661
Finally, we begin the process of computing the investment amounts in a portfolio comprised of Bonds
A and B such that the duration of the portfolio matches the duration of the liability stream. Note that
the total amount invested must sum to the value of the liability stream.
-2.90835 -4
1 1
Now, invert the matrix and solve for the amount of money to invest in each bond.
0.916045 3.664178 -1.891661 1.93133299 = the fractional amount to invest in Bond A.
-0.916045 -2.664178 1 -0.93133299 = the fractional amount to invest in Bond B.

The Green sections below deal with bond convexity.

Next, we introduce Bond C to the immunization process.


Continuing to assume a flat yield curve, we calculate the price of Bond C:
Value of Bond C = 936.3616
ytm(A) = 0.067963 = all spot and forward rates
DURa -2.90835 Convexitya 10.09387 These convexity
DURb -4 Convexityb 17.53546 figures are second
DURc -1 Convexityc 1.753546 derivativesdivided by
DURo -1.891661 Convexityo 5.028976 the bond prices.

We will now determine how much to invest in each of the three bonds to immunize portfolio risk based on both
Duration and Convexity. Note also that the total invested equals the PV of the liability stream.
-2.90835 -4 -1
1 1 1
10.09387 17.53546 1.753546
Finally, invert the matrix and solve.
-3.096653 -2.064435 -0.588646 -1.89166058 0.833095 = the fractional amount to invest in Bond A.
1.636499 0.979888 0.374447 1 -0.232726 = the fractional amount to invest in Bond B.
1.460154 2.084547 0.214198 5.02897607 0.39963 = the fractional amount to invest in Bond C.
firm's liabilities..

risk based on both


Duration and Immunization
Bond A Bond B Bond C Liabilities
P(0) 1000 1055.5 889 CF(1)= 12,000,000
F 1000 1000 1000 CF(2)= 14,000,000 y = .04 for all bonds; the yield curve is flat.
c 0.04 0.06 0 CF(3) 15,000,000 The value of the liability stream is
n 2 3 3
We will use Bonds E, F and G to immunize interest rate risk of liabilities based on Duration only.
Next, we calculate the Durations of Bonds E, F and G and then the Duration of the liability stream.
DUR(A) -1.961538
DUR(B) -2.838131
DUR(C) -2.999988
DUR(L) -2.047504
Next, we begin the process of computing the investment amounts in a portfolio comprised of Bonds
A, B and C such that the duration of the portfolio matches the duration of the liability stream. Note that
the total amount invested must sum to the value of the liability stream. Also, notice that
there are an infinity of solutions to our two-equation, three variable system.
-1.961538 -2.838131 -2.999988 wA -2.047504
1 1 1 wB = 1
wC
Suppose that the manager already has invested $3781719.4 (wA = .10) into Bond A and wants
to hold this investment in Bond A constant. We solve for investment weights as follows:
-1.961538 -2.838131 -2.999988 wA -2.047504
1 1 1 wB = 1
1 0 0 wC 0.1

0 0 1 -2.047504 0.1
6.178312 18.53486 -6.415863 1 = 5.243152
-6.178312 -17.53486 5.415863 0.1 -4.343152

The Green sections below deal with bond convexity.


Now, we will ignore the investment constraint (10%) on Bond E, but will seek to match portfolio convexity as well as duration.
W will work with durations and compute convexities for our bonds and liability outflow stream.
DUR(A) -1.961538 ConvexityA 5.405098 These convexity
DUR(B) -2.838131 ConvexityB 10.29779 figures are second
DUR(C) -2.999988 ConvexityC 11.09463 derivatives divided by
DUR(L) -2.047504 ConvexityL 6.375227 the bond prices.

We will now determine how much to invest in each of the three bonds to immunize portfolio risk based on both
Duration and Convexity. Note also that the total invested equals the PV of the liability stream.
-1.961538 -2.838131 -2.999988
1 1 1
5.405098 10.29779 11.09463
Finally, invert the matrix and solve.
-8.530034 -6.366808 -1.732657 -2.04750442 0.052392 = the fractional amount to invest in Bond A.
60.90584 59.38343 11.11649 1 5.548602 = the fractional amount to invest in Bond B.
-52.37581 -52.01662 -9.383834 6.37522686 -4.600993 = the fractional amount to invest in Bond C.
or all bonds; the yield curve is flat.
e of the liability stream is 37817194

uration only.
ability stream.

mprised of Bonds
lity stream. Note that

tfolio convexity as well as duration.

portfolio risk based on both


ility stream.

st in Bond A.
st in Bond B.
st in Bond C.
Bootstrapping The Yield Curve
Bond %Coupon Ask Price Dt Spot Rate
1 5.00 102 0.9714286 2.94% 1200.00%
2 5.00 101 3/4 0.9227891 4.10%
3 5.00 101 1/2 0.8764658 4.49% 1000.00%
4 5.00 101 1/4 0.8323484 4.69%
5 5.00 101 1/4 0.7927128 4.76% 800.00%

Spot Rate
6 5.00 101 1/4 0.7549645 4.80%
7 5.00 101 1/4 0.7190138 4.83% 600.00%
8 5.00 101 1/4 0.6847751 4.85%
400.00%
9 5.25 102 1/4 0.64455 5.00%
10 5.25 102 1/4 0.612399 5.03% 200.00%
11 5.25 102 1/4 0.5818518 5.05%
12 5.25 102 1/4 0.5528283 5.06% 0.00%
13 5.50 104 0.5193962 5.17% 0 2 4 6 8 10 12
14 5.50 104 0.4923187 5.19% Years
15 5.50 104 0.4666528 5.21%
16 5.75 105 3/4 0.4331835 5.37%
Obtaining the Yield Curve
Suppose that market prices of two two-year bonds are given to be 826.4 and 1005.
The first bond is a zero coupon and the second is a 10% coupon issue. Assume that investors value bonds with
present value frameworks. We set up two valuation equations with discount functions d1 and d2.
We will first solve the following simple linear system for D1 and D2:
0d1 + 1000d2 = 826.4
100d1 + 1100d2 = 1005

0 1000 This represents the coefficients matrix C. We will invert this matrix below.
100 1100
C

826.4 The Price D1 The discount


1005 Vector s D2 Vector d
s d
Spot and Forward Rates
-0.011 0.01 826.4 0.9596 y0,1 = 0.0421
0.001 0 1005 = 0.8264 y0,2 = 0.1
C-1 s d y1,2 = 0.1612
tors value bonds with

ward Rates
Yield Curve Estimation with Coupon Bonds: Example 1
Bond A Bond B*
P0=1000 P0=1055.5 40 1040 Original Cash Flow Matrix
F=1000 F=1000 60 1060
c=.04 c=.06
n=2 n=2
-0.0530 0.0520 1000 1.886 -0.469777 y01
0.0030 -0.0020 1055.5 0.889 0.060594 y02
Inverse Matrix Price Discount Spot y12
Vector FunctionsRates

Yield Curve Estimation with Coupon Bonds: Example 2


Bond A Bond B Bond C
P0=1000 P0=1055.5 P0=889 40 1040 0
F=1000 F=1000 F=1000 60 60 1060
c=.04 c=.06 c=0 0 0 1000
n=2 n=3 n=3

-0.001 0.017333 -0.018373 1000 0.96144 0.040107


0.001 -0.000667 0.000707 1055.5 0.92456 0.039998
0 0 0.001 889 0.889 0.039999
Inverse Matrix Price Discount Spot
Vector FunctionsRates

Yield Curve Estimation with Coupon Bonds: Example 3


Bond E Bond F Bond G
c=.05 c=.06 c=.09
P0=947.376 P0=904.438 P0=980.999
n=2 n=3 n=3
F=1000 F=1000 F=1000
The following illustrate computations for the example:
Cash Flow Matrix
50 1050 0
60 60 1060
90 90 1090

-0.001 -0.03815 0.0371 947.376 0.943377 0.060021 y01


0.001 0.001816667 -0.001767 904.438 0.85734 0.079999 y02
0 0.003 -0.002 980.999 0.751316 0.099999 y03
Inverse Matrix Price Discount Spot y12 0.100353
Vector FunctionsRates y23 0.141118
y13 0.12055
Forward
Rates
Bond H
c=.02
P0=? 802.3566667 is the price of Bond H
n=3
F=1000
1.121485 Bad Example
Forward
Rate

ytm(A) = 0.04
ytm(B) = 0.046147
ytm(C) = 0.046713

y01 1000
y02 1055.5
y03 889
y12 0.039889 37817194
y23 0.039999
y13 0.039945
Forward
Rates

You might also like