Couponbetalende obligaties

Waardering en analyse van obligaties in Python

Joshua Mayhew

Options Trader

Definitie couponobligatie

  • Betaalt tijdens de looptijd periodiek cashflows (coupons)
  • Op einddatum betaalt het een coupon én de nominale waarde
  • Coupons worden meestal jaarlijks of halfjaarlijks betaald
  • Het aantal coupons per jaar heet de frequentie
  • De yield to maturity is het jaarlijkse rendement bij kopen-en-houden tot einddatum
Waardering en analyse van obligaties in Python

Voorbeeld couponobligatie

Neem een 3-jaars obligatie met 3% jaarlijkse coupon, nominale waarde USD 100 en yield van 4%:

LET OP: De coupon is vast en verandert niet!

Waardering en analyse van obligaties in Python

Prijzen van een couponobligatie

We splitsen de obligatie op in een set zerocouponobligaties en prijzen die:

  • Een 1-jaars zerocoupon met nominale waarde USD 3
  • Een 2-jaars zerocoupon met nominale waarde USD 3
  • Een 3-jaars zerocoupon met nominale waarde USD 103
Waardering en analyse van obligaties in Python

Prijzen van een couponobligatie

3-jaars obligatie met 3% jaarlijkse coupon, nominale waarde USD 100 en yield van 4%

Met de samengestelde-renteformule van eerder:

$ \text{1jr ZCB-prijs: } \frac{3}{(1 + 0.04)^1} = 2.88$

$ \text{2jr ZCB-prijs: } \ \frac{3}{(1 + 0.04)^2} = 2.77$

$ \text{3jr ZCB-prijs: } \ \frac{103}{(1 + 0.04)^3} = 91.57$

$\text{Couponobligatieprijs: } 2.88 + 2.77 + 91.57 = 97.22$

Waardering en analyse van obligaties in Python

Formule couponobligatie

Algemener is de prijsformule voor een couponobligatie:

$ Price = PV = \frac{C}{(1 + r)^1} + \frac{C}{(1 + r)^2} + ... +\frac{C}{(1 + r)^n} + \frac{P}{(1 + r)^n}$

$ = (\sum_{i=1}^n \frac{C}{(1 + r)^i}) + \frac{P}{(1 + r)^n}$

  • $C$ is de coupon per periode
  • $r$ is de yield to maturity van de obligatie
  • $P$ is de nominale waarde (hoofdsom) op einddatum
  • $n$ is het aantal perioden (meestal jaren)
Waardering en analyse van obligaties in Python

De pv()-functie gebruiken

Neem dezelfde 3-jaars obligatie met een jaarlijkse coupon van 3% en een yield to maturity van 4%:

import numpy_financial as npf
-npf.pv(rate=0.04, nper=3, pmt=3, fv=100)
97.22

We zetten pmt positief.

We plaatsen ook een minteken vóór de functie.

We zetten fv op 100, niet 103.

Waardering en analyse van obligaties in Python

Laten we oefenen!

Waardering en analyse van obligaties in Python

Preparing Video For Download...