Money & shopping

Bond price and yield to maturity calculator

Find a bond’s price from its yield, or its yield from its price, with duration and convexity.

Bond price and yield to maturity calculator
Esc to restore

Your inputs

Arithmetic on the cash flows you enter. It is not investment, tax or financial advice.

Must be a whole number of coupon periods, for example 7.5 years with two coupons a year.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded, and nothing is saved unless you choose “Save result”.

A clear answer. Here’s how.

Price = Σ coupon ÷ (1 + y/m)^k for k = 1 to n, plus face ÷ (1 + y/m)^n, where m is coupons per year, n = years × m and y is the nominal annual yield. When solving for the yield the tool bisects on the price, which falls steadily as the yield rises, so there is exactly one answer. Macaulay duration is the present-value-weighted average time of the payments in years, modified duration divides it by (1 + y/m), and convexity is the second-derivative measure ÷ price. All figures assume a valuation on a coupon date, so there is no accrued interest.

How this is checked

4 reference checks passed These 4 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.

See the checks and where each expected answer comes from
  1. Case 1

    Inputs
    Solve for priceFace (par) value 1000Annual coupon rate (%) 5Years to maturity 10Coupons per year 2Yield to maturity (% a year) 6
    Expected, and what Toolmoz gave
    Price expected 925.6126, Toolmoz 925.6126256977228Macaulay duration (years) expected 7.894997, Toolmoz 7.894997340182344Modified duration expected 7.665046, Toolmoz 7.665045961342081Convexity expected 71.785398, Toolmoz 71.78539801290006
    Where the expected answer comes from
    Sum of the 20 discounted semi-annual payments of 25 and 1,000 at 3% a period, with duration and convexity summed term by term in 50-digit decimal arithmetic
    Allowed difference
    ±0.0001 absolute
  2. Case 2

    Inputs
    Solve for yieldFace (par) value 1000Annual coupon rate (%) 5Years to maturity 10Coupons per year 2Price 925.61262569772
    Expected, and what Toolmoz gave
    Yield to maturity (annual, compounded 2× a year) expected 6, Toolmoz 6.0000000000000275
    Where the expected answer comes from
    Inverse of the case above: the price 925.61262569772 is the value at a 6% yield
    Allowed difference
    ±1e-7 absolute
  3. Case 3

    Inputs
    Solve for priceFace (par) value 1000Annual coupon rate (%) 0Years to maturity 10Coupons per year 1Yield to maturity (% a year) 5
    Expected, and what Toolmoz gave
    Price expected 613.9133, Toolmoz 613.9132535407591Macaulay duration (years) expected 10, Toolmoz 10Priced at expected A discount to face value, Toolmoz A discount to face value
    Where the expected answer comes from
    Zero-coupon bond: 1000 ÷ 1.05^10 = 613.9133, and its Macaulay duration equals its maturity
    Allowed difference
    ±0.0001 absolute
  4. Case 4

    Inputs
    Solve for priceFace (par) value 1000Annual coupon rate (%) 7Years to maturity 5Coupons per year 1Yield to maturity (% a year) 7
    Expected, and what Toolmoz gave
    Price expected 1000, Toolmoz 1000Priced at expected Par, Toolmoz Par
    Where the expected answer comes from
    A bond whose coupon rate equals its yield is worth its face value
    Allowed difference
    ±1e-9 absolute

What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Solve for
Price, given the yield
Face (par) value
1000
Annual coupon rate (%)
5
Years to maturity
10
Coupons per year
Semi-annual
Yield to maturity (% a year)
6

Example result

Price
925.61
Price per 100 of face value
92.5613
Yield to maturity (annual, compounded 2× a year)
6%
Current yield (annual coupon ÷ price)
5.4018%
Macaulay duration (years)
7.8950
Modified duration
7.6650
Convexity
71.785
Total coupons paid
500.00
Priced at
A discount to face value

Values a plain fixed-coupon bond held to maturity on a coupon date: no accrued interest, call features, credit risk or tax. Yield is the nominal annual rate compounded at the coupon frequency, the bond-market convention. Duration and convexity are per year.