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
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
pandaschiamatobond_yield. - Aggiungi la colonna
pricecontenente 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, ____, ____, ____)