IniziaInizia gratis

Rappresentare i prezzi delle obbligazioni in funzione dei rendimenti

Saper tracciare un grafico dei prezzi delle obbligazioni in funzione dei rendimenti aiuta a capire cosa può succedere a un'obbligazione o a un portafoglio di obbligazioni al variare dei tassi di interesse di mercato.

Ora creerai un grafico dei prezzi delle obbligazioni in funzione dei rendimenti, ma questa volta per due obbligazioni con scadenze diverse. Lo farai aggiungendo al tuo DataFrame di pandas colonne extra per ciascuna obbligazione aggiuntiva. Le obbligazioni considerate pagano entrambe una cedola del 5%, ma ora traccerai una obbligazione a 5 anni e una a 10 anni.

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

Questo esercizio fa parte del corso

Valutazione e analisi delle obbligazioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un array di rendimenti obbligazionari da 0 a 20 (escluso) con incrementi di 0,1.
  • Converti questo array in un DataFrame di pandas e assegna alla colonna il nome bond_yield.
  • Aggiungi altre due colonne, una per ciascuna obbligazione (5 anni e 10 anni), e trova il prezzo per un dato livello di rendimento.
  • Traccia un grafico di queste obbligazioni impostando l'etichetta dell'asse x su Yield (%) e quella dell'asse y su Bond Price (USD).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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

# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)

# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()
Modifica ed esegui il codice