Bond Present Value Calculator

Price a coupon bond: coupons plus the face value at maturity, discounted at the yield to maturity.

A bond's price is the present value of its cash flows: each coupon payment plus the face value repaid at maturity, every one discounted at the yield to maturity (YTM). With face value F, annual coupon rate c, m payments per year, and n years to maturity, the price is P = Σₜ (c·F/m) / (1 + y/m)ᵗ + F / (1 + y/m)^(n·m). Worked example: a $1,000.00 face, 5% coupon, 6% yield, semiannual coupons (m = 2), 10 years: twenty $25.00 coupons (total $500.00) plus the $1,000.00 face value discounted at 3% per period gives $925.61 — a discount, because the coupon rate sits below the yield. At par (c = y) the same bond prices at $1,000.00; with a 7% coupon it prices at a premium of $1,074.39. Switch to annual coupons (m = 1) and the price moves to $926.40.

Worked examples

Example 1 (default): the discount bond

Face value $1,000.00, coupon rate 5% (annual coupon $50.00), semiannual (m = 2, so $25.00 per period), 10 years to maturity, yield 6%. The twenty $25.00 coupons total $500.00 over the holding period, and the $1,000.00 face value discounted at 3% per period brings the price to $925.61. The coupon rate is below the yield, so the bond trades at a discount.

Example 2: the par bond

Same bond, but with the yield equal to the coupon rate (both 5%). Every $25.00 coupon and the $1,000.00 face value then discount exactly to par: the price is $1,000.00. A bond trading at par satisfies c = y.

Example 3: the premium bond

Raise the coupon rate to 7% with the yield still at 6%: each period pays $35.00 (annual coupon $70.00, total over 10 years $700.00). Because the coupon rate exceeds the yield, the price comes to $1,074.39 — a premium over the $1,000.00 face value.

Example 4: annual coupons

The same 5% coupon bond, but paid annually (m = 1): one $50.00 coupon per year, discounted at 6% per year for 10 years. The price is $926.40 — slightly above the semiannual $925.61, because the annual coupons are received later on average and discount a bit less.

The formula

A bond's cash flows are an annuity of coupons plus a lump-sum face payment. Each is discounted at the per-period yield y/m, and the price is their sum:

P = Σₜ (C/m) / (1 + y/m)ᵗ + F / (1 + y/m)^(n·m)

The status follows directly from comparing the two rates: c < y → discount (price below F); c = y → par (price equals F); c > y → premium (price above F).

Excel

Excel's PV function prices the default bond: =PV(6%/2, 10*2, -(5%*1000)/2, -1000) → $925.61. Arguments: rate = y/m, nper = n·m, pmt = −(c·F)/m, fv = −F.

TI-84

In the TVM Solver (APPS → 1:Finance… → 1:TVM Solver...), enter N = 20, I% = 6, PMT = −25, FV = −1000, P/Y = 2, C/Y = 2, and solve for PV → $925.61.

Frequently asked questions

Why do most bonds pay semiannual coupons?

Investment-grade bonds usually pay twice a year by convention, so this calculator defaults to m = 2. Each coupon is the annual coupon (c × F) divided by m, and the yield is likewise split per period (y/m). Some bonds pay quarterly (m = 4) or annually (m = 1).

What do discount, par, and premium mean?

They compare the coupon rate c with the yield y. If c is below y, the bond trades at a discount (price below face value); if c equals y, it trades at par; if c is above y, it trades at a premium. In the default example, c = 5% and y = 6%, so the $1,000 face bond prices at $925.61 — a discount.

What is the difference between the coupon rate and the yield to maturity?

The coupon rate is fixed and sets the cash payments (c × F per year). The yield to maturity (YTM) is the annual rate an investor would earn by buying the bond at its current price and holding it to maturity. When market rates sit above the coupon, the price falls until the bond's yield matches the market — that is why c and y differ on a trading bond.

How do I choose m, the payments per year?

Use the bond's actual payment frequency: most bonds pay semiannually (m = 2), some quarterly (m = 4), and a few annually (m = 1). Keep the frequency consistent on both sides of the formula — the coupon and the yield are both divided by m, and the number of periods is n × m.

Does this work for zero-coupon bonds?

Yes, as a special case: set the coupon rate c = 0. The price then reduces to F / (1 + y/m)^(n·m), the face value discounted for the full term with no coupon stream. There is no dedicated zero-coupon page; this formula with c = 0 is the zero-coupon bond's price.

Related tools