Tracer les prix des obligations en fonction des rendements
Pouvoir tracer un graphique des prix des obligations en fonction des rendements aide à analyser ce qui pourrait arriver à une obligation ou à un portefeuille d'obligations selon différents niveaux de taux d'intérêt sur le marché.
Vous allez maintenant créer un graphique des prix des obligations en fonction des rendements, mais cette fois pour deux obligations ayant des échéances différentes. Pour ce faire, vous ajouterez des colonnes supplémentaires à votre DataFrame pandas, une pour chaque obligation. Les deux obligations verseront un coupon de 5 %, mais vous tracerez cette fois une obligation sur 5 ans et une autre sur 10 ans.
numpy, numpy_financial, pandas et matplotlib ont déjà été importés pour vous sous les alias np, npf, pd et plt, respectivement.
Cette activité fait partie du cours
Évaluation et analyse des obligations en Python
Instructions de l’exercice
- Créez un tableau de rendements obligataires de 0 à 20 (exclu) par incréments de 0,1.
- Convertissez ce tableau en DataFrame
pandaset nommez la colonnebond_yield. - Ajoutez deux colonnes supplémentaires, une pour chaque obligation (5 ans et 10 ans), et trouvez le prix pour un niveau donné de rendement.
- Tracez un graphique de ces obligations en définissant l'étiquette de l'axe des x à
Yield (%)et celle de l'axe des y àBond Price (USD).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create an array of bond yields and convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)
# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()