Quatre nombres pour toute une courbe
Le marché cote les rendements du Trésor américain à dix échéances, de 3 mois à 30 ans, mais une banque a besoin d'un taux pour chaque date. Dans ce projet final, vous décrivez toute la courbe avec les quatre nombres du modèle de Nelson–Siegel : un niveau de long terme β₀, une pente β₁, une bosse β₂ et une longueur de décroissance λ en années. Vous les calibrez sur les cotations avec scipy.optimize.least_squares, en partant de plusieurs valeurs de λ car la courbe n'est pas linéaire en λ, et vous gardez l'ajustement de coût le plus bas. À partir de la courbe ajustée, vous lisez un taux à terme, et vous intégrez la courbe de taux à terme instantané avec integrate.quad pour obtenir un facteur d'actualisation D(T)=e^(-A/100), où A est l'aire sous la courbe à terme en pourcentage.
La même courbe valorise une obligation. Chaque flux est actualisé avec le rendement de sa propre échéance, P=Σcᵢ e^(-y(tᵢ)tᵢ/100), et le rendement à l'échéance est le taux unique qui redonne le prix, trouvé avec optimize.brentq. Les options fonctionnent de la même façon : la volatilité implicite est la racine de bs_call(σ)-prix, encore trouvée avec brentq. Les cotations d'options réelles ne font pas partie des données partagées, donc vous testez le smile sur des prix que vous générez avec la fonction fournie bs_call, et vous ajustez le smile σ(m)=a+b m+c m² en log-moneyness m=ln(K/S) par moindres carrés. Chaque fonction est notée sur des entrées aléatoires face à une référence indépendante, et le dernier test exécute toute votre étude sur le vrai fichier du Trésor.
- Calibrer depuis plusieurs départs : la longueur de décroissance rend l'ajustement non linéaire, donc un seul départ peut s'arrêter sur une mauvaise courbe.
- Vérifier par un second chemin : le facteur d'actualisation de la courbe à terme intégrée doit égaler celui obtenu à partir du rendement.
- Les racines valorisent le marché : un rendement à l'échéance et une volatilité implicite sont deux racines trouvées avec brentq sur une erreur de prix.
Lab : ce qui est noté
- La courbe cotée d'un jour5 pts
- Le rendement de Nelson–Siegel10 pts
- Calibrer la courbe15 pts
- Un taux à terme10 pts
- Un facteur d'actualisation à partir des taux à terme10 pts
- Un prix d'obligation depuis la courbe10 pts
- Un rendement à l'échéance10 pts
- Une volatilité implicite10 pts
- Un smile quadratique10 pts
- La calibration complète10 pts