Projet · 2025—2026
Taux sans risque effectif
Le taux sans risque n'est pas un seul chiffre. Il dépend de l'échéance, du marché et de la convention que le calcul attend. Ce moteur règle la question. Choisissez une date, prenez les États-Unis ou le Canada, et obtenez le taux effectif dans la forme exacte requise par chaque application, à partir de deux courbes en direct côte à côte.
01 Aperçu
Un taux, exprimé comme chaque usage l'exige
Demandez le taux sans risque à trois pupitres et vous obtenez trois réponses. Le pupitre d'options veut un taux continu en base ACT/365 pour Black-Scholes. Le pupitre obligataire veut un rendement équivalent obligataire semestriel. Le pupitre monétaire veut un taux simple, et la base est ACT/360 aux États-Unis mais ACT/365 au Canada. Même idée, habits différents.
Je voulais un outil qui garde l'idée fixe et ne change que les habits. Tout le moteur repose sur une seule primitive, le facteur d'actualisation pour un horizon donné. Chaque taux coté en découle, donc le taux d'options, le taux obligataire, le taux monétaire et le taux à terme implicite restent cohérents entre eux par construction.
Il couvre deux marchés. Les États-Unis, avec les rendements du Trésor via FRED et le SOFR pris directement auprès de la Fed de New York qui le publie, et le Canada, via la Banque du Canada. Chaque marché montre une courbe zéro gouvernementale et une courbe ancrée sur le taux à un jour, pour lire d'un coup le taux sans risque et le taux de financement.
Le bon taux est celui coté dans la convention que votre modèle suppose déjà. Le reste est une erreur d'arrondi qui attend son heure.
02 Ce qu'il calcule
À partir du facteur d'actualisation
Une primitive, quatre conventions, deux courbes, deux marchés.
Toutes les conventions
Continu ACT/365 pour les grecques d'options, équivalent obligataire semestriel pour la valorisation, et taux monétaires simples sur la bonne base ACT/360 ou ACT/365. Le tout à partir d'un seul facteur d'actualisation.
Deux courbes par marché
Une courbe zéro gouvernementale amorcée à partir des taux au pair, et une courbe ancrée sur le taux à un jour réalisé. Lisez le taux sans risque et le taux de financement l'un contre l'autre.
Toute échéance
Saisissez une date ou une durée jusqu'à l'échéance et la courbe est interpolée sur-le-champ, de façon log-linéaire sur le facteur d'actualisation, ce qui maintient le taux à terme constant entre les nœuds. Des pastilles rapides mènent aux fenêtres publiées, de 1 mois à 30 ans. L'axe du graphique est un choix distinct : linéaire sur les six premiers mois, puis logarithmique, de sorte qu'une option à trois mois et une obligation à trente ans restent toutes deux lisibles sur un même axe.
Taux à terme implicites
Choisissez deux dates futures et obtenez le taux à terme entre elles, sous forme continue et simple, directement à partir du rapport des facteurs d'actualisation.
Là où s'arrêtent les données
La courbe à un jour est constituée de données publiées jusqu'à 180 jours. Au-delà, elle devient une approximation étiquetée, car aucun flux gratuit ne porte de cotations de swap OIS. L'outil trace la limite sur le graphique et la signale dans le tableau.
Conçu pour la lecture
Choisissez un marché, puis travaillez en français ou en anglais, en thème clair ou sombre. Un onglet méthodologie liste les séries exactes derrière chaque courbe avec leur propre date d'observation.
03 Sous le capot
Le calcul des courbes en Python, la valorisation dans le navigateur
Une tâche Python planifiée récupère les données et amorce les courbes. Les taux au pair gouvernementaux passent par la récurrence obligataire au pair semestrielle standard vers les facteurs d'actualisation zéro-coupon. Le court terme ancré sur le taux à un jour est authentique : côté américain, ce sont les moyennes SOFR officielles à 30, 90 et 180 jours de la Fed de New York, et côté canadien l'indice composé CORRA, où le facteur d'actualisation sur une fenêtre est le rapport exact réalisé de l'indice, sans aucune hypothèse de décompte des jours.
La version d'origine faisait tourner un petit serveur qui gardait la clé FRED et valorisait à la demande. Pour la version publique je l'ai retournée. La tâche écrit un instantané statique par marché, et le calcul de valorisation est porté dans le navigateur, donc l'interpolation du facteur d'actualisation et sa conversion dans chaque convention se font sur votre appareil. Aucun serveur à faire tourner, aucune clé exposée, et le chargement est instantané.
Une action GitHub reconstruit les deux marchés chaque jour ouvrable à 9 h 00 (HE), puis valide les instantanés pour que le site se redéploie tout seul. La clé FRED n'existe que comme secret chiffré du dépôt. Les flux de la Fed de New York et de la Banque du Canada ne demandent aucune clé.
04 Méthode
La courbe, écrite noir sur blanc
Deux décisions définissent une courbe. Ce qui se trouve aux nœuds, et ce qui se passe entre eux. La première est une question de données et la section précédente y répond. La seconde est un choix de modélisation, et c'est celle que la plupart des outils laissent dans l'ombre.
La primitive
Tout est facteur d'actualisation. Le taux zéro continu n'est pas un second objet, c'est le même nombre lu sur une échelle logarithmique.
Interpolation : log-linéaire sur les facteurs d'actualisation
Entre deux nœuds, la courbe interpole linéairement dans le temps le logarithme du facteur d'actualisation. Chaque valeur que le calculateur renvoie à une échéance qui n'est pas un terme publié provient de cette seule règle.
Pourquoi cette méthode plutôt qu'une autre
Trois raisons, par ordre d'importance ici.
Elle est sans arbitrage par construction. Tant que les nœuds ont des facteurs d'actualisation décroissants, aucun point interpolé ne peut produire un taux à terme négatif, car le taux à terme sur chaque intervalle est une constante unique déduite des extrémités. La propriété est structurelle plutôt qu'à vérifier après coup.
Elle reproduit les nœuds exactement. Demandez le taux à 180 jours et la moyenne SOFR publiée ressort inchangée plutôt qu'approchée, ce qui est précisément l'aller-retour sur lequel s'appuie la section Provenance.
Elle n'oscille pas. Une spline cubique passant par les mêmes nœuds paraît plus lisse et le paie en taux à terme qui ondulent entre les points, devenant parfois négatifs près d'une cassure dans les rendements d'entrée. Le compromis est mauvais pour une courbe dont tout le métier est d'être lue à des échéances arbitraires. La méthode monotone convexe est la véritable marche au-dessus et c'est la bonne réponse quand il faut des taux à terme lisses et bien tenus pour un modèle de structure par terme. Pour coter un facteur d'actualisation, elle apporte très peu par rapport aux taux à terme constants par morceaux, et elle coûte la reproduction exacte des nœuds évoquée plus haut.
D'où viennent les nœuds
Les taux au pair gouvernementaux sont amorcés sur une grille semestrielle. Chaque nœud est résolu à partir des précédents, ce qui est la récurrence obligataire au pair standard écrite comme une substitution avant.
Le court terme à un jour n'est pas amorcé du tout, car les administrateurs publient directement la capitalisation réalisée. Une moyenne SOFR sur une fenêtre est un taux monétaire simple, et l'indice composé CORRA est un niveau dont le rapport est déjà un facteur d'actualisation sans aucune hypothèse de décompte des jours.
Au-delà de la dernière fenêtre à un jour publiée, la courbe est une approximation étiquetée, et voici la formule ainsi étiquetée. Un écart unique est mesuré à l'ancrage puis ajouté à la courbe zéro gouvernementale, de sorte que la forme au-delà de ce point est celle de la courbe gouvernementale et ne porte aucune information indépendante sur le taux à un jour.
Lire le facteur d'actualisation
Les conventions relèvent de la cotation, pas de la modélisation. Un facteur d'actualisation, quatre façons de le dire, avec d le nombre réel de jours calendaires jusqu'à l'échéance.
r_contcontinu ACT/365, le taux que Black-Scholes attend dans e−rTr_semiéquivalent obligataire semestriel, pour la valorisation obligatairer_360simple ACT/360, marché monétaire et swaps américains;r_365est la même idée en base canadienne
Les taux à terme découlent de la même primitive sous forme de rapport, ce qui explique qu'ils ne puissent pas contredire les taux au comptant ci-dessus.
Ce que la construction refuse de publier
Les formules ne valent que les données qui les traversent, donc la tâche quotidienne valide avant d'écrire. Une courbe doit avoir des facteurs d'actualisation strictement décroissants, ce qui revient à dire aucun taux à terme négatif nulle part, et chaque taux zéro stocké doit faire l'aller-retour avec son propre facteur d'actualisation. La nouvelle courbe est ensuite comparée à l'instantané de la veille, et un mouvement au-delà du seuil sur n'importe quel terme fait échouer l'exécution. Un marché qui échoue conserve son fichier précédent et l'action passe au rouge. Rien de cassé n'atteint le site en silence.
Chaque instantané accepté est conservé sous sa propre date au lieu d'écraser un fichier unique, donc la sortie est une série temporelle interrogeable, pas seulement une lecture en direct.
Le calcul ci-dessus est testé, pas simplement affirmé. La récurrence obligataire au pair est vérifiée contre sa forme fermée, chaque convention fait l'aller-retour vers le facteur d'actualisation dont elle provient, l'identité des taux à terme est contrôlée, et le portage vers le navigateur est extrait du JavaScript livré puis exécuté contre le moteur Python sur les instantanés en production, de sorte que les deux ne peuvent pas diverger. La suite tourne à chaque poussée.
La tâche de rafraîchissement exécute cette suite avant d'avoir le droit de toucher aux données. Un test qui échoue arrête l'exécution, donc un instantané ne peut atteindre ce site que si la suite est passée sur le commit même qui l'a produit. L'état ci-dessous est lu dans l'instantané publié plutôt que sur un serveur de build, suivant le même principe que le reste de la page : montrer l'artefact, pas une affirmation à son sujet.
05 Provenance
Allez au pupitre qui publie le chiffre
Le SOFR est d'abord entré dans le moteur par FRED, ce qui était commode et faux d'un cran. FRED redistribue le SOFR. La Fed de New York l'administre. Remonter d'un maillon dans la chaîne a coûté un après-midi et rapporté trois choses : la précision publiée complète, cinq décimales sur les moyennes là où la copie redistribuée les avait arrondies; des données le matin même plutôt qu'un décalage de plusieurs jours; et l'indice SOFR officiel, accompagné des indicateurs de révision qui signalent qu'une publication a été corrigée.
Il existe un test discret pour savoir si une courbe respecte ses intrants. Demandez à celle-ci le taux à 180 jours en base simple ACT/360 et elle rend la moyenne à 180 jours publiée par la Fed de New York, inchangée. Le facteur d'actualisation n'est pas une approximation du chiffre officiel, c'est le chiffre officiel dans une autre convention. Tout ce que le moteur en dérive à cet horizon hérite de la même fidélité.
Cette précision a aussi clarifié où commence l'honnêteté. La courbe à un jour est constituée de données réellement publiées jusqu'à 180 jours, de sorte qu'une option à six mois est valorisée sur un taux réel, pas sur une inférence. Au-delà de 180 jours, le moteur n'a aucune cotation de swap OIS pour amorcer, et il le dit plutôt que de prolonger discrètement une ligne. Savoir exactement où s'arrêtent les preuves est la partie que la plupart des outils passent sous silence.
Un chiffre ne vaut que la distance qui vous sépare de celui qui l'a calculé.
Le SOFR, les moyennes SOFR et l'indice SOFR proviennent de la Federal Reserve Bank of New York; les rendements au pair du Trésor américain de FRED (Banque fédérale de réserve de Saint-Louis); les rendements de référence canadiens, les bons du Trésor et le CORRA de la Banque du Canada. Rafraîchi chaque jour ouvrable. Usage éducatif seulement, pas un conseil en placement. La courbe ancrée sur le taux à un jour, au-delà de son ancrage à 180 jours, est une approximation étiquetée, pas une courbe d'actualisation OIS amorcée.
Obtenez le taux dans la bonne convention
Choisissez un marché et une échéance, et lisez le taux sans risque effectif comme votre modèle l'attend.