Facteurs influençant la duration

Évaluation et analyse des obligations en Python

Joshua Mayhew

Options Trader

La duration comme temps « moyen »

Le temps « moyen » pour récupérer votre argent

Attendre plus longtemps = plus exposé aux taux d'intérêt

Évaluation et analyse des obligations en Python

La duration comme pente de la tangente

La duration est la dérivée (taux de variation) du prix par rapport au rendement

La pente de la tangente correspond à la duration

Évaluation et analyse des obligations en Python

Échéance vs duration

  • Échéance plus longue = attente plus longue pour récupérer l'argent
  • Attente plus longue = plus exposé aux variations de taux
  • Échéance plus longue = duration plus élevée
Évaluation et analyse des obligations en Python

Taux de coupon vs duration

  • Coupon plus élevé = attente « moyenne » plus courte pour récupérer l'argent
  • Donc moins d'exposition aux variations de taux
  • Donc coupon plus élevé = duration plus faible
  • Les obligations zéro coupon ont une duration plus élevée que les obligations avec coupon
Évaluation et analyse des obligations en Python

Rendement obligataire vs duration

  • La courbe prix/obligation est plus pentue pour des rendements plus faibles
  • Rendements plus faibles = sensibilité plus élevée aux taux = duration plus élevée
Évaluation et analyse des obligations en Python

Façons d'étudier la duration

Nous pouvons étudier les facteurs qui influencent la duration en :

  • Faisant varier un facteur et en calculant directement la duration
  • Traçant un graphique prix/rendement et en repérant où la pente est la plus forte
  • Traçant un graphique duration/facteur
Évaluation et analyse des obligations en Python

Tracer l'échéance des obligations en fonction de la duration

import numpy as np
import numpy_financial as npf
import pandas as pd
import matplotlib.pyplot as plt
bond_maturity = np.arange(0, 30, 0.1)

bond = pd.DataFrame(bond_maturity, columns=['bond_maturity'])
bond['price'] = -npf.pv(rate=0.05, nper=bond['bond_maturity'], pmt=5, fv=100)
bond['price_up'] = -npf.pv(rate=0.05 + 0.01, nper=bond['bond_maturity'], pmt=5, fv=100)
bond['price_down'] = -npf.pv(rate=0.05 - 0.01, nper=bond['bond_maturity'], pmt=5, fv=100)
bond['duration'] = (bond['price_down'] - bond['price_up']) / (2 * bond['price'] * 0.01)
Évaluation et analyse des obligations en Python

Tracer l'échéance des obligations en fonction de la duration

plt.plot(bond['bond_maturity'], bond['duration'])

plt.xlabel('Maturity (Years)')
plt.ylabel('Duration (%)')
plt.title("Effect of Varying Maturity On Bond Duration")
plt.show()

Évaluation et analyse des obligations en Python

Récapitulatif

La duration d'une obligation augmente en cas de :

  • Échéance plus longue
  • Coupon plus faible
  • Niveau de rendement plus faible
Évaluation et analyse des obligations en Python

Passons à la pratique !

Évaluation et analyse des obligations en Python

Preparing Video For Download...