Grafico della duration rispetto al fattore
Rappresentare un grafico della duration in funzione di un fattore come scadenza, cedole o rendimento è un ottimo modo per vedere come quel fattore influisce sulla duration di un'obbligazione.
Nel video, abbiamo tracciato la duration rispetto alla scadenza. In questo esercizio farai la stessa cosa per il tasso cedolare. Userai un'obbligazione a 10 anni con rendimento del 5% e valore nominale di 100 USD.
numpy, numpy_financial, pandas e matplotlib sono già stati importati per te rispettivamente come np, npf, pd e plt.
Questo esercizio fa parte del corso
Valutazione e analisi delle obbligazioni in Python
Istruzioni dell'esercizio
- Crea un array di cedole da 0 a 10 con incrementi di 0,1 e convertilo in un DataFrame
pandas. - Aggiungi quattro colonne aggiuntive al DataFrame:
price,price_up,price_downedurationper l'obbligazione. - Traccia un grafico con
bond_couponsull'asse x edurationsull'asse y.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)
# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()