Charta is on Google Play: practise on the go. Get the app
Charta

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.

Start again

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

The exam allows only certain calculator models, and the rules change: check CFA Institute's current calculator policy before you rely on any keystroke here.

Where this is taught

Read the guide

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 →