Bond Yield to Maturity Calculator
Solve nominal annual yield to maturity, current yield, and duration measures from a bond’s price, coupon, face value, and maturity.
Earlier editorial review
- Reviewed
- 2026-09-21
- Methodology
- 1.1
Sources
How the calculation works
Enter bond price and face value in the same currency and unit, annual coupon rate, years to maturity, and annual or semiannual payment frequency. Price is treated as a value immediately after a coupon payment.
The calculator divides the annual coupon into equal payments and solves for the periodic discount rate that makes the present value of all coupons and the final face value equal the entered price. It reports nominal annual YTM by multiplying periodic yield by payment frequency.
It also reports current yield, coupon yield, Macaulay duration in years, modified duration, and the currency difference between price and face value. These measures describe the entered fixed cash flows and do not account for embedded options.
The first modeled payment occurs one full period after the coupon date valuation. Maturity must correspond to a whole number of coupon periods. The tool accepts up to 1,200 periods and does not include accrued interest.
Step by step
- Enter price, face value, annual coupon rate, maturity, and payment frequency.
- Review YTM, both yield measures, duration outputs, and the price difference from face value.
- Compare with another bond only after matching currency, maturity, coupon timing, and yield convention.
Worked example
Enter price 950, face value 1,000, annual coupon rate 5%, maturity 10 years, and semiannual payments. The annual coupon is 50, paid as 25 every six months. The model uses 20 periods and calculates nominal annual YTM of 5.661689%, current yield of 5.263158%, and coupon yield of 5%.
Macaulay duration is 7.927278 years, modified duration is 7.709047 years, and the price is 50 below face value. The unit test checks these outputs from the same inputs.
When to use this calculator
Use this calculator to solve nominal annual YTM and compare coupon income, price relative to face value, and duration for a regular fixed coupon bond with annual or semiannual payments.
Use a cash flow model that reflects the security terms for callable bonds, irregular payment schedules, accrued interest, default risk, or taxes. This calculator does not estimate credit quality or a guaranteed investment return.
Common input mistakes
Enter the annual coupon rate, not the amount of one coupon payment. For a 5% rate and face value 1,000 with semiannual payments, each coupon is 25. The calculator determines that payment from the annual rate and frequency.
Do not mix a price including accrued interest with this model’s coupon date price assumption. Also match nominal or effective yield conventions before comparing with an external quote.
Formulas
coupon_payment = face_value × coupon_rate / 100 / payments_per_year
periods = years_to_maturity × payments_per_year
price = Σ from t = 1 to periods of cash_flowₜ / (1 + periodic_YTM)^t
nominal_annual_YTM = periodic_YTM × payments_per_year × 100
current_yield = coupon_payment × payments_per_year / price × 100
coupon_yield = coupon_rate
Macaulay_duration_years = Σ(t / payments_per_year × PV(cash_flowₜ)) / price
modified_duration = Macaulay_duration_years / (1 + periodic_YTM)
premium_or_discount = price − face_value
The price is modeled on a coupon date immediately after a payment, with the first future payment one full period later. Maturity must end on a whole coupon period. The solver uses bounded bisection and checks present value error relative to the entered price. It supports up to 1,200 periods. Accrued interest and dates between coupon payments are not modeled.
Limitations and assumptions
The model assumes regular fixed coupons, face value repayment at maturity, and no default. It excludes accrued interest, settlement dates, calls, puts, taxes, fees, floating coupons, sinking funds, and irregular cash flows. YTM is based on promised payments and does not guarantee a realized return. Coupon reinvestment at the solved yield is an assumption behind interpreting YTM as a total return measure.
Key terms
- Yield to maturity
- The periodic discount rate that equates the price with the present value of modeled coupon payments and face value, reported as a nominal annual yield.
- Current yield
- Annual coupon cash amount divided by the bond price. It excludes price change at maturity and payment timing.
- Macaulay duration
- Present value weighted average time to receive modeled cash flows, converted from coupon periods into years.
Related calculations
Bond Convexity Calculator examines how price sensitivity changes as yield moves. The Credit Spread Calculator compares this bond yield with a manually entered benchmark.
Use the same currency, coupon date assumption, maturity, and yield convention when comparing bonds. This tool solves promised cash flows for one fixed coupon bond; it does not assess credit quality or embedded options.
FAQ
What does yield to maturity mean?
Yield to maturity is the periodic discount rate that makes the present value of the remaining coupons and face value equal the bond price. This tool reports the periodic rate multiplied by payments per year, a nominal annual quotation. It assumes the stated payments arrive as scheduled. The quoted yield does not guarantee a realized return if you sell early, the issuer defaults, or coupon reinvestment differs from the solved rate.
How do current yield and coupon yield differ from YTM?
Current yield divides the annual coupon cash amount by the bond price. It excludes the price gain or loss at maturity and payment timing. YTM includes the modeled coupons and face value repayment in its discount rate. Coupon yield divides annual coupon by face value, so it equals the stated coupon rate for this fixed coupon bond.
What do Macaulay and modified duration show?
Macaulay duration is the present value weighted average time to receive the modeled cash flows, expressed in years. Modified duration divides annual Macaulay duration by one plus periodic YTM. It estimates local price sensitivity for a small yield change under this fixed cash flow model. It is not a guaranteed price change and does not reprice embedded options.
What does premium or discount mean here?
A bond is at a premium when price exceeds face value, at a discount when price is below face value, and at par when they are equal. The premium or discount output is the currency difference between price and face value, not a percentage.
Does coupon payment frequency affect the result?
Yes. Frequency sets coupon size and the number of discount periods. This calculator supports annual and semiannual coupons, and reports nominal annual YTM as periodic yield multiplied by payments per year. It does not convert that quote to an effective annual yield. Match the quote convention when comparing results.
Related tools
Bond Convexity Calculator examines the curvature of price sensitivity as yield changes. The Credit Spread Calculator compares a solved bond yield with a manually entered benchmark yield.