Tracer la duration en fonction du facteur
Tracer la duration par rapport à un facteur comme l'échéance, le coupon ou le rendement est un excellent moyen de voir comment ce facteur influence la duration d'une obligation.
Dans la vidéo, nous avons tracé la duration en fonction de l'échéance. Dans cet exercice, vous allez faire la même chose pour le taux du coupon. Vous utiliserez une obligation de 10 ans avec un rendement de 5 % et une valeur nominale de 100 USD.
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 coupons allant de 0 à 10 par incréments de 0,1, puis convertissez-le en DataFrame
pandas. - Ajoutez quatre colonnes supplémentaires au DataFrame :
price,price_up,price_downetdurationpour l'obligation. - Tracez un graphique avec
bond_couponsur l'axe des x etdurationsur l'axe des y.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)
# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()