Price from yield, yield from price
A bond is a fixed set of cash flows. Its price is those cash flows discounted at the market yield, and its yield is whatever rate makes the discounting land on the price. Everything else in bond math follows from that one sentence.
- Price a zero and a coupon bond from the yield, per 100 of face
- Read a zero's yield straight off its price
- Say which side of par a bond trades before calculating, from coupon against yield
- Find the coupon that makes a new issue price where the syndicate wants it
The intuition
A three-year 5% bond pays 5, 5 and 105. If the market wants 4% from this credit, each payment is worth a little less than its face: 4.81, 4.62 and 93.34, which add to 102.78. The bond trades above par because it pays more than the market requires; a 3% coupon at the same yield would trade below. You can say which side of par it is before you touch a calculator: coupon above yield means premium, coupon below yield means discount.
Run it backwards and the yield is whatever rate makes the discounting land on the price. For a coupon bond that is a search; for a zero-coupon bond it is one line, because there is only one payment: a three-year zero at 90 grows to 100, so (100 ÷ 90) to the power one third, minus one, is the yield, about 3.57%. Prices and yields move in opposite directions because the cash flows never change: a higher discount rate makes the same payments worth less.
Price = Σ coupon ÷ (1 + y)ᵗ + 100 ÷ (1 + y)ⁿ. Zero price = 100 ÷ (1 + y)ⁿ, so zero yield = (100 ÷ price)^(1/n) − 1. Coupon above yield: premium. Coupon below: discount. Equal: par. The coupon that prices a new issue at a target is (target − 100 × DFₙ) ÷ annuity factor.
Why it works
- The conventions here: annual coupons, annual compounding, price per 100 of face, whole years to maturity, no accrued interest. Zero-coupon yields are annually compounded. Where a price is printed and you work from it, the answer is computed from the printed price.
- Two building blocks. The discount factor DFₙ = 1 ÷ (1 + y)ⁿ prices the final 100. The annuity factor, the sum of the discount factors for years 1 to n, prices one unit of coupon a year. Price = coupon × annuity + 100 × DFₙ.
- Why opposite directions. Every term has (1 + y) in the denominator and nothing else changes. Raise y and every payment is worth less; lower it and every payment is worth more.
- Par is where coupon equals yield. A bond paying exactly the market rate is worth exactly its face. Above that rate it is worth more, below it less, and the size of the gap grows with maturity because more coupons carry it.
- The zero is the clean case. One payment, so the yield is an n-th root rather than a search. The mental shortcut, total discount divided by years, ignores compounding and overstates the yield, more so for longer bonds and higher rates.
- Run it backwards twice. Given a target price the coupon falls out, because everything else is known. Given a yield move the price change falls out by repricing, and a fall in yields gains more than an equal rise loses: that curvature is convexity, chapter four.
| Year 1 coupon: 5 ÷ 1.04 | 4.81 |
| Year 2 coupon: 5 ÷ 1.04² | 4.62 |
| Year 3 coupon and principal: 105 ÷ 1.04³ | 93.34 |
| Price | 102.78, above par because 5% > 4% |
| A three-year zero at 4%: 100 ÷ 1.04³ | 88.90 |
| A three-year zero at 90: (100 ÷ 90)^(1/3) − 1 | 3.57% |
The formulas
Each cash flow discounted at the yield, added up.
One payment, so the yield is an n-th root.
Say which side of par before calculating.
The coupon is the only unknown once the yield is given.
Worked example
Build the annuity factor and the discount factor at the yield, price the coupons and the principal, add. The follow-up asks whether you could have called the side of par first.
See it move
Same bond. Change the coupon, the market yield and the maturity.
- Raise the yield. Both prices fall, and so do the discount factor and the annuity factor; every payment is worth less.
- Raise the coupon. The coupon bond's price rises, one annuity factor per point; the zero does not move, because it has no coupon.
- Lengthen the maturity and watch the coupon bond. A premium bond's price rises with maturity and a discount bond's falls, because more coupons carry the gap between coupon and yield. The zero always falls, because its one payment is discounted for longer.
Run it backwards
A zero-coupon bond trades at a stated price per 100. What yield is that, annually compounded?
Price = 100 ÷ (1 + y)ⁿ, so (1 + y)ⁿ = 100 ÷ price and y is the n-th root minus one. The growth from the price to 100, spread evenly over the years with compounding.
The shortcut, total discount divided by years, ignores compounding and overstates the yield. The error grows with maturity and with the level of rates, which is exactly when you most want the real number.
Traps
Say it in the interview
“Price a three-year 5% bond if the market yield is 4%.”
Check yourself
4 fresh questions, with new numbers. Answer each one correctly to finish the chapter. Get one wrong and you will see the full working, then you can try it again with new numbers.
Answers within 1% are marked right. Type the number; $, %, x and M are fine. First tries count toward Learned: the topic is Learned once every chapter is done and 75% of first tries were right.
- Price = coupon × annuity factor + 100 × DFₙ. Yield is whatever rate lands on the price.
- Prices and yields move in opposite directions, because the cash flows are fixed.
- Coupon above yield: premium. Below: discount. Say it before you calculate.
- A zero's yield is the n-th root of 100 ÷ price, minus one.