Calculateur YTM
Une obligation de 1 000 à coupon de 5 %, achetée 950 avec 10 ans à courir, rapporte 5,668718 % à l'échéance, plus que son coupon car vous gagnez aussi la décote de 50. Saisissez nominal, coupon, prix, années et coupons par an. 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
- Prix
- 950
- Années
- 10
- Fréquence
- 1
- Périodes
- 10
- Paiement du coupon
- 50
- Coupon annuel
- 50
Le rendement à l'échéance est l'unique taux d'actualisation annualisé constant qui égalise les coupons restants de l'obligation et le nominal remboursé au prix que vous paieriez aujourd'hui. Négociateurs, conseillers et étudiants demandent ce taux dès qu'une cotation s'écarte du pair : une obligation à escompte doit rapporter plus que son coupon, une obligation à prime moins, et pour un zéro-coupon tout le rendement est le rappel vers le nominal. Ce calculateur de rendement à l'échéance accepte la valeur nominale, le taux de coupon annuel en pour cent, le prix de marché actuel et les années restantes jusqu'à l'échéance, puis résout l'identité classique de valeur actuelle pour le rendement annualisé.
Ce que signifie le rendement à l'échéance et comment l'identité des flux est résolue
Le rendement à l'échéance est le taux de rentabilité interne constant obtenu en achetant une obligation à coupon fixe au prix d'aujourd'hui et en la conservant jusqu'au remboursement, en réinvestissant chaque coupon à ce même taux. C'est l'unique taux d'actualisation annualisé qui égalise la valeur actuelle des coupons restants plus le nominal à l'échéance au prix de marché courant.
Avec des coupons annuels l'identité s'écrit : le prix égale l'annuité de coupon C multipliée par un moins un plus y élevé à moins n, le tout sur y, plus le nominal divisé par un plus y élevé à n. Lorsque les coupons arrivent m fois par an, la même identité s'écrit en unités de période : le coupon de période égale le coupon annuel divisé par m, le décompte N égale les années multipliées par m, et le taux de période r satisfait la somme actualisée des flux.
Le rendement annualisé renvoyé par ce calculateur est r multiplié par m, la cotation nominale équivalente d'obligation utilisée sur la plupart des termes. Une obligation négociée sous le nominal a un rendement supérieur à son taux de coupon ; une obligation au-dessus du nominal, un rendement inférieur au coupon ; une obligation au pair, un rendement égal au coupon. Un zéro-coupon est le cas C égal à zéro, donc la forme fermée est r égal au nominal sur le prix élevé à un sur N, moins un.
Comme le prix baisse lorsque le rendement monte, la correspondance est strictement monotone pour des coupons ordinaires non négatifs et un nominal positif, si bien que le solveur a exactement une racine économiquement pertinente supérieure à moins cent pour cent par période.
Où un calculateur de rendement à l'échéance prouve sa valeur
Conseillers en patrimoine et trésoreries utilisent le même chiffre lorsqu'un client demande si une municipale à prime ou une corporate à escompte est la détention la moins chère une fois le rappel au pair inclus, et non le seul coupon courant sur le prix.
Enseignants et plateformes LMS ont besoin d'un oracle déterministe pour les devoirs de revenu fixe qui demandent d'isoler y à partir de P, C, F et n sans terminal Bloomberg complet, y compris la forme fermée du zéro-coupon et l'identité au pair selon laquelle le rendement égale le taux de coupon. Les équipes de contenu peuvent opposer le rendement courant au vrai YTM sur une obligation à escompte afin que le lecteur voie pourquoi le raccourci coupon-sur-prix sous-estime le retour lorsque l'obligation s'accroît aussi jusqu'au nominal.
Une validation échouée ne consomme pas le solde.
Cas d’usage
Contrôles de portage jusqu'au remboursement au prix coté
Transformez le prix sale du courtier, le nominal, le coupon et les années restantes en YTM annualisé qu'un acheteur gagne réellement s'il conserve l'obligation jusqu'au remboursement.
Comparer escompte et prime
Comparez une obligation sous le pair à une obligation au-dessus du pair sur le vrai rendement à l'échéance, pas seulement le rendement courant, avant de choisir quelle structure de coupon détenir.
Devoirs de revenu fixe et corrigés LMS
Notez les problèmes qui demandent d'isoler y dans l'identité de prix de l'obligation, y compris les cas zéro-coupon et au pair, avec un oracle déterministe.
Questions fréquentes
Comment calcule-t-on le rendement à l'échéance d'une obligation ?
Le calculateur utilise Newton–Raphson avec un repli par bissection.
Quelle est la différence entre le YTM et le rendement courant ?
Le rendement courant n'est que le coupon annuel divisé par le prix d'aujourd'hui. Le YTM inclut aussi le gain ou la perte lorsque le prix s'accroît ou s'amortit jusqu'au nominal à l'échéance, si bien que le YTM d'une obligation à escompte est supérieur à son rendement courant.
Que se passe-t-il si le prix ou les années ne sont pas positifs ?
Un prix de marché ou une échéance restante nuls ou négatifs n'est pas un problème d'actualisation bien posé, donc aucun rendement n'est inventé et l'appel n'est pas facturé.
Puis-je modéliser un zéro-coupon ou une obligation au pair ?
Si le prix égale le nominal sur une obligation à coupon, le YTM égale le taux de coupon.
Puis-je calculer le rendement à l'échéance d'obligations à coupon semestriel ou mensuel ?
Oui. Choisissez 1, 2, 4 ou 12 versements de coupon par an. Le rendement est calculé par période de versement puis multiplié par le nombre de versements, ce qui donne le chiffre annuel affiché sur la plupart des fiches d'émission.
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/fin/bond-ytm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"face_value":1000,"coupon_rate":5,"price":950,"years":10}'const res = await fetch("https://api.kit.forhosting.com/fin/bond-ytm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"face_value": 1000,
"coupon_rate": 5,
"price": 950,
"years": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/bond-ytm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"face_value": 1000,
"coupon_rate": 5,
"price": 950,
"years": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/bond-ytm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"face_value":1000,"coupon_rate":5,"price":950,"years":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"face_value":1000,"coupon_rate":5,"price":950,"years":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/bond-ytm", 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": 5,
"price": 950,
"years": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.bond_ytm",
"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
Un prix ou des années non positifs échouent avec invalid_input au lieu d'inventer un taux.
Ce que signifie le rendement à l'échéance et comment l'identité des flux est résolue
Cet endpoint ne récupère ni cotations en direct, ni calendriers de décompte, ni spreads de crédit ; il résout l'identité de flux que vous fournissez afin que corrigés, widgets de page d'atterrissage et automatisation partagent un seul nombre auditable.
Contrat d'entrée, forme de la réponse et comportement d'erreur
Exemple : nominal mille, coupon de cinq pour cent, prix neuf cent cinquante, dix ans, fréquence annuelle produit une obligation à escompte dont le YTM annualisé se situe au-dessus de cinq pour cent parce que l'acheteur gagne aussi le rappel de neuf cent cinquante jusqu'au pair. Price et years sont les deux champs que le contrat produit met en avant : un prix ou une échéance nuls ou négatifs ne sont jamais remplacés en silence par une valeur absolue ni par une tenor par défaut. Envoyez en POST un corps JSON avec quatre nombres finis obligatoires : face_value strictement positif (alias face, par et par_value) ; coupon_rate comme pour cent annuel, par exemple cinq pour cinq pour cent, fini et au moins zéro afin qu'un vrai zéro-coupon soit autorisé (alias coupon_rate_percent et coupon) ; price, le prix sale de marché dans la même devise, qui doit être strictement positif (alias current_price et market_price) ; et years restantes jusqu'à l'échéance, strictement positif et au plus deux cents (alias years_to_maturity et n). frequency est optionnel, défaut un pour des coupons annuels, et doit valoir un, deux, quatre ou douze. decimals est optionnel, un entier de zéro à douze (défaut six) qui contrôle l'arrondi half-up des sorties numériques. En cas de succès le corps répète les entrées et ajoute periods (années multipliées par la fréquence), coupon_payment par période, annual_coupon, ytm en décimal, ytm_percent, current_yield_percent (coupon annuel sur le prix), premium_discount (prix moins nominal) et une chaîne formula qui reformule l'identité des flux. Champs manquants, valeurs non finies, face, price ou years non positifs, coupon_rate négatif ou frequency invalide échouent avec invalid_input en nommant le champ et ne sont pas facturés.
Où un calculateur de rendement à l'échéance prouve sa valeur
Les intégrateurs branchent l'endpoint sur des carnets, des flux n8n ou des edge workers pour figer des goldens lorsqu'un tableur de pricing change. Comme l'implémentation est pure parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant. Gardez price et years strictement positifs, figez les champs de rendement arrondis dans les tests, et vous obtenez des YTM annualisés reproductibles pour widgets, salles de classe et production sans monter votre propre bibliothèque de revenu fixe.
Questions techniques
Combien coûte le calculateur de YTM obligataire ?
L'outil du 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.