B - Le Marché des IOUs
Les gouvernements et les grandes entreprises ont besoin d'emprunter des milliards d'euros pour construire des ponts, poser des câbles à fibre optique ou lancer des satellites. Comme aucune banque ne souhaite prendre autant de risques à elle seule, ils émettent des millions de petites promesses écrites appelées Obligations (Bonds) et les vendent au public.
1. Obligation
Une obligation est tout simplement une reconnaissance de dette (IOU - "I Owe You") formalisée et négociable. Lorsque vous achetez une obligation, vous prêtez votre argent à l'émetteur. Chaque obligation comporte trois caractéristiques clés :
- Valeur Nominale (Face Value / Par Value) : Le montant que vous prêtez aujourd'hui et que l'émetteur promet de vous rembourser à la toute fin (ex. : 100 €).
- Échéance (Maturity) : La durée de l'emprunt (ex. : 5 ans).
- Taux de Coupon (Coupon Rate) : Le loyer annuel fixe que l'émetteur vous verse tant qu'il dispose de votre argent (ex. : 5 %, ce qui équivaut à 5 € par an pour une obligation de 100 €).
Nous pouvons exprimer le paiement du coupon annuel mathématiquement :
2. Effet Balançoire
Les obligations ne sont pas bloquées dans un coffre-fort. Si vous achetez une obligation à 5 ans aujourd'hui, vous pouvez la revendre à un autre investisseur dès demain sur le marché secondaire.
Mais combien ce dernier va-t-il vous la racheter ? Le prix de marché d'une obligation fluctue constamment en raison de l'Effet Balançoire :
- Si les taux du marché montent : Imaginez que vous déteniez une obligation qui verse un coupon de 5 %. Le lendemain, la banque centrale augmente les taux d'intérêt généraux, et les nouvelles obligations commencent à payer 7 %. Si vous essayez de vendre votre obligation à 5 % pour 100 €, personne ne l'achètera ! Pourquoi acheter votre obligation à 5 €/an quand on peut en acheter une nouvelle à 7 €/an ? Pour attirer un acheteur, vous devez baisser votre prix de vente en dessous de 100 € (vente avec une Décote).
- Si les taux du marché baissent : Si les taux d'intérêt généraux descendent à 3 %, votre obligation à coupon fixe de 5 % devient soudainement très attractive. Tout le monde veut l'acheter, ce qui fait monter son prix au-dessus de 100 € (vente avec une Surcote).
IMPORTANT 🤔
La Règle de la Balançoire : Quand les taux d'intérêt du marché montent, le prix des obligations existantes baisse. Quand les taux baissent, le prix des obligations monte.
3. Prix d'une Obligation
Valeur Actuelle (PV) vs. Valeur Future (FV) ❗
Pour comprendre l'évaluation des obligations, rappelons deux concepts clés :
- Valeur Future (FV) : La valeur d'un paiement à recevoir à une date future spécifique (par exemple, un coupon de 5 € dans 3 ans). Pour calculer la FV à partir d'aujourd'hui, on la capitalise vers l'avant :
- Valeur Actuelle (PV) : La valeur de ce flux de trésorerie futur aujourd'hui. Parce que l'argent peut être loué pour générer des intérêts (
), un paiement reçu dans le futur vaut moins aujourd'hui. Pour calculer la PV, on actualise la FV dans le passé :
Pour trouver le juste prix de marché d'une obligation aujourd'hui (
Où :
est le prix de marché actuel de l'obligation. est le paiement de coupon annuel fixe. est la valeur nominale de l'obligation (ex. : ). est le taux d'intérêt actuel du marché (taux d'actualisation). est le nombre d'années restant avant l'échéance.
Si vous achetez une obligation avec une décote pour 95 € :
- Vous recevez les coupons annuels fixes.
- À l'échéance, l'émetteur vous rembourse la totalité de la valeur nominale de 100 €.
Ce gain supplémentaire de 5 € fait partie de votre rendement ! Le rendement annuel total que vous obtenez (incluant les coupons et le gain en capital lié à l'achat décoté) est appelé le Taux de Rendement à l'Échéance (YTM - Yield to Maturity).
À l'approche de la date d'échéance (
TIP 🤔
À l'échéance (
4. Simulateur d'Obligation
Utilisez le simulateur interactif ci-dessous pour voir comment les variations des taux d'intérêt du marché influencent le prix de votre obligation. Observez l'Effet Balançoire en action, consultez les flux de trésorerie année par année dans le tableau, et regardez la courbe de Pull to Par converger vers 100 € à l'échéance !
5. La Courbe des Taux
Pourquoi prêter de l'argent à l'État pendant 10 ans rapporte-t-il généralement un taux d'intérêt plus élevé que de lui prêter pendant 10 jours ? Parce que le temps ajoute de l'incertitude :
- Risque d'Inflation : Les prix peuvent grimper en 10 ans, réduisant votre pouvoir d'achat.
- Coût d'Opportunité : Votre argent est bloqué et ne peut pas être utilisé pour d'autres investissements.
Si vous tracez sur un graphique les taux d'intérêt d'obligations ayant des échéances différentes (de 1 mois à 30 ans), vous obtenez la Courbe des Taux (Yield Curve). Normalement, elle est ascendante car les investisseurs exigent un loyer plus élevé pour des durées plus longues.
Utilisez le visualiseur interactif ci-dessous pour construire votre propre courbe des taux. Regardez comment la modification des taux pour des années spécifiques influe sur la valeur actuelle des flux d'une obligation à coupon de 5 %, et essayez d'inverser la courbe !
💻 Script Python
Calculons le juste prix d'une obligation par programmation en utilisant les taux d'intérêt d'une courbe des taux. Ce script calcule le prix d'une obligation à 5 ans versant un coupon de 5 % (5 €/an) à l'aide d'une courbe des taux ascendante par défaut.
Vous trouverez le script associé ici : 2-bond-pricing.py
# Parametres par defaut du simulateur (aucun accent dans le code ni dans les commentaires)
coupon = 5.0 # Coupon annuel de 5.0 EUR (taux de coupon de 5% sur une valeur nominale de 100 EUR)
principal = 100.0 # Valeur nominale de 100.0 EUR
years = 5 # 5 ans avant echeance
# Courbe des taux par defaut du visualisateur (Yr 1: 3%, Yr 2: 4%, Yr 3: 4.8%, Yr 4: 5.5%, Yr 5: 6.0%)
spot_rates = [0.03, 0.04, 0.048, 0.055, 0.06]
# Calcul du prix de l'obligation comme la somme des flux de tresorerie actualises
bond_price = sum(coupon / (1 + spot_rates[t - 1])**t for t in range(1, years + 1)) + (principal / (1 + spot_rates[years - 1])**years)
print(f"--- Evaluation de l'Obligation sous une Courbe des Taux ---")
print(f"Taux de Coupon: 5.0%")
print(f"Annees a Courir: {years}")
print(f"Taux de la Courbe: " + ", ".join(f"An {i+1}: {r*100:.1f}%" for i, r in enumerate(spot_rates)))
print(f"Juste Prix Calcule: {bond_price:.2f} EUR (Decote de {principal - bond_price:.2f} EUR)")Pour exécuter ce script en local, tapez :
python3 python/2-bond-pricing.py