Duration

Bond Valuation and Analysis in R

Clifford Ang

Senior Vice President, Compass Lexecon

What is duration?

  • Estimated price change for a 100 basis point change in yield
    • Two bonds with the same duration will have same estimated price change
  • A way to manage the risk of interest rate sensitive liabilities
Bond Valuation and Analysis in R

Calculating duration

$$

$$D = \frac{P(\text{down})-P(\text{up})}{(2 \cdot P \cdot \Delta y)}$$

  • $D$ = Duration
  • $P(\text{down})$ = Price when yield goes down
  • $P(\text{up})$ = Price when yield goes up
  • $P$ = Current price
  • $\Delta y$ = Change in yield
Bond Valuation and Analysis in R

Estimating price change

 

$$\frac{\Delta P}{P} = -D \cdot \Delta y$$

 

$$\Delta P = -D \cdot \Delta y \cdot P$$

$\dfrac{\Delta P}{P}$ = Percent change

$D$ = duration

$\Delta y$ = Change in yield


$\Delta P$ = Dollar change

$P$ = Current price

Bond Valuation and Analysis in R

How do you use these formulas?

  • Example: $100 par value, 5% coupon rate, 10 years to maturity, initial yield = 4%, expected increase in yield = 1%
(p <- bondprc(100, .05, 10, .04))
108.1109
(p_down <- bondprc(100, .05, 10, .03))
117.0604
(p_up <- bondprc(100, .05, 10, .05))
100
Bond Valuation and Analysis in R

How do you use these formulas?

(duration <- (p_down - p_up) / (2 * p * 0.01))
7.890234
(duration_pct_change <- - duration * 0.01)
-0.07890234
(duration_dollar_change <- duration_pct_change * p)
-8.530203
Bond Valuation and Analysis in R

Yield vs. price

Bond Valuation and Analysis in R

Let's practice!

Bond Valuation and Analysis in R

Preparing Video For Download...