Puzzle #4: Bond Pricing

Here’s another puzzle I’ve used to teach bond math. It’s not hard, but it requires some understanding of bond concepts that I will explain as we go (I beg the patience of bond mavens).

Suppose you are the financial advisor to a city that is preparing to sell bonds to build a new project. You are working with an investment bank to underwrite the bonds. Some of the bonds will mature exactly 20 years from the settlement date. The bank proposes that these carry a 5% coupon. This means that interest will be paid every six months at a 5% annual rate. The bonds will be sold at a price that will generate the yield demanded by investors, which is 4% in the current market. This means that the internal rate of return from the cash flows to the price must be 4% (with semiannual compounding). Equivalently, the price must be the present value of the cash flows, discounted at 4%. The interest payments (determined by the coupon) and the discounting (determined by the yield) are based on the semiannual rates of 2.5% and 2%, respectively.

The convention for bond prices assumes a hypothetical bond with $100 in principal, even though bond denominations are usually much larger. For this bond with a 5% coupon, there are 39 semiannual interest-only payments of $2.50, and a final payment of $102.50 that includes both interest and principal. The present value of these cash flows at a 4% yield is $113.678. This is the price-to-maturity. You could find this price by taking the sum of the present values of the individual payments. The present value of the first payment is $2.451=$2.50/1.02, the present value of the second payment is $2.403=$2.50/(1.022), and so on until the final payment. The present value of the last payment is $46.421=$102.50/(1.0240). The present values add up to $113.678.

This might seem a little odd: why not just set the coupon at 4%, the same as the current market yield? If the coupon and the yield are the same, then the price would simply be 100, or “par” (feel free to prove this for extra credit). But sometimes premium bonds (bonds with prices over 100) are in high demand and it may be advantageous for the city to accommodate that demand. Setting the coupon above the market yield makes the bond worth more than par.

The price to maturity assumes that the bonds will run to their stated maturity at 20 years. But the bonds are callable in 10 years. This means that in 10 years the city has the right to pay off the bonds at some predetermined price. If this “call price” is $100, then the city could pay back the principal without penalty. If the call price is $101, then the city would have to pay the principal plus pay a $1 penalty to call back the bonds.

If the call price for the bonds is $100 (a “par call”), then the price-to-call would be 108.176. This is the present value (again with semiannual discounting at 4%) of the 19 interest-only payments and a final payment of $102.50=$2.50+$100, representing interest plus the par call.

Under bond market rules, the bonds must be sold to investors at the lower of the price-to-call or the price-to-maturity. So the city would realize a price of $108.176 for the bonds if there is a par call. The problem is that if the city does not call the bonds, then it will have sold bonds for about $108 that were really worth about $113. Its actual yield in that case (“yield-to-maturity”) for a price of $108.176 would be 4.38%, or .38% higher than the market yield.

So the question is: what call price would cause the price-to-call to equal the price-to-maturity, so that the city would not be penalized if it does not call the bonds before maturity? Please support your answer.

Note: simplifying assumptions include only one call date and skipping the rules for rounding bond prices.

Copyright 2011.  All rights reserved.

Other Puzzles:  Puzzle#1, Puzzle#2, Puzzle#3

This entry was posted in Bonds, Fun, Math, Puzzles and tagged , , , , , , , , , . Bookmark the permalink.

12 Responses to Puzzle #4: Bond Pricing

  1. Pingback: Puzzle #3: A Better Answer | The Well-Tempered Spreadsheet

  2. Pingback: Puzzle #2: Answers to Follow-up Questions | The Well-Tempered Spreadsheet

  3. Pingback: Puzzle #2 | The Well-Tempered Spreadsheet

  4. Pingback: Puzzle #2: Follow-up Questions | The Well-Tempered Spreadsheet

  5. Pingback: Puzzle #1: Epilogue | The Well-Tempered Spreadsheet

  6. Pingback: Clue for Puzzle #1 | The Well-Tempered Spreadsheet

  7. Pingback: Answer to Puzzle #1 | The Well-Tempered Spreadsheet

  8. Pingback: Puzzle #1 | The Well-Tempered Spreadsheet

  9. ashwani says:

    A callable bond at-par (call-price = 100) is like a simple bullet bond with maturity same as the years-to-call-date. i.e. a callable bond at-par with call option after n years is same as a bullet bond of maturity n years.

    Assuming yield and coupon to be flat till the original maturity N, for an issuer to be at no-gain no-loss situation when it decides to restructure its debt, the call-price of the original bond should be equal to the actual price at call-date(n years), of a similar bond issued at the call-date(n years) expring on the original maturity date (N years).

    In the original problem, N=20 and n=10, hence the call-price should be equal to the fair price after n years of a 10 (N-n) years bond paying an annual coupon of 5% (semi-annually) with an annual yield of 4% (compounding semi-annually).

    This is 108.176


  10. Win Smith says:


    Your answer is correct and your explanation is very clear. Well done!

    There had been 125 views of this puzzle before you submitted your answer. I was starting to wonder if I should offer a prize.




  11. Pingback: Taming Premium Bonds | The Well-Tempered Spreadsheet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s