LoslegenKostenlos loslegen

Prognostizierte vs. tatsächliche Kurse II

Die prognostizierten Kurse von Anleihen für verschiedene Renditen mithilfe der Duration zu zeichnen und diese Vorhersagen dann mit den tatsächlichen Kursen der Anleihe zu vergleichen, ist eine hervorragende Möglichkeit, die Genauigkeit der Duration zu visualisieren.

In der vorherigen Übung hast du die Duration der Anleihe ermittelt und ein DataFrame mit den tatsächlichen Anleihekursen auf jeder Renditestufe erstellt. In dieser Übung fügst du diesem DataFrame Spalten mit den mittels Duration vorhergesagten Anleihekursen hinzu und zeichnest anschließend die Differenz zwischen dem prognostizierten und dem tatsächlichen Kurs.

numpy, numpy_financial, pandas und matplotlib wurden bereits als np, npf, pd bzw. plt importiert, ebenso der Code aus der vorherigen Übung.

Diese Übung ist Teil des Kurses

Anleihebewertung und -analyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Füge die Spalte yield_change hinzu: aktuelle Rendite minus ursprüngliche Rendite.
  • Füge die Spalte price_change hinzu mit der prognostizierten Kursänderung der Anleihe auf Basis der Dollar Duration.
  • Füge die Spalte predicted_price hinzu, die den ursprünglichen Anleihekurs mit der Kursänderung kombiniert.
  • Erstelle eine Grafik mit Anleiherenditen gegenüber tatsächlichen Kursen und gegenüber prognostizierten Kursen in denselben Achsen und zeige die Grafik an.

Interaktive Übung

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

# Add a column called yield_change with the current yield minus original yield
bond['yield_change'] = (bond['bond_yield'] - ____)

# Find the predicted bond price change using dollar duration then find predicted price
bond['price_change'] = -100 * ____ * bond['yield_change'] / 100
bond['predicted_price'] = ____ + bond['price_change'] 

# Plot bond yields against predicted and actual prices, add labels, legend, and display
plt.plot(bond['bond_yield'], bond['price'])
plt.plot(____, ____)
plt.xlabel('Yield (%)')
plt.ylabel('Price (USD)')
plt.legend(["Actual Price", "Predicted Price"])
____
Code bearbeiten und ausführen