CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Ajoutez la colonne yield_change correspondant au rendement actuel moins le rendement initial.
  • Ajoutez la colonne price_change avec la variation de prix de l’obligation prédite à l’aide de la duration en dollars.
  • Ajoutez la colonne predicted_price en 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"])
____
Modifier et exécuter le code