Prix prévus vs prix réels II
Tracer les prix prévus d'une obligation pour différents niveaux de rendement à l'aide de la duration, puis les comparer aux prix réels de l'obligation, est une excellente façon de visualiser la précision de la duration.
Dans l'exercice précédent, vous avez calculé la duration de l'obligation et créé un DataFrame avec les prix réels de l'obligation pour chaque niveau de rendement. Dans cet exercice, vous ajouterez des colonnes à ce DataFrame contenant les prix prévus à l'aide de la duration, puis vous tracerez la différence entre le prix prévu et le prix réel.
numpy, numpy_financial, pandas et matplotlib ont déjà été importés pour vous sous les noms np, npf, pd et plt, respectivement, de même que le code de l'exercice précédent.
Cette activité fait partie du cours
Évaluation et analyse des obligations en Python
Instructions de l’exercice
- Ajoutez la colonne
yield_changeavec le rendement courant moins le rendement initial. - Ajoutez la colonne
price_changeavec la variation de prix prévue de l'obligation à l'aide de la duration en dollars. - Ajoutez la colonne
predicted_priceen combinant le prix initial de l'obligation avec la variation de prix. - Ajoutez un graphique des rendements obligataires par rapport aux prix réels et par rapport aux prix prévus sur les mêmes axes, puis affichez le graphique.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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"])
____