There is a system of five bond variables: (1) Number of Periods to Maturity (N), (2) Face Value (M), (3) Discount Rate / Period (DR), (4) Coupon Payments (INT), and (5) Bond Price (VB). Given any four of these variables, the fifth variable can be found by using Excel functions (and in some cases by formulas).
FIGURE 6.5 Spreadsheet Model of Bond Valuation - System of Five Bond Variables.
How To Build This Spreadsheet Model.
1. Start with the Basics Spreadsheet and Delete Rows. Open the spreadsheet that you created for Bond Pricing – Basics and immediately save the spreadsheet under a new name using the File | Save As command. Delete rows 27 through 29 by selecting the range A27:A29, clicking on Edit
| Delete, selecting the Entire Row radio button on the Delete dialog box, and clicking on OK.
Then repeat this procedure to delete rows 14 through 25 and repeat this procedure again to delete rows 10 through 11. This places the five bond variables in rows 8 through 12, highlighted with purple labels above.
2. Calculate Number of Periods to Maturity (N). NPER is the Excel function to calculate the number of periods to maturity. The format is =NPER(Discount Rate / Period, Coupon Payment, - Bond Price, Par Value). Enter =NPER(DR,INT,-VB,M) in cell B15.
3. Calculate Face Value (M). There are two ways to calculate the face value of the bond.
o Use the Excel Function FV. The format is =FV(Discount Rate / Period, Number of Periods to Maturity, Coupon Payment, -Bond Price). Enter =FV(DR,N,INT,-VB) in cell B18.
o Use the face value formula
(1 )N ( ( (1 )N) 1)
B
INT DR
M V DR
DR
⋅ + −
= ⋅ + − ,
where the first term is the future value of the bond price and the second term is the future
values of the string of coupon payments. Enter =VB*((1+DR)^N)-INT*(((1+DR)^N)- 1)/DR in cell B19.
4. Calculate Discount Rate / Period (DR). RATE is the Excel function to calculate the discount rate per period. The format is =RATE(Number of Periods to Maturity, Coupon Payment, -Bond Price, Par Value). Enter =RATE(N,INT,-VB,M) in cell B22.
5. Calculate Coupon Payment (INT). There are two ways to calculate the coupon payment of the bond.
o Use the Excel Function PMT. The format is =PMT(Discount Rate / Period, Number of Periods to Maturity, -Bond Price, Par Value). Enter =PMT(DR,N,-VB,M) in cell B25.
o Use the coupon payment formula
( )
( )
( )
(1 1 1 )
N N
M
B DR
DR DR
V
INT −+
− +
= − ,
where the numerator is the bond price minus the present value of the par value and the denominator is the present value of a $1 coupon payment. Enter =(VB- M/((1+DR)^N))/((1-((1+DR)^(-N)))/DR) in cell B26.
6. Calculate Bond Price (VB). There are two ways to calculate the price of the bond.
o Use the Excel Function PV. The format is =PV(Discount Rate / Period, Number of Periods to Maturity, Coupon Payment, Par Value). Enter =-PV(DR,N,INT,M) in cell B29.
o Use the bond price formula
( ( ( ) ) )
( )
1 1
1
N
B N
INT DR M
V DR DR
⋅ − + −
= +
+ ,
where the first term is the present value of the string of coupon payments and the second term is the present value of the par value. Enter =INT*(1-((1+DR)^(- N)))/DR+M/((1+DR)^N) in cell B30.
We see that the system of five bond variables is internally consistent. The five outputs in rows 15 through 30 (N=8, M=1000, DR=4.5%, INT=$25, VB=$868.08) are identical to the five inputs in rows 8 through 12. Thus, any of the five bond variables can be calculated from the other four in a fully consistent manner.
Problems
Skill-Building Problems
1. A bond has a face value of $1,000, an annual coupon rate of 4.60%, an yield to maturity of 8.1%, makes 2 (semiannual) coupon payments per year, and 10 periods to maturity (or 5 years to maturity). Determine the price of this bond based on the Annual Percentage Rate (APR) convention and the price of this bond based on the Effective Annual Rate (EAR) convention.
2. Determine the relationship between bond price and yield to maturity by constructing a graph of the relationship.
3. Given four of the bond variables, determine the fifth bond variable.
(a.) Given Number of Periods to Maturity is 10, Face Value is $1,000, Discount Rate / Period is 3.2%, and Coupon Payment is $40, determine the Bond Price.
(b.) Given Number of Periods to Maturity is 8, Face Value is $1,000, Discount Rate / Period is 4.5%, and the Bond Price is $880.00, determine the Coupon Payment.
(c.) Given Number of Periods to Maturity is 6, Face Value is $1,000, Coupon Payment is $30, and the Bond Price is $865.00, determine Discount Rate / Period.
(d.) Given Number of Periods to Maturity is 8, Discount Rate / Period is 3.8%, Coupon Payment is $45, and the Bond Price is $872.00, determine Face Value.
(e.) Given Face Value is $1,000, Discount Rate / Period is 4.3%, Coupon Payment is $37, and the Bond Price is $887.00, determine the Number of Periods to Maturity.
4. Perform instant experiments on whether changing various inputs causes an increase or decrease in the Bond Price and by how much.
(a.) What happens when the annual coupon rate is increased?
(b.) What happens when the yield to maturity is increased?
(c.) What happens when the number of payments / year is increased?
(d.) What happens when the face value is increased?
(e.) What is the relationship between the price of a par bond and time to maturity?
(f.) What happens when the annual coupon rate is increased to the point that it equals the yield to maturity? What happens when it is increased further?
Live In-class Problems.
7. Given the partial Basics spreadsheet BondbasZ.xls, complete step 4 Calculate Bond Price using the Cash Flows.
8. Given the partial By Yield To Maturity spreadsheet BondyieZ.xls, do steps 2 Enter Yield To Maturity (Annualized), 3 Calculate Discount Rate / Period, and 4 Calculate Bond Price.
9. Given the partial Dynamic Chart spreadsheet BonddynZ.xls, do steps 8 Calculate the Number of Periods to Maturity, 9 Calculate Bond Price of a Coupon Bond, and 10 Calculate Bond Price of a Par Bond.
10. Given the partial System of Five Bond Variables spreadsheet BondsysZ.xls, complete step 2 Calculate Number of Periods to Maturity using the NPER function, complete step 3 Calculate Face Value using the FV function, complete step 4 Calculate Discount Rate / Period using the RATE function, complete step 5 Calculate Coupon Payment using the PMT function, and complete step 6 Calculate Bond Price using the PV function.