Prix prédits vs. prix réels II
Tracer les prix prédits d’une obligation pour différents niveaux de rendement à l’aide de la duration, puis comparer ces prix prédits aux prix réels de l’obligation est un excellent moyen 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 contenant les prix réels de l’obligation pour chaque niveau de rendement. Dans cet exercice, vous allez ajouter des colonnes à ce DataFrame avec les prix prédits à l’aide de la duration, puis tracer la différence entre le prix prédit et le prix réel.
numpy, numpy_financial, pandas et matplotlib ont déjà été importés pour vous sous les alias np, npf, pd et plt, respectivement, ainsi que le code de l’exercice précédent.
Cet exercice fait partie du cours
Évaluation et analyse des obligations en Python
Instructions
- Ajoutez la colonne
yield_changecorrespondant au rendement actuel moins le rendement initial. - Ajoutez la colonne
price_changeavec la variation de prix de l’obligation prédite à 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 tracé des rendements des obligations par rapport aux prix réels et aux prix prédits sur les mêmes axes, puis affichez le graphique.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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"])
____