🧾 Bond Yield Calculator
Yield to maturity from a bond’s price, or price from yield, with current yield, yield to call, effective annual yield, duration and convexity.
| Effective annual yield | 5.742% |
|---|---|
| Current yield | 5.263% |
| Coupon per payment | $25.00 × 20 payments |
| Held to maturity: coupons + face − price | $550.00 |
| Macaulay duration | 7.927 years |
| Modified duration | 7.709 |
| Convexity | 72.41 |
| Price change if yield rises 1 point | ≈ -$69.80 (-7.35%) |
Assumes the bond is bought on a coupon date (no accrued interest), all payments are made on time and coupons are reinvested at the yield.
What Bond Yield Calculator Does
This bond yield calculator finds the yield to maturity (YTM) of a fixed-rate bond from its price — or the price from a yield. Enter the face value, the coupon rate, the years to maturity and how often coupons are paid, and it solves for the exact yield rather than using the rough approximation formula found in some textbooks.
You also get the current yield, the effective annual yield, the total you would collect by holding to maturity, and the interest-rate risk measures investors use: Macaulay and modified duration, convexity, and an estimate of how much the price would move if yields rose by one percentage point. For a callable bond, add the call price and date to see the yield to call and the yield to worst.
How to Use Bond Yield Calculator
- Choose yield from price, or price from yield
- Enter the face value and the price (or the yield)
- Enter the coupon rate, years to maturity and payment frequency
- Tick Callable to add yield to call and yield to worst
- Read the yield, current yield, duration and price sensitivity
Formula Used by Bond Yield Calculator
Bond price from yield
P = C × (1 − (1 + y/f)⁻ⁿ) ÷ (y/f) + F × (1 + y/f)⁻ⁿ
- C
- Coupon per payment (annual coupon ÷ f)
- y
- Yield to maturity, annual
- f
- Payments per year
- n
- Number of payments left
- F
- Face (par) value
Worked example
$1,000 face, 5% coupon paid semiannually, 10 years, YTM 6%.
- C = $25, y/f = 0.03, n = 20
- 25 × (1 − 1.03⁻²⁰) ÷ 0.03 = 371.94
- 1,000 × 1.03⁻²⁰ = 553.68
Result: Price = $925.61.
The approximate YTM formula, for comparison
YTM ≈ (annual coupon + (F − P) ÷ years) ÷ ((F + P) ÷ 2)
Worked example
The same bond priced at $950.
- (50 + 50 ÷ 10) ÷ 975 = 5.64%
Result: Close to the exact 5.66%, but the gap widens for long, deep-discount bonds.
Yield Measures for a $950 Bond (5% Coupon, 10 Years)
| Measure | How it is found | Value |
|---|---|---|
| Coupon rate | Annual coupon ÷ face | 5.00% |
| Current yield | Annual coupon ÷ price | 5.26% |
| Yield to maturity | Rate that prices all remaining cash flows at $950 | 5.66% |
| Effective annual yield | (1 + YTM ÷ 2)² − 1 | 5.74% |
Price of a 5%, 10-Year Semiannual Bond
| Market yield | Price | Priced at |
|---|---|---|
| 3% | $1,171.69 | Premium |
| 4% | $1,081.76 | Premium |
| 5% | $1,000.00 | Par |
| 6% | $925.61 | Discount |
| 7% | $857.88 | Discount |
How to Read Your Result
Discount, par and premium
When the price is below face value, YTM is above the coupon rate, because you also gain the discount by maturity. At par the two are equal, and above par YTM falls below the coupon. Current yield always sits between the coupon rate and YTM.
Duration as a risk gauge
Modified duration approximates the percentage price change for a one-point move in yield, and convexity refines that estimate for larger moves. Longer maturities and lower coupons mean higher duration — and bigger price swings when rates change.
Callable bonds
Issuers tend to call bonds when rates fall, which is exactly when holders would like to keep them. For a callable bond priced above its call price, yield to call is usually the lower figure, so compare callable bonds by yield to worst.
Limitations & Accuracy Notes
- Assumes the bond is bought on a coupon date; between coupon dates, quoted prices are usually clean prices, with accrued interest added on settlement.
- Day-count conventions, taxes and default risk are not modeled.
- Floating-rate, inflation-linked and amortizing bonds need different calculations.