What Is Yield to Maturity?
Yield to Maturity (YTM) is the single annualized discount rate that equates the present value of a bond's remaining cash flows to its current price. Every fixed-income analyst builds from this number. Formally:
Price = Σ [C / (1 + y/m)t·m] + F / (1 + y/m)n·m
Where C is the coupon per period, F is face value, m is coupons per year, n is years to maturity, and y is the annualized YTM we're solving for. Because YTM appears inside the exponent, the equation has no closed-form solution — this calculator uses Newton-Raphson iteration.
Clean Price vs Dirty Price
Bond quotes on exchanges (like Bloomberg or TRACE) are clean prices — stripped of accrued coupon interest. But what you actually pay when settling a trade is the dirty price:
Dirty Price = Clean Price + Accrued Interest
Accrued interest accumulates linearly from the last coupon date:
AI = (Coupon per period) × (days since last coupon) / (days in period)
For US Treasury bonds, the convention is Actual/Actual. For corporate bonds, typically 30/360. Enter the day counts manually above for custom conventions.
Current Yield vs YTM
Current yield is a rough approximation — just annual coupon / clean price. It ignores capital gains or losses from buying at a premium or discount to par. For a bond trading below par, YTM > current yield (you gain capital as price pulls to 100). For a premium bond, YTM < current yield.
Duration — Interest Rate Sensitivity
Macaulay Duration is the weighted-average time until you receive the bond's cash flows, measured in years. It's a natural-time version of the bond's "effective maturity."
Modified Duration is what traders use day to day: it approximates the percentage price change for a small yield change.
Modified Duration = Macaulay Duration / (1 + y/m)
ΔP/P ≈ −Modified Duration × Δy
A mod duration of 8 means: if yields rise by 100bp (1%), the bond price falls ~8%. For risk management, long-duration bonds are dangerous in a rising-rate environment.
Convexity — The Second-Order Correction
Duration is a linear approximation. For large yield moves, the price-yield curve is noticeably convex, which means:
- When yields fall, the price rises more than duration predicts.
- When yields rise, the price falls less than duration predicts.
Convexity captures this. Full second-order approximation:
ΔP/P ≈ −Dmod·Δy + 0.5·C·(Δy)²
High convexity is bondholder-friendly. All else equal, prefer higher convexity per unit of duration.
Worked Example
A 10-year Treasury with $1,000 face, 5% semi-annual coupon, trading at $950 (clean). This calculator returns:
- YTM ≈ 5.67%
- Current Yield ≈ 5.26%
- Modified Duration ≈ 7.6 years
- Convexity ≈ 70
A 100bp rate rise would cost roughly 7.6% in price — offset by about 0.35% from convexity — netting a ~7.25% loss.
Regional Notes
- US Treasuries & corporates: semi-annual coupons, Actual/Actual (for Treasuries) or 30/360.
- European sovereigns (Bunds, OATs, Gilts): annual coupons standard.
- Indonesian ORI / SBR / Sukuk: monthly coupons are common. Use frequency = 12.
- Chinese CGBs: semi-annual for some, annual for others — check the term sheet.
- Japanese JGBs: semi-annual.
Limitations
This calculator assumes a single flat yield curve and no default risk. For credit bonds, use a spread over the risk-free curve to get Z-spread or OAS. For callable bonds, use effective duration (not modified). For bond portfolios with multiple issues, composite duration is weight-averaged — see the VaRisk Kancil platform for portfolio-level FRTB bond analytics.
Related Tools
- Compound Interest — discount/present value intuition
- Mortgage Calculator — amortizing loan analogy
- Loan Calculator — debt service sizing
- FIRE Calculator — bond allocation in retirement