Tracer la duration en fonction du facteur
Tracer la duration en fonction d’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 à 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.
Cet exercice fait partie du cours
Évaluation et analyse des obligations en Python
Instructions
- Créez un tableau de coupons de 0 à 10 avec des 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_couponen abscisse etdurationen ordonnée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()