Bond Calculator
✦ Finance & MoneyUse this free bond calculator to find the fair price of any coupon or zero-coupon bond — enter your required yield and get the price, premium or discount to par, Macaulay and modified duration, DV01, and a period-by-period cash-flow schedule.
- ✓ Calculated in your browser
- ✓ Nothing you type is stored
- ✓ No sign-up required
- ✓ Formula and sources shown
The formula
Bond price — closed-form present value
P = C x [1 - (1+y/f)^(-n)] / (y/f) + F x (1+y/f)^(-n)
C = (couponRate/100 x F) / f (coupon per period)
D_mac = Σ [k/f x PV(CF_k)] / P (Macaulay duration, years)
D_mod = D_mac / (1 + y/f) (modified duration)
DV01 = D_mod x P x 0.0001 (dollar value of a basis point)
P = bond price (clean price), F = face value, C = coupon per period, y = required annual yield (decimal), f = coupon frequency (1 = annual, 2 = semiannual, 4 = quarterly, 12 = monthly), n = total periods = round(years x f), r = y/f = periodic yield. This is a closed-form equation — no iteration required for pricing (a yield solver is used only on the companion Bond Yield Calculator). Macaulay duration is the PV-weighted average time to receive cash flows. Modified duration approximates the percentage price change per 1 percentage-point yield move. DV01 is the price change per 1 basis-point (0.01 pp) yield move. Clean price on a coupon date: whole coupon periods, no accrued interest and no day-count convention.
Calculating it by hand
- Identify the inputs: face value (typically $1,000), annual coupon rate (%), coupon frequency (semiannual is most common for U.S. bonds), required yield (the return you want), and years to maturity.
- Divide the annual coupon rate by the coupon frequency to find the coupon per period: e.g. 5% / 2 = 2.5% → C = $25 on a $1,000 face bond.
- Count total coupon periods: years to maturity x frequency → 10 years x 2 = 20 periods.
- Find the periodic yield: required annual yield / frequency → 6% / 2 = 3% = 0.03 per period.
- PV of coupons = $25 x [1 - (1.03)^-20] / 0.03 = $25 x 14.8775 = $371.94.
- PV of face value = $1,000 / (1.03)^20 = $553.68. Bond price = $371.94 + $553.68 = $925.61 — a discount bond because yield (6%) exceeds coupon rate (5%).
Worked examples
Discount bond: $1,000 face, 5% coupon, semiannual, 6% required yield, 10 years
Annual coupon = 5% × $1,000 = $50; semiannual coupon C = $25. n = 10 × 2 = 20 periods. Periodic yield r = 6% ÷ 2 = 0.03.PV of coupons = $25 × [1 − (1.03)^−20] ÷ 0.03 = $25 × 14.8775 = $371.94.PV of face value = $1,000 ÷ (1.03)^20 = $1,000 ÷ 1.806111 = $553.68.Bond price = $371.94 + $553.68 = $925.61.Discount = $925.61 − $1,000 = −$74.39 (−7.44% of par): yield (6%) above coupon (5%).
Bond price $925.61 · discount bond (−$74.39) · Macaulay duration 7.895 years · modified duration 7.665 · DV01 $0.71
Zero-coupon bond: $1,000 face, 0% coupon, semiannual, 5% required yield, 10 years
No coupons: C = 0. n = 20 periods. Periodic yield r = 5% ÷ 2 = 0.025.Price = $1,000 ÷ (1.025)^20 = $1,000 ÷ 1.638616 = $610.27.All of the return is the $389.73 discount to face value, received at maturity.Macaulay duration = maturity = 10 years; modified duration = 10 ÷ 1.025 = 9.7561 — the most rate-sensitive 10-year bond there is.
Bond price $610.27 · discount bond (−$389.73, −38.97%) · Macaulay duration 10.0000 years · modified duration 9.7561
Premium callable bond: $1,000 face, 8% coupon, semiannual, 5% required yield, 10 years, callable at $1,020 in 3 years
Annual coupon = $80; semiannual C = $40. n = 20 periods. Periodic yield r = 0.025.PV of coupons = $40 × [1 − (1.025)^−20] ÷ 0.025 = $40 × 15.5892 = $623.57.PV of face value = $1,000 ÷ (1.025)^20 = $610.27.Price to maturity = $623.57 + $610.27 = $1,233.84 — a premium of $233.84 (23.38% of par), because the coupon (8%) is above the required yield (5%).Price at the call date (call price $1,020, 3 years): $40 × [1 − (1.025)^−6] ÷ 0.025 + $1,020 ÷ (1.025)^6 = $220.32 + $879.55 = $1,099.87.
Bond price $1,233.84 (premium +$233.84, +23.38%) · price at call date $1,099.87 · Macaulay duration 7.39 years · modified duration 7.21
Methodology
How bond pricing actually works
The price a bond trades at is not arbitrary — it is the exact present value of every future payment it will make, discounted at the yield the market demands. Most people know price falls when rates rise; fewer know why by precisely that amount, or how duration tells you how far.
Read sources and limitsHow do you calculate a bond's price with the present value formula?
A bond pays coupons through its life and its face value at maturity. Its fair price is the present value of those payments discounted at the yield you require. The coupons are an annuity, C × [1 − (1 + r)^−n] / r, and the face value a single sum, F ÷ (1 + r)^n.
Here C is the coupon per period, r the periodic yield (annual yield ÷ coupon frequency) and n the number of coupon periods. Unlike yield to maturity, the price needs no iteration — it is a direct calculation. A $1,000 bond with a 5% semiannual coupon and 10 years left, priced at a 6% required yield, is worth $371.94 + $553.68 = $925.61.
Two special cases are worth knowing. A zero-coupon bond collapses to P = F ÷ (1 + r)^n, the discounted face value alone. A bond whose required yield equals its coupon rate prices at exactly face value whatever its maturity. The calculator handles both.
Why do bond prices fall when interest rates rise?
Because the coupon is fixed when the bond is issued. A 5% bond pays $50 a year on $1,000 whatever rates do later. If new bonds pay 6%, no one pays $1,000 for the $50 coupon, so the price falls until the coupon plus the gain back to par yields 6% — $925.61 for a 10-year semiannual bond.
In the formula, a higher discount rate makes every (1 + r)^k larger and every present value smaller, so the price — their sum — must move opposite to the yield. Long bonds move more than short ones because more of their payments are exposed to the new rate; duration measures how much.
What do Macaulay duration, modified duration and DV01 measure?
Macaulay duration is the present-value-weighted average time until you receive a bond's cash flows, in years. The 10-year 5% semiannual bond priced at 6% has a Macaulay duration of 7.895 years — under 10 because coupons arrive throughout. A zero-coupon bond's duration equals its maturity, and longer duration means greater sensitivity to yield changes.
Modified duration divides Macaulay duration by (1 + periodic yield) and turns it into a percentage: the same bond's 7.665 means its price moves about 7.67% for each one-point change in yield, falling if yields rise and rising if they fall. It is a straight-line approximation; for larger moves, convexity makes the true gain a little larger and the true loss a little smaller.
DV01, the dollar value of a basis point, puts it in dollars: modified duration × price × 0.0001 = 7.665 × $925.61 × 0.0001 = $0.71 per $1,000 face for each 0.01-point move in yield. A portfolio holding $10 million face of the bond would move about $7,095 per basis point; managers use DV01 to size hedges.
What is bond convexity and why does it matter?
Duration treats the price-yield relationship as a straight line, but the real relationship is a curve that bows upward. Because of that convexity, a fall in yields raises the price slightly more than duration predicts and a rise in yields lowers it slightly less. Both deviations favour the bondholder, more so for long, low-coupon bonds.
Two bonds with the same duration can therefore behave differently when yields move sharply, and investors value extra convexity. A callable bond has less of it — the issuer can redeem it just when falling rates would push its price up — which is one reason callable bonds pay a higher yield.
The calculator's price-yield table shows the curve at nine points, from 4 points below to 4 points above your required yield. Comparing the price change for a fall in yield with the change for an equal rise shows the convexity asymmetry directly.
What is the difference between a premium bond and a discount bond?
A discount bond trades below face value because the required yield is above its coupon rate. You pay less than par and receive par at maturity, so the gain adds to the coupons and the yield to maturity exceeds the current yield, which exceeds the coupon rate. Deep-discount and zero-coupon bonds take this to the extreme.
A premium bond trades above face value because its coupon is above the required yield. You pay more than par and get par back at maturity, so YTM is below the current yield, which is below the coupon rate. A premium is not overpaying: it is the present value of the above-market coupons, and buyers of both kinds end up at the market yield.
The badge beside the headline names the case and the premium or discount figure shows its size in dollars and as a percentage of par. For taxable investors, the treatment of an amortised premium or of original issue discount matters; IRS Publication 550 covers both.
What does this bond calculator not model?
The price is the clean price on a coupon date, computed over whole coupon periods. Between coupon dates a buyer pays the dirty price — the clean price plus accrued interest — and exact settlement pricing uses a day-count convention (30/360 for most U.S. corporates, actual/actual for Treasuries). No day count is applied here.
Credit risk, taxes, inflation, liquidity and the likelihood of a call are outside the model. The price reflects the time value of the promised cash flows at the yield you enter; it says nothing about whether the issuer will pay. For Treasury auctions and holdings, TreasuryDirect publishes official prices.
This calculator provides educational estimates based on the assumptions you enter. It is not investment, tax, legal or financial advice. Investing involves risk, including possible loss of principal; actual results will differ.
Bond questions
How do you calculate the price of a bond?
Discount every payment at the required yield: P = C × [1 − (1 + r)^−n] / r + F × (1 + r)^−n, where C is the coupon per period, F the face value, r the periodic yield and n the number of periods. $1,000 face, 5% semiannual coupon, 6% required yield, 10 years: r = 0.03, n = 20, C = $25, so P = $25 × 14.8775 + $1,000 ÷ 1.806111 = $371.94 + $553.68 = $925.61.
Why does a bond's price fall when interest rates rise?
Because the coupon is fixed. A bond paying $50 a year on $1,000 keeps paying $50 when new bonds pay $60, so its price falls until the $50 coupon plus the gain back to par gives the new 6% yield — $925.61 for a 10-year semiannual bond. In the formula, a higher discount rate shrinks the present value of every payment; duration measures by how much.
What is the difference between a discount bond and a premium bond?
A discount bond trades below par because its required yield is above its coupon rate: you pay less than $1,000 and receive $1,000 at maturity, so YTM > current yield > coupon rate. A premium bond trades above par because its coupon is above the required yield: YTM < current yield < coupon rate. At par all three are equal. An 8% bond priced at a 5% yield sells for $1,233.84.
What is Macaulay duration?
Macaulay duration is the present-value-weighted average time, in years, at which you receive a bond's cash flows. A 10-year 5% semiannual bond priced at par has a Macaulay duration of 7.99 years, and at a 6% yield 7.895 years — less than 10 because coupons arrive throughout. A zero-coupon bond's duration equals its maturity. Longer duration means more price sensitivity to yield changes.
What is modified duration?
Modified duration is Macaulay duration divided by (1 + periodic yield), and gives the approximate percentage price change for a one-point change in yield. The 10-year 5% bond at a 6% yield has a modified duration of 7.665, so a one-point rise in yield cuts its price by about 7.67%. For larger moves convexity makes the actual gain a little larger and the actual loss a little smaller than that.
What is DV01 (dollar value of a basis point)?
DV01 is the change in a bond's price for a one-basis-point (0.01-point) move in yield: modified duration × price × 0.0001. For the $925.61 bond with a modified duration of 7.665, DV01 = $0.71 per $1,000 face, so $10 million face moves about $7,095 per basis point. It is also called PVBP (price value of a basis point) and is used to size hedges.
How do you price a zero-coupon bond?
With no coupons, the price is the discounted face value: P = F ÷ (1 + r)^n. A $1,000 zero with 10 years left at a 5% required yield (semiannual: r = 0.025, n = 20) is worth $1,000 ÷ 1.638616 = $610.27. Its Macaulay duration equals its maturity, 10 years, so it is more sensitive to rates than any coupon bond of the same maturity.
How does coupon frequency affect bond price?
Only a little, and with this calculator's convention (the annual yield divided by the coupon frequency) the annual-pay bond prices slightly higher. A 10-year 5% bond at a 6% required yield is worth $926.40 paying annually and $925.61 paying semiannually — a $0.79 difference — because the semiannual bond's cash flows are discounted at 3% a half-year, an effective 6.09% a year.
How much does a bond's price change when interest rates rise 1%?
Roughly its modified duration as a percentage. A 10-year 5% semiannual bond priced at par has a modified duration of 7.79, so a rise in yield from 5% to 6% should cut the price by about 7.8%. Repricing exactly gives $925.61, a 7.44% fall — less than duration predicts because of convexity. For large moves or long, low-coupon bonds, recompute the full price.
Does this calculator handle callable bonds?
Yes — open Advanced and enter the call price and years to call. The calculator adds the bond's value at the call date beside the price to maturity, at the same required yield, using the call price as the redemption amount. For yield to call or yield to worst from a known market price, use the companion Bond Yield Calculator.
What is the difference between clean price and dirty price?
The clean price excludes accrued interest — the part of the current coupon earned since the last payment — and is what bond markets quote. The dirty, or full, price is what a buyer pays: clean price plus accrued interest. This calculator gives the clean price on a coupon date over whole coupon periods; it applies no day-count convention, so pricing between coupon dates needs a broker's or TreasuryDirect's figures.
Do I lose money on a bond if interest rates rise but I hold it to maturity?
Not in nominal terms, provided the issuer pays. A rate rise lowers the market price today, but the coupons and the face value are fixed, so a holder to maturity still collects every scheduled dollar and earns the yield locked in at purchase. The cost is opportunity: newer bonds pay more, and selling early would realise the lower price. A bond fund has no maturity, so a rate rise shows up in its value immediately.
Source notes
Method, sources & limitations
Every figure on this page comes from the formula above applied to the values you enter. Nothing is estimated from market data, and no result is a forecast. These are the sources behind the method and any fixed figures it uses:
- U.S. Securities and Exchange Commission (Investor.gov) — Bonds or fixed income products
- FINRA — Bonds
- TreasuryDirect (U.S. Department of the Treasury) — Treasury marketable securities
- FINRA — Callable bonds
- IRS Publication 550 — Investment Income and Expenses (bond premium and original issue discount)
Educational information only. Results are estimates produced from the assumptions you enter, and are not financial, tax, legal or medical advice. Check anything that matters against a qualified professional and the cited sources.