IniziaInizia gratis

Prezzi previsti vs. effettivi II

Rappresentare i prezzi previsti delle obbligazioni per diversi livelli di rendimento usando la duration, quindi confrontarli con i prezzi effettivi dell'obbligazione, è un ottimo modo per visualizzare l'accuratezza della duration.

Nel precedente esercizio, hai calcolato la duration dell'obbligazione e creato un DataFrame con i prezzi effettivi del bond a ciascun livello di rendimento. In questo esercizio, aggiungerai colonne a questo DataFrame con i prezzi previsti usando la duration, quindi traccerai la differenza tra il prezzo previsto e quello effettivo.

numpy, numpy_financial, pandas e matplotlib sono già stati importati per te come np, npf, pd e plt, rispettivamente, così come il codice del precedente esercizio.

Questo esercizio fa parte del corso

Valutazione e analisi delle obbligazioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi la colonna yield_change con il rendimento corrente meno il rendimento iniziale.
  • Aggiungi la colonna price_change con la variazione di prezzo prevista dell'obbligazione usando la dollar duration.
  • Aggiungi la colonna predicted_price combinando il prezzo iniziale del bond con la variazione di prezzo.
  • Aggiungi un grafico dei rendimenti del bond rispetto ai prezzi effettivi e ai prezzi previsti sugli stessi assi e mostra il grafico.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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"])
____
Modifica ed esegui il codice