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 du coupon vs duration

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

Rendement de l'obligation 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'analyser la duration

Nous pouvons analyser les facteurs qui influencent la duration en :

  • Faisant varier un facteur et en calculant directement la duration
  • Traçant un graphique prix/rendement pour voir où la pente est maximale
  • Traçant un graphique duration/facteur
Évaluation et analyse des obligations en Python

Tracer l'échéance d'une obligation par rapport à 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 d'une obligation par rapport à 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ésumé

La duration d'une obligation augmente en cas de :

  • Échéance plus longue
  • Taux du 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...