Bond Yield, Duration and Convexity Calculator

Solve for
Coupons per year

How to use it

  1. Choose whether to find the price from a yield, or the yield to maturity from a price.
  2. Choose how many coupons the bond pays a year. Most US Treasury and corporate bonds pay 2.
  3. Enter the face value, the annual coupon rate and the years to maturity. Enter a coupon of 0 for a zero-coupon bond.
  4. Enter the yield to maturity in percent a year, or the price in dollars for the face value entered.
  5. The price or yield, the duration, the convexity and the price change for a 1 % move in yield appear and update as you type.

To see it filled in, choose “Show an example”. The bond is priced on a coupon date, so the years to maturity must be a whole number of coupon periods, and the price is the full price with no accrued interest. The yield is quoted as a nominal annual rate compounded once a coupon period, the bond-equivalent yield for a semiannual bond. For comparing bonds and for study; not financial advice.

Result

Enter the face value.

Priced on a coupon date. Yields are nominal annual rates compounded each coupon period. Durations are in years and convexity in years². DV01 is the price change for a 0.01 % change in yield.

Methodology, equations and examples

A bond's price is the present value of its cash flows: a coupon every period and the face value at maturity, each discounted at the yield to maturity. The yield to maturity (YTM) is the single discount rate that makes that present value equal to the price. Duration and convexity measure how much the price moves when the yield changes, which is the main risk in holding a bond.

Price and yield to maturity

For a bond with face value F, annual coupon rate c, m coupons a year and n periods to maturity, each coupon is C = F c / m. At an annual yield y, the rate per period is i = y / m and the price is:

P = Σ C / (1 + i)^t + F / (1 + i)^n, summed over t = 1 to n

  • F – Face value, paid at maturity
  • c – Annual coupon rate
  • m – Coupons a year
  • n – Coupon periods to maturity, years × m
  • y – Yield to maturity, a nominal annual rate compounded m times a year
  • i – Yield per period, y / m

The yield is quoted the way the market quotes it: a nominal annual rate, the per-period yield times m. For a semiannual bond this is the bond-equivalent yield. The effective annual yield, (1 + i)^m − 1, is a little higher because it counts the compounding. The current yield is the annual coupon divided by the price, and ignores the gain or loss at maturity.

There is no closed form for the yield, so it is found numerically. The price falls steadily as the yield rises, so one yield fits any price. The calculator uses Newton's method with dP/dy as the slope, and keeps each step inside a bracket that bisection narrows, so it always converges.

A bond whose coupon rate equals its yield is priced at par, 100 % of face. A coupon below the yield prices it at a discount, and a coupon above the yield prices it at a premium.

Duration and convexity

Macaulay duration D is the average time to the bond's cash flows, weighted by the share of the price each one makes up:

D = [Σ t × PV(CF_t) / P] / m, in years

A zero-coupon bond has a single cash flow, so its Macaulay duration is its maturity. Coupons pull it shorter. Modified duration, D* = D / (1 + i), is the percentage price change per unit change in yield: −(1/P) dP/dy. DV01, the dollar value of a basis point, is D* × P × 0.0001, the price change for a 0.01 % change in yield.

Convexity is the curvature of the price-yield relationship:

Convexity = [Σ t (t + 1) × PV(CF_t) / P] / [m (1 + i)]², in years²

Together they estimate the price change for a change in yield Δy:

ΔP ≈ P × (−D* Δy + ½ × Convexity × Δy²)

Duration alone gives a straight-line estimate, which understates the price after any move. Convexity corrects most of the gap. The calculator shows the estimate for a 1 % rise and a 1 % fall in yield next to the exact change, found by repricing the bond.

Example

A two-year bond with a $1,000 face value pays an 8 % coupon semiannually and yields 10 %. This is the duration example in Bodie, Kane and Marcus, Investments.

Each coupon is $1,000 × 0.08 / 2 = $40, and the yield is 5 % a half year over four periods:

P = $40/1.05 + $40/1.05² + $40/1.05³ + $1,040/1.05⁴ = $38.10 + $36.28 + $34.55 + $855.61 = $964.54

The bond trades at a discount because its 8 % coupon is below the 10 % yield. The cash flows' times, weighted by their share of the price, give a Macaulay duration of

D = (1 × 38.10 + 2 × 36.28 + 3 × 34.55 + 4 × 855.61) / $964.54 / 2 = 1.8852 years

A two-year zero-coupon bond would have a duration of exactly 2 years. Modified duration is 1.8852 / 1.05 = 1.7955 years, and convexity is 4.1895 years². If the yield rises 1 % to 11 %, duration and convexity estimate the price falls $17.12, and repricing the bond gives $17.12 too. The two differ only in the third decimal place. DV01 is $0.1732 per 0.01 % change in yield.

Top