Calculateur de convexité obligataire
Pour une obligation à 10 ans, coupon de 5 % et rendement de 4 %, une hausse de 100 points de base fait passer le prix estimé d'au-dessus du pair à environ 1 000. Duration et convexité sont tirées des mêmes flux. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur nominale
- 1 000
- Taux du coupon (%)
- 5
- YTM (%)
- 4
- Années jusqu'à l'échéance
- 10
- Fréquence
- 2
- Variation du rendement (pb)
- 100
- Périodes
- 20
- Paiement du coupon
- 25
- Prix
- 1 081,757167
- Duration de Macaulay
- 8,080936
Le prix d'une obligation ne se déplace pas en ligne droite lorsque les rendements de marché sautent. La duration capture la pente de premier ordre de cette courbe prix-rendement ; la convexité capture la courbure que la duration seule sous-estime pour les grands mouvements de taux. Ce calculateur de convexité obligataire valorise une obligation à coupon fixe à partir de la valeur nominale, du taux de coupon annuel, du rendement à l'échéance, des années jusqu'à l'échéance et de la fréquence de paiement, puis renvoie la duration de Macaulay, la duration modifiée et la convexité annualisée du même échéancier de flux. Vous pouvez optionnellement indiquer un déplacement parallèle du rendement en points de base pour voir l'effet de duration, l'effet de convexité et un prix estimé via le développement classique de Taylor. Utilisez-le pour des notes de risque de taux, des exercices de revenu fixe, des contrôles de portefeuille et une automatisation qui doit affiner les prévisions de prix au-delà d'une pure approximation de duration.
Ce que mesure la convexité obligataire et pourquoi la duration ne suffit pas
La duration modifiée estime la variation de prix en pourcentage d'une obligation pour un petit mouvement parallèle du rendement : approximativement moins la duration modifiée multipliée par la variation de rendement. Cette approximation linéaire convient bien pour quelques points de base, mais sous-estime systématiquement les gains de prix lorsque les rendements baissent et surestime les pertes lorsqu'ils montent, car la relation réelle prix-rendement est convexe pour les obligations à coupon fixe ordinaires. La convexité quantifie cette courbure.
Avec la convexité annualisée Conv et un déplacement annuel de rendement Δy exprimé en décimal, le raffinement de second ordre est un demi multiplié par Conv multiplié par (Δy) au carré, ajouté au terme de duration. La formule combinée est la variation de prix en pourcentage approximativement égale à moins la duration modifiée multipliée par Δy plus un demi multiplié par la convexité multipliée par (Δy) au carré.
Une échéance plus longue, un coupon plus bas et un rendement plus bas tendent chacun à relever la convexité pour des obligations par ailleurs similaires, c'est pourquoi les zéros longs sont particulièrement sensibles aux grands écarts de taux au-delà de ce que la duration seule prédit. Ce calculateur ne récupère ni cotations en direct ni spreads de crédit ; il mesure la géométrie d'un échéancier de flux que vous fournissez afin que notes de risque, corrigés et automatisation partagent une identité auditable.
Associer duration et convexité est la pratique standard du revenu fixe dès que les chocs de scénario se comptent en dizaines ou centaines de points de base plutôt qu'en un seul tick.
Où un calculateur de convexité obligataire prouve sa valeur
Les gérants de portefeuille et les desks de risque utilisent un calculateur de convexité obligataire lorsqu'une note de choc de taux doit montrer à la fois l'impact linéaire de duration et le complément de second ordre de convexité pour un mouvement parallèle de cent points de base, afin que les parties prenantes voient pourquoi les obligations longues récupèrent plus à la baisse qu'une table purement en duration ne le suggère.
Les conseillers en patrimoine et les trésoreries comparent obligations à coupon et zéros pour expliquer pourquoi deux positions de duration modifiée similaire peuvent encore diverger sous de grands mouvements de rendement. Les enseignants et les plateformes LMS ont besoin d'un oracle déterministe pour les devoirs de revenu fixe qui demandent prix, duration de Macaulay, duration modifiée et convexité à partir des premiers principes sans terminal Bloomberg complet. Une validation échouée ne consomme pas le solde.
Gardez nominal et années positifs, figez les champs arrondis dans les tests, et vous obtenez des figures de convexité reproductibles pour carnets et production sans monter votre propre bibliothèque de revenu fixe.
Cas d’usage
Affiner le prix sous choc de taux
Combinez duration modifiée et convexité pour estimer la variation de prix d'une obligation face à de grands mouvements parallèles de rendement en points de base, pas seulement une estimation linéaire de duration.
Comparer structures à coupon et zéros
Maintenez la duration modifiée à peu près constante et inspectez la convexité pour voir quelle forme de flux amortit mieux les grands écarts de taux.
Devoirs de revenu fixe et corrigés LMS
Notez les problèmes demandant prix, duration de Macaulay, duration modifiée et convexité annualisée avec un oracle déterministe de flux de trésorerie.
Questions fréquentes
Comment calcule-t-on la convexité d'une obligation ?
À partir des flux de l'obligation : Conv = Σ[CF_k · k · (k+1) / (1+r)^k] / [P · (1+r)² · m²], où r est le rendement de période, m le nombre de paiements par an et P le prix dirty du même échéancier.
Comment la convexité améliore-t-elle l'estimation de variation de prix ?
La duration seule est linéaire. Ajouter ½ · Conv · (Δy)² capture la courbure : les fortes hausses de rendement paraissent moins sévères et les fortes baisses plus favorables pour les obligations à coupon fixe ordinaires.
Quand la duration seule ne suffit-elle plus à estimer la variation de prix ?
Quand les taux bougent de dizaines ou de centaines de points de base. La duration est une approximation linéaire valable pour de petits mouvements, mais elle sous-estime les gains quand le rendement baisse et exagère les pertes quand il monte.
Pourquoi les obligations longues sans coupon sont-elles si sensibles aux fortes variations de taux ?
Parce qu'une échéance plus longue, un coupon plus faible et un rendement plus bas augmentent la convexité. Une obligation longue sans coupon cumule les deux premières conditions : c'est son prix qui se courbe le plus.
Quelles fréquences de coupon le calculateur accepte-t-il ?
Des paiements annuels, semestriels, trimestriels ou mensuels, la fréquence semestrielle étant proposée par défaut. Les années jusqu'à l'échéance multipliées par les paiements annuels doivent donner un nombre entier de périodes, par exemple 20 pour une obligation semestrielle à 10 ans.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/finance/bond-convexity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"face_value":1000,"coupon_rate_percent":5,"ytm_percent":4,"years_to_maturity":10}'const res = await fetch("https://api.kit.forhosting.com/finance/bond-convexity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"face_value": 1000,
"coupon_rate_percent": 5,
"ytm_percent": 4,
"years_to_maturity": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/bond-convexity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"face_value": 1000,
"coupon_rate_percent": 5,
"ytm_percent": 4,
"years_to_maturity": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/bond-convexity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"face_value":1000,"coupon_rate_percent":5,"ytm_percent":4,"years_to_maturity":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"face_value":1000,"coupon_rate_percent":5,"ytm_percent":4,"years_to_maturity":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/bond-convexity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"face_value": 1000,
"coupon_rate_percent": 5,
"ytm_percent": 4,
"years_to_maturity": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.bond_convexity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Une entrée invalide échoue avec invalid_input et n'est pas facturée.
Contrat d'entrée, formules, arrondi et exemples travaillés
En interne le taux de période est r égal à ytm divisé par frequency, le coupon est le nominal multiplié par le taux de coupon divisé par frequency, et le prix est la valeur actuelle de tous les coupons plus le nominal à l'échéance. La duration de Macaulay en années est le temps moyen de paiement pondéré par la valeur actuelle ; la duration modifiée est Macaulay divisée par un plus r ; la convexité annualisée est la somme du flux multiplié par k multiplié par (k plus un) actualisée, divisée par le prix multiplié par (un plus r) au carré multiplié par frequency au carré. Envoyez en POST un corps JSON avec quatre nombres finis obligatoires : face_value strictement positif, coupon_rate_percent supérieur ou égal à zéro (zéro modélise une obligation pure d'escompte), ytm_percent comme rendement annuel capitalisé à la fréquence de coupon, et years_to_maturity strictement positif. frequency est optionnel, défaut deux pour des coupons semestriels, et doit valoir un, deux, quatre ou douze ; années multipliées par fréquence doit être un entier positif de périodes de coupon. yield_change_bp optionnel est le déplacement parallèle du rendement en points de base pour l'estimation de Taylor. decimals optionnel est un entier de zéro à douze (défaut six) qui contrôle l'arrondi half-up des sorties numériques. Exemple : nominal mille, coupon cinq pour cent, rendement quatre pour cent, dix ans, fréquence semestrielle produit un prix en prime au-dessus du pair, une duration modifiée pluriannuelle et une convexité positive ; en ajoutant yield_change_bp de cent on obtient duration_effect, convexity_effect, estimated_price_change, estimated_price et estimated_percent_change. Champs manquants, valeurs non finies, nominal ou échéance non positifs, coupon négatif, frequency invalide, rendement trop négatif rendant un plus r non positif, ou un nombre non entier de périodes échouent avec invalid_input et ne sont pas facturés.
Où un calculateur de convexité obligataire prouve sa valeur
Les intégrateurs branchent l'endpoint sur n8n, des edge workers ou des tableurs de pricing internes pour figer des goldens de régression lorsque les hypothèses de flux changent.
Questions techniques
Quelles entrées le calculateur de convexité obligataire exige-t-il ?
Obligatoires : face_value, coupon_rate_percent, ytm_percent, years_to_maturity. Optionnelles : frequency (défaut 2), yield_change_bp pour l'estimation de Taylor, et decimals pour l'arrondi.
Puis-je modéliser une obligation zéro-coupon ?
Oui. Mettez coupon_rate_percent à zéro. Le seul flux est face_value à l'échéance ; duration et convexité découlent de ce paiement unique.
Combien coûte le calculateur de convexité obligataire ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.