At a 6% yield the bond is worth $925.61, a discount to its $1,000.00 face value. A one-percentage-point rise in the yield would cut the price by about 7.67%.
Valued on a coupon date, so there is no accrued interest and the clean and full prices are equal.
Macaulay duration
Dmac=P⋅21t=1∑20(1+y)tt⋅CFt=7.894997years
Modified duration
Dmod=1+yDmac=1.037.894997=7.665046
Convexity
C=P(1+y)2221t=1∑20(1+y)tt(t+1)CFt=71.785398
Fabozzi's convexity measure in years². A 1-point yield rise changes the price by about −D_mod × Δy + ½ C × Δy².
About the bond price, yield and duration calculator
A bond's price is the present value of its coupons and its face value, each discounted at the yield to maturity for the coupon period. With semi-annual coupons, a 5% coupon on 1,000 pays 25 every six months and the annual yield is halved per period, the bond-equivalent convention. Solving the same equation for the rate turns a market price into a yield. Duration is the present-value-weighted average time until the cash flows arrive; modified duration and convexity estimate how far the price moves when the yield changes.
With the defaults, a 10-year 5% semi-annual bond with a face value of 1,000, priced to yield 6%, is worth 925.61: a discount, because its coupon is below the yield. Its Macaulay duration is 7.895 years and its modified duration 7.665, so a 0.01% rise in yield lowers the price by about 0.71.
The price assumes settlement on a coupon date, so there is no accrued interest. Credit risk, call features and taxes are not modeled.
How to calculate a bond's price
A bond's price is its coupons plus its face value, each discounted at the yield per coupon period. A 10-year, 1,000 bond paying a 5% coupon twice a year is worth 925.61 at a 6% yield, below face value because the coupon is lower than the yield.
Pricing the bond by hand
Semi-annual payments halve both the coupon and the yield:
Coupon per period: 1,000 × 5% ÷ 2 = 25
Yield per period: 6% ÷ 2 = 3%
Number of periods: 10 × 2 = 20
The 20 coupons are worth 25 × (1 − 1.03⁻²⁰) ÷ 0.03 = 371.94 today, and the face value is worth 1,000 ÷ 1.03²⁰ = 553.68. Together they give 925.61. In Excel, =PV(3%, 20, -25, -1000) returns the same price.
Bond price at different yields
Only the annual yield changes in these rows; the bond is the same 10-year 5% semi-annual issue.
Annual yield (%)
Bond price
4
1081.76
6
925.61
7
857.88
The coupons are fixed, so a higher yield discounts the same payments more heavily and the price falls.
At 5%, equal to the coupon rate, the bond is worth exactly 1,000. A yield below the coupon rate gives a premium; a yield above it gives a discount.
Yield to maturity from a market price
Going from a price to a yield takes trial and error, as with IRR: find the per-period rate that discounts the payments to the price, then multiply by the payments per year.
A price of 925.61 gives 6.000037%, not exactly 6%, because that price is rounded to cents.
That annual figure is the bond-equivalent yield. Two other yields describe the same bond:
Current yield is the annual coupon over the price: 50 ÷ 925.61 = 5.40%. It leaves out the 74.39 gained when the bond repays 1,000 at maturity.
Effective annual yield compounds the period rate: 1.03² − 1 = 6.09%.
How much the price moves when yields change
Macaulay duration is the present-value-weighted average time to the cash flows: 7.895 years for this bond, the measure Microsoft's DURATION function returns.
Modified duration divides it by 1 + y per period, 7.895 ÷ 1.03 = 7.665, the approximate percentage price change for a one-point move in yield.
DV01 is the price change per 0.01% of yield: 7.665 × 925.61 × 0.0001 = 0.71. Repricing at 6.01% gives 924.90, a fall of 0.71.
For a full one-point rise, duration alone predicts −7.665%, or 854.66. Adding convexity (71.79) gives −7.665% + ½ × 71.79 × 0.01² = −7.31%. The exact price at 7% is 857.88, a fall of 7.32%.
Zero-coupon bonds
A zero pays only its face value, so its price is F ÷ (1 + y)ⁿ and its Macaulay duration equals its maturity.
A 10-year zero bought at 500 that repays 1,000 yields 2^(1/10) − 1 = 7.18% with annual compounding, and its modified duration is 9.33.
What the price assumes
The bond is valued on a coupon date, so there is no accrued interest and the clean and full prices are equal. Between coupon dates, quoted prices usually exclude the interest accrued since the last coupon.
Every payment is assumed to arrive on schedule. Default risk, call features and taxes are left out: the result values the promised payments at the yield you enter.
Common mistakes
Using the annual yield per period. A 6% semi-annual yield is 3% per half-year, not 6%.
Mixing up coupon frequencies. Paid annually, the same 5% bond is worth 926.40 at a 6% yield, not 925.61.
Treating current yield as the return. It ignores the gain or loss to face value at maturity.
Comparing prices per 100 with prices per 1,000. 925.61 per 1,000 of face value is 92.56 per 100.
What to enter
US Treasury notes and bonds pay interest every six months; choose annual, quarterly or monthly coupons for bonds on another schedule.
Years to maturity must be a whole number of coupon periods: 2.5 years works with semi-annual coupons, 2.4 does not.
A zero yield prices the bond at the plain sum of its payments, 1,500 here. A negative yield prices it above that sum.
Checked against: Cash flows discounted term by term; Fabozzi convexity Σt(t+1)PV/((1+y)²·P·f²); current yield 50/925.6126 = 5.4018278%
Microsoft DURATION example
Solve for
Price from yield
Face value
100
Coupon rate (per year)
8%
Years to maturity
29.5 years
Coupons per year
Semi-annual
Yield to maturity (per year)
9%
Macaulay duration
10.919145 years
Modified duration
10.448943 years
Checked against: Microsoft DURATION documentation (settlement 2018-07-01 is a coupon date, maturity 2048-01-01): 10.9191453; exact decimal arithmetic agrees
Microsoft MDURATION example
Solve for
Price from yield
Face value
100
Coupon rate (per year)
8%
Years to maturity
8 years
Coupons per year
Semi-annual
Yield to maturity (per year)
9%
Modified duration
5.73567 years
Price
94.38
Checked against: Microsoft MDURATION documentation (2008-01-01 to 2016-01-01, a coupon date): 5.73567; exact decimal arithmetic price 94.382992
Par bond: coupon equals yield
Solve for
Price from yield
Face value
1000
Coupon rate (per year)
6%
Years to maturity
10 years
Coupons per year
Semi-annual
Yield to maturity (per year)
6%
Price
1,000.00
Price as % of face
100%
Checked against: A bond whose coupon rate equals its yield prices at par (definition)
Questions
How do you calculate the price of a bond?
Discount every coupon and the face value at the yield per period and add them. A 10-year 5% bond paying 25 twice a year, at a 6% yield (3% per half-year), is worth 371.94 for its 20 coupons plus 1,000 ÷ 1.03^20 = 553.68 for the face value: 925.61 in total. Excel's =PV(3%, 20, -25, -1000) gives the same price.
What is the difference between yield to maturity and current yield?
Current yield is the annual coupon divided by the price; yield to maturity also counts the gain or loss to face value at maturity and the timing of every payment. A 5% bond bought at 925.61 has a current yield of 50 ÷ 925.61 = 5.40% but a yield to maturity of 6%, because the buyer also gains 74.39 when the bond repays 1,000.
Why do bond prices fall when interest rates rise?
The coupons are fixed, so a higher yield discounts the same payments more heavily. The default 10-year 5% bond is worth 1,081.76 at a 4% yield, exactly 1,000 at 5%, 925.61 at 6% and 857.88 at 7%. When the yield equals the coupon rate the bond trades at par; above it, at a discount; below it, at a premium.
What does bond duration tell you?
Modified duration is the approximate percentage change in price for a one-percentage-point change in yield. The default bond's modified duration is 7.665, so a rise from 6% to 7% should cut the price by about 7.67%; the actual fall, from 925.61 to 857.88, is 7.32%, because convexity cushions large moves. Macaulay duration, 7.895 years here, is the weighted average time to the cash flows.
How often do US Treasury notes and bonds pay interest?
Every six months. The US Treasury issues notes with terms of 2, 3, 5, 7 and 10 years and bonds with terms of 20 and 30 years, and both pay interest semi-annually, which is why this page defaults to two coupons a year. Choose annual, quarterly or monthly coupons for bonds that pay on another schedule.
Fabozzi — Bond Markets, Analysis, and Strategies, ch. 2 and 4 (pricing, duration, convexity)
For planning only. Lenders, tax authorities and markets apply their own rounding, fees and rules; confirm figures with them before you commit.
Checked against references
This calculator includes 7 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.
Put this calculator on your site
Paste this where you want the calculator to appear. It is free to use, it stays in step with corrections made here, and the credit line below it links back so your readers can find the full version.