Bond Yield Calculator
Enter the bond's face value, coupon, years to maturity and payment frequency, then either the yield you require or the price you would pay.
Bond Price
$943.83
Yield to Maturity
9%
Current Yield
8.4761%
Annual Coupon Income
$80.00
Macaulay Duration
5.9938 years
Modified Duration
5.7357
How it works
A bond pays a fixed coupon each period and returns its face value at maturity. Its price is the present value of all those payments, discounted at the yield the market (or you) requires. When the required yield is above the coupon rate the bond sells at a discount to face value; below it, at a premium.
Yield to maturity runs the other way: it is the single annual yield that makes the present value of the payments equal the price you pay. There is no formula for it, so the calculator finds it as the internal rate of return of the bond's cash flows and annualizes it the way bond markets quote it, as the period rate times the number of payments a year.
Current yield is just the annual coupon divided by the price; it ignores the gain or loss as the price moves to face value at maturity. Macaulay duration is the present-value-weighted average time until you are paid, in years. Modified duration estimates price sensitivity: a bond with a modified duration of 5.7 loses roughly 5.7% of its price if yields rise by one percentage point.
Formula
m = payments per year N = years × m y = annual yield i = y ÷ m C = face × coupon rate ÷ m price = C × (1 − (1 + i)^−N) ÷ i + face ÷ (1 + i)^N YTM: the y at which price = Σ C ÷ (1 + i)^k + face ÷ (1 + i)^N (k = 1…N) current yield = C × m ÷ price Macaulay duration = [Σ k × CF_k ÷ (1 + i)^k] ÷ price ÷ m (years) modified duration = Macaulay duration ÷ (1 + i)
Example
A $1,000 bond with an 8% coupon paid semiannually and 8 years to maturity, priced to yield 9%, is worth $943.83: $40 every six months for 16 periods plus $1,000 at the end, discounted at 4.5% a period. Its current yield is 8.4761%.
Its Macaulay duration is 5.9938 years and its modified duration 5.7357, which matches Microsoft's MDURATION example (5.736) for the same bond. Entering the $943.83 price in yield mode returns a yield to maturity of about 9%.
Assumptions and limitations
- The bond is valued on a coupon date, so there is no accrued interest and every period is a full period. Between coupon dates a dealer quote adds accrued interest and uses day-count conventions not modelled here.
- All coupons are paid in full and on time, and the face value is repaid at maturity: no default, call, put or sinking-fund features.
- Yield to maturity assumes every coupon could be reinvested at that same yield. Taxes and transaction costs are ignored.
- Results are estimates for planning and are for informational and educational purposes only. They are not financial, tax or investment advice.
Frequently asked questions
Why does the bond's price fall when yields rise?
The coupons are fixed. When new bonds offer a higher yield, an existing bond is only as attractive if it costs less, so its price drops until its yield to maturity matches the market. Modified duration estimates how large that drop is.
What is the difference between current yield and yield to maturity?
Current yield only counts the coupon income relative to price. Yield to maturity also counts the gain (for a discount bond) or loss (for a premium bond) as the price converges to face value at maturity, so it is the better measure of total return if you hold to maturity.
More in Finance calculators.