Aan de slagBegin gratis

Benaderende duration voor een obligatie berekenen

Een handige benadering van de durationformule heet de benaderende duration, gegeven door $$(P(down) - P(up)) / (2 * P * \Delta y)$$

waarbij \(P\) de prijs van de obligatie is, \(P(down)\) de prijs als de yield daalt, \(P(up)\) de prijs als de yield stijgt en \(\Delta y\) de verwachte verandering in de yield.

De volledige durationformule is complexer. Als je geïnteresseerd bent, kun je voor die formule de "Fixed Income"-hoofdstuk van mijn boek raadplegen.

In deze oefening bereken je de benaderende duration van een obligatie met $100 par value, 10% coupon rate, 20 years to maturity, 10% yield to maturity en een verwachte verandering in de yield van 1%. Gebruik hiervoor je vertrouwde functie bondprc(), die al is vooringeladen in de werkruimte.

Deze oefening maakt deel uit van de cursus

Obligatiewaardering en -analyse in R

Bekijk cursus

Oefeninstructies

  • Gebruik bondprc() om de obligatieprijs vandaag te berekenen bij een yield van 10%. Sla dit op in px en bekijk daarna px.
  • Gebruik nog een aanroep van bondprc() om de obligatieprijs (px_up) te berekenen als de yield met 1% stijgt.
  • Gebruik een derde aanroep van bondprc() om de obligatieprijs (px_down) te berekenen als de yield met 1% daalt.
  • Gebruik je drie objecten (px, px_up, px_down) om de benaderende duration te berekenen, uitgaande van een verandering in de yields van 1%.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Calculate bond price today
px <- bondprc(p = ___, r = ___, ttm = ___, y = ___)
px

# Calculate bond price if yields increase by 1%
px_up <- 
px_up

# Calculate bond price if yields decrease by 1%
px_down <- 
px_down

# Calculate approximate duration
duration <- (___ - ___) / (___ * ___ * ___)
duration
Code bewerken en uitvoeren