Bond price, yield to maturity and duration calculator
Price a bond from its yield, or find the yield from a price, and see its Macaulay and modified duration, convexity, and how far the price moves when yields do.
How it works
A bond is the present value of its coupons and its principal, discounted at the yield per period (the annual yield ÷ payments per year):
Price = Σ CFt ÷ (1 + y)t
Duration measures how long the money takes to arrive, weighted by present value, and how sensitive the price is to yield:
Modified duration = Macaulay duration ÷ (1 + y)
ΔP/P ≈ −ModDur × Δy + ½ × Convexity × (Δy)²
A worked example
A 5-year bond with a 6% coupon paid semiannually, priced to yield 8%. Each coupon is 3, there are 10 periods, and the periodic yield is 4%: the price is 91.89, below par because the yield is above the coupon. Modified duration is 4.194, so a 100 basis point rise in yield lowers the price by about 4.19% on duration alone, 4.09% with convexity, against 4.09% by repricing.
Common mistakes on the exam
- Yield and coupon are per year but discounting is per period: halve both for a semiannual bond and count periods, not years.
- A bond sells below par when its yield is above its coupon, and above par when it is below.
- Duration alone is a straight line; the true price curve bends up, so duration overstates the fall for a rise in yield and understates the gain for a fall.
- Macaulay duration is in years; modified duration divides it by (1 + y per period) and is the figure used in the price-change formula.
Where this is taught
- Contrast current yield with yield to maturity
- Explain the investment horizon and the gap in duration relative to it
- Use modified duration to estimate how a bond's price will change
- Work out convexity and explain what it means
Read the guide
- Bond pricing and yield to maturity: how a bond is valued
- Duration and convexity explained: how far a bond price moves
Practise what you read
Questions people ask
What is the difference between Macaulay and modified duration?
Macaulay duration is the weighted average time to receive the bond's cash flows, in years. Modified duration is Macaulay divided by one plus the yield per period, and gives the approximate percentage price change for a one-unit change in yield.
Why does the price fall when yields rise?
Each future cash flow is discounted at a higher rate, so it is worth less today. The longer the cash flow, the larger the effect, which is why a longer-duration bond moves more.
Does this include accrued interest?
No. It prices the bond on a coupon date, when there is no accrued interest, so the price shown is both the clean and the full price.
Practise this until the arithmetic is automatic: questions on every topic, with the reason each wrong option is wrong.
Take the free diagnostic →