Bond Yield to Maturity Calculator
100% private โ runs on your device, never uploaded. Works offline once loaded.
Find a bond's true yield to maturity by numerically solving for the rate that makes the present value of its coupons and par repayment equal its current price, alongside the simpler current yield. Runs entirely in your browser.
What yield to maturity really measures
A bond's price today reflects the market's required return for its risk. Yield to maturity is the internal rate of return implied by that price: the one discount rate at which the present value of every future coupon, plus the par value repaid at maturity, sums exactly to what you pay now. Buy a bond below par and its YTM exceeds its coupon rate, because you also collect a capital gain at redemption; buy above par and the reverse holds.
Because the equation has the yield buried inside multiple discount factors, it cannot be rearranged to solve for the yield directly. The calculator therefore searches for it numerically, adjusting the yield up or down until the computed price lands on your input price.
The formula behind the numbers
Each period's coupon is the annual coupon rate times par, divided by the number of coupons per year. The number of periods is the years to maturity times that same frequency. The present value of the bond is the sum of each coupon discounted back at the periodic yield, plus the par value discounted over all periods.
The tool uses bisection, which brackets the yield between a low and a high guess and repeatedly halves the interval, because the price falls monotonically as the yield rises. This is robust and always converges. The periodic yield it finds is then multiplied by the coupon frequency to give the annualised YTM in the standard bond-market convention.
Current yield, YTM and effective yield
The three yields answer slightly different questions, and it is worth knowing which to quote.
- Current yield = annual coupon รท price. A quick income snapshot that ignores maturity and the time value of money.
- Yield to maturity = the internal rate of return to maturity, annualised by simply multiplying the periodic rate by the number of periods per year (the bond-equivalent, nominal convention).
- Effective annual yield = (1 + periodic yield) raised to the number of periods per year, minus 1. This accounts for compounding within the year and is always slightly higher than the nominal YTM when coupons are paid more than once a year.
Assumptions and limitations
The standard YTM model makes assumptions that rarely hold perfectly in practice, so read the figure as a benchmark rather than a promise. It assumes you hold the bond to maturity, that the issuer never defaults, and that every coupon is reinvested at the YTM itself, which is unlikely if rates move. It also uses clean, evenly spaced coupon dates and ignores accrued interest, taxes, call features and transaction costs. Callable bonds in particular may never reach maturity, so investors often look at yield to call alongside YTM.
Frequently asked questions
Why does a discount bond have a YTM above its coupon rate?
Because you pay less than par but are repaid the full par at maturity. That built-in capital gain adds to your return, lifting the yield to maturity above the coupon rate. A premium bond works in reverse.
What coupon frequency should I choose?
Match the bond. Most government and corporate bonds pay semi-annually, so that is the default. Choose annual, quarterly or monthly if the bond's terms specify a different schedule.
Is the YTM shown nominal or effective?
The headline yield to maturity is the nominal, bond-equivalent figure (periodic yield times periods per year). The tool also shows the effective annual yield, which compounds the periodic yield and is marginally higher for multi-coupon bonds.
Does it include accrued interest or taxes?
No. It uses clean coupon dates and a pre-tax framework. Real settlement often involves accrued interest, and after-tax yield depends on your jurisdiction and account.
Can it handle a bond priced exactly at par?
Yes. When the price equals par, the YTM comes out equal to the coupon rate, which is a useful sanity check on the calculation.
What if my inputs produce no valid yield?
If the price is impossible to reconcile with the cash flows (for example a price far above the undiscounted sum of all payments), the solver cannot bracket a yield and the result is shown as undefined. Re-check your price, par and maturity.
Advertisement