IniziaInizia gratis

Prezzi previsti vs. effettivi I

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

In questo esercizio, inizierai calcolando la duration dell'obbligazione, oltre al prezzo dell'obbligazione a diversi livelli di rendimento. Nel prossimo esercizio, troverai il prezzo previsto dalla duration e rappresenterai la differenza in un grafico.

L'obbligazione che considererai è a 10 anni, con cedola annua del 5% e rendimento a scadenza del 5%.

numpy, numpy_financial, pandas e matplotlib sono già stati importati rispettivamente come np, npf, pd e plt.

Questo esercizio fa parte del corso

Valutazione e analisi delle obbligazioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Trova la duration e la dollar duration dell'obbligazione.
  • Crea un array di rendimenti obbligazionari da 0 a 10 con incrementi di 0,1 e converti questo array in un DataFrame di pandas chiamato bond_yield.
  • Aggiungi la colonna price contenente il prezzo dell'obbligazione per ciascun livello di rendimento.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____

# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____

# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)
Modifica ed esegui il codice