LoslegenKostenlos loslegen

Konvexität im Vergleich zum Faktor plotten

Eine weitere Möglichkeit zu prüfen, welchen Effekt ein bestimmter Faktor auf die Anleihekonvexität hat, ist, diesen Faktor direkt gegen die Konvexität der Anleihe zu plotten.

In dieser Übung bewertest du eine 20-jährige Anleihe mit einem Coupon von 6 % und einem Nennwert von 100 USD und ermittelst anschließend die Konvexität dieser Anleihe für verschiedene Renditeniveaus.

numpy, numpy_financial, pandas und matplotlib wurden bereits als np, npf, pd bzw. plt importiert.

Diese Übung ist Teil des Kurses

Anleihebewertung und -analyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Array von Anleiherenditen von 0 bis 20 in Schritten von 0,1 und wandle es in ein pandas-DataFrame um.
  • Bestimme den Preis der Anleihe, verschiebe die Renditen nach oben und unten und bewerte neu, und berechne anschließend die Konvexität der Anleihe.
  • Plotte ein Diagramm mit den Anleiherenditen auf der x-Achse und der Konvexität auf der y-Achse.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create array of bond yields and covert to pandas DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Find price of bond, reprice for higher and lower yields, calculate convexity
bond['price'] = -npf.pv(rate=bond['____'] / 100, nper=____, pmt=____, fv=____)
bond['price_up'] = ____
bond['price_down'] = ____
bond['convexity'] = (bond['____'] + bond['____'] - 2 * bond['____']) / (bond['____'] * 0.01 ** 2)

# Create plot of bond yields against convexity, add labels to axes, display plot
plt.plot(bond['____'], bond['____'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity')
____
Code bearbeiten und ausführen