Bond Price & YTM
Price a bond from its yield, or solve for yield to maturity from the market price.
The coupon trails the market yield, so the bond trades below par.
5.00% of 1000 split across 2 payments a year.
This is the clean price on a coupon date. Between coupon dates a buyer also pays accrued interest, and the quoted price then differs from what actually changes hands.
A bond’s price is the present value of its coupons plus its principal, discounted at the market yield. A 1,000 par bond paying a 5% coupon semiannually for 10 years, when the market demands 6%, is worth 925.61 — below par, because its coupon trails the market.
Price and yield move in opposite directions
A bond promises fixed payments: a coupon each period and the face value at maturity. Those payments never change once the bond is issued. What changes is the return the market demands for that risk — the yield — and since the payments are fixed, the only way the bond can deliver a different return is by changing price.
That is the whole of bond pricing. If market yields rise above the coupon, the bond becomes less attractive and its price falls until the discount compensates a buyer. If yields fall below the coupon, the bond is unusually generous and its price rises to a premium. When coupon and yield are equal, the bond trades exactly at par.
Yield to maturity
Yield to maturity reverses the calculation: given what the bond costs today, what single discount rate makes its future payments worth exactly that? It is the bond equivalent of IRR, and like IRR it has no closed-form solution — this calculator finds it by bisection.
YTM is the standard way bonds are quoted against each other, because it folds coupon, price, and time to maturity into one comparable number. It does assume every coupon is reinvested at the YTM itself, which is the same reinvestment assumption that limits IRR.
C is the coupon per period, y the yield per period, n the number of periods, and F the face value. Divide the annual coupon rate and yield by the payment frequency to get per-period figures.
Worked example: 5% coupon, 6% yield, 10 years
Convert to per-period terms first — that is where most errors happen:
- 1 Work out the coupon payment. 1,000 × 5% = 50 per year, paid semiannually, so 25 per period.
- 2 Convert the yield to per-period. 6% ÷ 2 = 3% per half-year.
- 3 Count the periods. 10 years × 2 payments = 20 periods.
- 4 Value the coupon stream. An annuity of 25 for 20 periods at 3% is worth about 371.94.
- 5 Value the principal. 1,000 ÷ 1.03²⁰ = about 553.68.
- 6 Add them. 371.94 + 553.68 = 925.61 — a discount to par, as expected when the coupon trails the yield.
Price of a 5% 10-year bond at different yields
Face value 1,000, semiannual coupons. The bond prices at par only where the yield equals the 5% coupon.
| Market yield | Price | Trading at |
|---|---|---|
| 3% | 1,171.69 | Premium |
| 4% | 1,081.76 | Premium |
| 5% | 1,000.00 | Par |
| 6% | 925.61 | Discount |
| 7% | 857.88 | Discount |
| 8% | 796.15 | Discount |
Duration, and what this calculator leaves out
Notice in the table that the price change is not symmetric: a 1% fall in yield from 5% to 4% adds 81.76, while a 1% rise to 6% subtracts only 74.39. Bond prices are convex in yield, which works in the holder's favour — gains from falling yields slightly exceed losses from rising ones.
How sharply price responds to yield depends mostly on maturity. A 30-year bond moves far more than a 2-year bond for the same yield change, because more of its value sits in distant payments. That sensitivity is measured by duration, and it is the main risk metric for a bond portfolio.
Two simplifications here. This is the clean price on a coupon date; between coupon dates a buyer also pays accrued interest, and the amount actually exchanged — the dirty price — is higher. And the calculation assumes a flat yield curve, discounting every payment at one rate, where real markets discount each maturity at its own.