CommencerCommencer gratuitement

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

Afficher le cours

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_down et duration pour l’obligation.
  • Tracez un graphique avec bond_coupon en abscisse et duration en 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()
Modifier et exécuter le code