Bond price volatility and the price value of a basis point

Bond Valuation and Analysis in R

Clifford Ang

Senior Vice President, Compass Lexecon

Bond price volatility

  • Bond price volatility depends on many factors
  • Some examples:
    • Size of yield change
    • Coupon rate
    • Time to maturity
Bond Valuation and Analysis in R

Small change, symmetric effect

  • Small changes in yield: % change for most bonds are similar whether yield goes up or down
  • Example:
    • 100 USD par value, 10% coupon rate, 20 years, 10% yield
bondprc(100, 0.10, 20, 0.101) / bondprc(100, 0.10, 20, 0.10) - 1
-0.008455776
bondprc(100, 0.10, 20, 0.099) / bondprc(100, 0.10, 20, 0.10) - 1
0.008571998
Bond Valuation and Analysis in R

Large change, asymmetric effect

  • For large changes in yield, the percentage change is higher when the yield decreases
  • Example:
    • 100 USD par value, 10% coupon rate, 20 years, 10% yield
bondprc(100, 0.10, 20, 0.14) / bondprc(100, 0.10, 20, 0.10) - 1
-0.2649252
bondprc(100, 0.10, 20, 0.06) / bondprc(100, 0.10, 20, 0.10) - 1
0.4587968
Bond Valuation and Analysis in R

Lower coupon, more volatile

  • Fixing the time to maturity and yield, bond price volatility is higher if the coupon rate is lower
  • Example:
    • 100 USD par value, 20 years, 10% initial yield, 8% new yield
bondprc(100, 0.10, 20, 0.08) / bondprc(100, 0.10, 20, 0.10) - 1
0.1963629
bondprc(100, 0.05, 20, 0.08) / bondprc(100, 0.05, 20, 0.10) - 1
0.228328
Bond Valuation and Analysis in R

Lower coupon, more volatile

bondprc(100, 0.00, 20, 0.08) / bondprc(100, 0.00, 20, 0.10) - 1
0.4433731
Bond Valuation and Analysis in R

Longer maturity, more volatile

  • Fixing the coupon rate and yield, bond price volatility is higher if the time to maturity is longer
  • Example:
    • 100 USD par value, 10% coupon rate, 10% initial yield, 8% new yield
bondprc(100, 0.10, 20, 0.08) / bondprc(100, 0.10, 20, 0.10) - 1
0.1963629
bondprc(100, 0.10, 10, 0.08) / bondprc(100, 0.10, 10, 0.10) - 1
0.1342016
Bond Valuation and Analysis in R

Shorter maturity, more volatile

bondprc(100, 0.10, 5, 0.08) / bondprc(100, 0.10, 5, 0.10) - 1
0.0798542
Bond Valuation and Analysis in R

Price value of a basis point

  • Or "dollar value of an 01" = measure of bond price volatility
    • = price of the bond if the required yield changes by 0.01%
  • Example:
bondprc(100, 0.05, 20, 0.05)
100
bondprc(100, 0.05, 20, 0.0501)
99.87548
Bond Valuation and Analysis in R

Price value of a basis point

abs(bondprc(100, 0.05, 20, 0.0501) - bondprc(100, 0.05, 20, 0.05))
0.1245165
  • abs() to make sure the change is positive
Bond Valuation and Analysis in R

Let's practice!

Bond Valuation and Analysis in R

Preparing Video For Download...