Duration

Waardering en analyse van obligaties in Python

Joshua Mayhew

Options Trader

De context achter duration

  • Prijzen en yields bewegen tegengesteld
  • We weten niet hoe gevoelig een obligatie is voor rente
  • Duration meet rentetarievengevoeligheid
Waardering en analyse van obligaties in Python

Motiverend voorbeeld

  • Neem een 5- en 10-jaars obligatie, beide met 5% coupon
  • Bij 5% yield hebben ze allebei een prijs van USD 100:
-npf.pv(rate=0.05, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.05, nper=10, pmt=5, fv=100)
100.00
100.00
Waardering en analyse van obligaties in Python

Motiverend voorbeeld

Als de rente stijgt naar 6%:

-npf.pv(rate=0.06, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.06, nper=10, pmt=5, fv=100)
95.79
92.64
  • De 5-jaars obligatie verloor 4,21% van de waarde; de 10-jaars verloor 7,36%

  • De 10-jaars was gevoeliger voor renteveranderingen

Waardering en analyse van obligaties in Python

Wat is duration?

  • Duration is de % prijsverandering bij 1% wijziging in yields (rente).
  • Hogere duration = hoger renterisico
  • Typische toepassingen:
    • Renterisico meten
    • Renterisico hedgen
    • P&L voorspellen bij renteveranderingen
Waardering en analyse van obligaties in Python

Duration berekenen

We gebruiken een vereenvoudigde formule voor duration:

 

${\large Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

 

  • $P_{down}$ = Obligatieprijs bij 1% lagere yield
  • $P_{up}$ = Obligatieprijs bij 1% hogere yield
  • $P$ = Obligatieprijs bij huidige yield
  • $\Delta y$ = Verandering in yield (we gebruiken 1%)
Waardering en analyse van obligaties in Python

Voorbeeld: duration

10-jaars obligatie, 5% jaarlijkse coupon, 4% yield to maturity: wat is de duration?

${ Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

price = -npf.pv(rate=0.05, nper=10, pmt=5, fv=100)

price_up = -npf.pv(rate=0.06, nper=10, pmt=5, fv=100) price_down = -npf.pv(rate=0.04, nper=10, pmt=5, fv=100)
duration = (price_down - price_up) / (2 * price * 0.01) print(duration)
7.74

Een rentebeweging van 1% veroorzaakt een prijsverandering van 7,74% voor de obligatie.

Waardering en analyse van obligaties in Python

Samenvatting

  • Obligaties kunnen verschillend reageren op dezelfde yield-verandering
  • Duration is de % prijsverandering bij 1% wijziging in yields
  • Duration meet rentetarievengevoeligheid
Waardering en analyse van obligaties in Python

Laten we oefenen!

Waardering en analyse van obligaties in Python

Preparing Video For Download...