Aan de slagGa gratis aan de slag

Duration uitzetten tegen de factor

Een grafiek maken van duration tegenover een factor zoals looptijd, coupon of rendement is een uitstekende manier om te zien hoe die factor de duration van een obligatie beïnvloedt.

In de video hebben we duration uitgezet tegen de looptijd. In deze oefening doe je hetzelfde voor de couponrente. Je gebruikt een obligatie met een looptijd van 10 jaar, een rendement van 5% en een nominale waarde van USD 100.

numpy, numpy_financial, pandas en matplotlib zijn al voor je geïmporteerd als respectievelijk np, npf, pd en plt.

Deze oefening maakt deel uit van de cursus

Waardering en analyse van obligaties in Python

Cursus bekijken

Oefeninstructies

  • Maak een array van coupons van 0 tot 10 met stappen van 0,1 en zet die om naar een pandas DataFrame.
  • Voeg vier extra kolommen toe aan het DataFrame: price, price_up, price_down en duration voor de obligatie.
  • Maak een grafiek met bond_coupon op de x-as en duration op de y-as.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)

# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()
Code bewerken en uitvoeren