Valuation models

Bond pricer

Price a fixed-rate bond from its yield, or solve the yield from a price, with duration, convexity and DV01.

Inputs

Valued on a coupon date, so clean and dirty prices coincide. Yield compounds at the coupon frequency.

Analytics

Methodology

Conventions

  • Settlement on a coupon date, so accrued interest is zero and clean equals dirty price.
  • Yield compounded at the coupon frequency f.
  • Coupon c = face × coupon rate / f, paid at the end of each of the n = years × f periods.
  • DV01 is the price change for a 1bp move in yield, per the face value entered.

References

  • Fabozzi, Bond Markets, Analysis and Strategies
  • Hull, Options, Futures and Other Derivatives, ch. 4

Formulas

Price
P = Σₖ₌₁ⁿ CFₖ / (1 + y/f)ᵏ
Macaulay duration
D = (1/P) Σ (k/f) · CFₖ / (1 + y/f)ᵏ
Modified duration
D* = D / (1 + y/f)
Convexity
C = (1/P) Σ k(k+1) · CFₖ / (f² (1 + y/f)ᵏ⁺²)
DV01
DV01 = D* · P · 0.0001
Yield from price
solve P(y) = P_market for y (bisection)
Dated bonds with accrued interest and day counts are priced by the analytics core.