Waardering en analyse van obligaties in Python
Joshua Mayhew
Options Trader
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!
We splitsen de obligatie op in een set zerocouponobligaties en prijzen die:
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$
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}$
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