ALLMARKETS / THE TOOL DESK

Bond Price, Yield to Maturity & Duration Calculator

Price a fixed-coupon bond or solve its yield, with a full discounted cash-flow table.

Your inputs

Use consistent units and periods. Defaults are examples.

Your result

Check the assumptions below before relying on a result.

Formula and method

For f coupons per year, coupon cash C = face × annual coupon rate/f. Price = sum from k=1 to n of (C + final-period principal)/(1 + YTM/f)^k. The inverse solves YTM by bracketed bisection. Macaulay duration = sum(years × present value)/price; modified duration = Macaulay duration/(1 + YTM/f).

Worked example

A 1,000 face bond paying 5% annually in two coupons of 25, with ten coupon periods left, is worth 1,000 when its nominal annual YTM is also 5%. A higher required yield lowers the price. At zero coupon, only the discounted maturity principal remains.

Related calculations

How to use this result

  1. Choose price from yield or yield from price.
  2. Check whether the price is for the total face holding or per 100; this input uses total price.
  3. Count remaining coupon periods under the selected frequency.
  4. Inspect the cash-flow present values and compare duration to the actual maturity.

Questions about this calculation

Is current yield the same as YTM?

No. Current yield uses annual coupon divided by price. YTM also accounts for principal repayment and the timing of all cash flows.

Can I enter a zero-coupon bond?

Yes. Set coupon to zero; the only payment is principal at maturity.

Why no settlement-date field?

Arbitrary settlement requires accrued interest and day-count rules. This model uses coupon-date settlement explicitly instead of silently ignoring them.

Continue your calculation

Additional references