Bond Valuation and Analysis in R
Clifford Ang
Senior Vice President, Compass Lexecon
$$
$$D = \frac{P(\text{down})-P(\text{up})}{(2 \cdot P \cdot \Delta y)}$$
$$\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
(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
(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