Calculateur de prime à terme
Un cours au comptant de 1,20 et un cours à terme à 90 jours de 1,23 s'écartent de 0,025, soit une prime à terme annualisée de 0,10, ou 10 % par an sur base 360. Un cours à terme sous le comptant ressort en décote. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taux au comptant
- 1,2
- Taux à terme
- 1,23
- Jours
- 90
- Base annuelle
- 360
- Prime brute
- 0,025
- Prime
- 0,1
- Prime (%)
- 10
La prime à terme annualisée (ou la décote) mesure de combien un cours de change à terme se situe au-dessus ou au-dessous du cours spot correspondant, ramené à une année de marché monétaire de 360 jours afin de comparer des échéances de durées différentes. Trésoriers, salles de FX et candidats aux examens ont besoin de ce chiffre comme décimal à insérer dans un modèle, et non comme un pourcentage qu'il faudrait encore diviser par cent.
Ce que signifie la prime à terme annualisée et comment la formule à 360 jours fonctionne
La prime à terme annualisée est la manière du marché monétaire de coter l'écart entre un cours de change à terme et le cours spot sur une base annuelle comparable. Un terme à quatre-vingt-dix jours situé deux et demi pour cent au-dessus du spot n'est pas une prime annuelle de deux et demi pour cent : c'est une prime annualisée de dix pour cent, parce que ces deux et demi pour cent s'accumuleraient quatre fois dans une année de 360 jours.
L'année de 360 jours est la convention FX et de marché monétaire utilisée dans les questions de prime à terme de style CFA et sur la plupart des blotters de salle ; ce n'est pas une année civile de 365 jours ni un décompte actual-over-actual. Un p positif signifie que le terme est au-dessus du spot (prime à terme) ; un p négatif signifie que le terme est au-dessous (décote à terme) ; un p nul signifie que les deux cours sont égaux (par).
Le résultat est un décimal, si bien que 0.10 vaut dix pour cent par an, comme les taux d'intérêt dans un tableur. Cette page n'implique pas la parité des taux d'intérêt couverte, n'interpole pas une courbe à terme et ne convertit pas des pips en outright ; elle annualise seulement l'écart relatif simple (F moins S) sur S.
Où un calculateur de prime à terme justifie son usage
Les salles de FX et les trésoreries d'entreprise utilisent un calculateur de prime à terme lorsqu'elles ont besoin d'un seul nombre annualisé pour comparer un outright à un mois avec un outright à trois mois, ou pour expliquer pourquoi un terme coté est en prime ou en décote face au spot.
Les générateurs de préparation aux examens et les devoirs de style CFA ont besoin d'un oracle déterministe qui refuse un spot nul et une échéance non positive au lieu d'afficher Infinity en silence, chiffre qu'un correcteur défectueux pourrait traiter comme un succès.
Cette page n'est pas un solveur de parité des taux d'intérêt qui exigerait des rendements domestiques et étrangers, ni un convertisseur de pips, ni un outil de yield to maturity, ni le calculateur de taux d'actualisation à valeur actuelle qui a déjà sa page : ces requêtes sont d'autres intentions de recherche. Gardez les requêtes petites, figez premium arrondi dans les tests, et vous obtenez des chiffres de prime à terme reproductibles pour tableurs, plugins LMS et workers de bord sans dresser un service de tableur.
Lorsque vous aurez ensuite besoin d'un taux d'actualisation à partir d'une valeur actuelle et d'une valeur future, passez à cette identité plutôt que d'étirer ce contrat à trois champs conçu pour le FX.
Cas d’usage
Comparer des outrights d'échéances différentes sur une seule échelle annualisée
Transformez un spot, un terme et les jours restants en une prime décimale signée afin de classer un outright à 30 jours et un outright à 90 jours sur la même année de 360 jours.
Questions fréquentes
Que se passe-t-il si le cours spot vaut zéro ?
Lorsque le cours spot vaut zéro, (F − S) / S est indéfini, donc l'identité ne peut pas être évaluée et l'appel n'est pas facturé.
Pourquoi utiliser une année de 360 jours ?
C'est la convention du marché monétaire pour les changes à terme, utilisée par la plupart des salles de marché et dans les questions de type CFA. Ce n'est ni l'année civile de 365 jours ni un décompte des jours réels, de sorte que le résultat correspond aux cotations.
Que signifie un résultat négatif ?
Que le cours à terme est inférieur au comptant : il cote avec une décote. Un résultat positif est une prime à terme, et zéro signifie que les deux cours sont égaux, ce qu'on appelle le pair.
La durée du contrat se saisit-elle en jours ou en années ?
En jours calendaires restant jusqu'au règlement. Un contrat à 90 jours se saisit 90, et non 0,25 an. La durée doit être supérieure à zéro ; sinon, il n'y a rien à annualiser.
Le calcul applique-t-il la parité des taux d'intérêt ?
Non. Il annualise seulement l'écart relatif entre le cours à terme et le comptant. Il ne suppose pas la parité couverte des taux, ne construit pas de courbe à terme et ne convertit pas des points de change en cours complet.
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/forward-premium \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"spot_rate":1.2,"forward_rate":1.23,"days":90}'const res = await fetch("https://api.kit.forhosting.com/fin/forward-premium", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"spot_rate": 1.2,
"forward_rate": 1.23,
"days": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/forward-premium",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"spot_rate": 1.2,
"forward_rate": 1.23,
"days": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/forward-premium", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"spot_rate":1.2,"forward_rate":1.23,"days":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"spot_rate":1.2,"forward_rate":1.23,"days":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/forward-premium", 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
{
"spot_rate": 1.2,
"forward_rate": 1.23,
"days": 90
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.forward_premium",
"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
Ce calculateur de prime à terme accepte un cours spot fini, un cours à terme fini et une échéance contractuelle positive en jours, puis renvoie p égal à (F moins S) sur S fois 360 sur days. Lorsque le cours spot vaut zéro, l'identité est indéfinie ; lorsque days n'est pas positif, il n'y a pas d'échéance à annualiser. Ces cas échouent avec invalid_input et ne sont pas facturés.
Ce que signifie la prime à terme annualisée et comment la formule à 360 jours fonctionne
L'identité que ce calculateur évalue est p égal à (F moins S) divisé par S, fois 360 divisé par days, où F est l'outright à terme, S le spot et days l'échéance contractuelle restante.
Contrat d'entrée, spot nul, days non positif et forme de la réponse
Les deux erreurs de domaine contractuelles sont un cours spot égal à zéro et une échéance qui n'est pas positive. Lorsque days vaut zéro ou est négatif, il n'y a pas d'échéance à ramener à une année de 360 jours, et le gestionnaire refuse aussi. Les termes négatifs finis sont admis : la formule est un écart relatif, et une prime négative est une décote, non une erreur. Une validation en échec ne consomme pas de solde. Envoyez par POST un corps JSON avec trois nombres finis obligatoires. spot_rate est le spot outright actuel (alias spot, S et spot_price). forward_rate est l'outright à terme de l'échéance du contrat (alias forward, F, fwd et forward_price). days est l'échéance contractuelle en jours calendaires restant jusqu'au règlement (alias contract_days, tenor_days, n et days_to_maturity) et doit être strictement supérieur à zéro ; un terme à quatre-vingt-dix jours utilise 90, pas 0.25 année. Chaque champ peut arriver comme nombre JSON ou comme chaîne numérique ; champs manquants, chaînes vides, infinis et valeurs non numériques échouent avec invalid_input en nommant le champ et ne sont pas facturés. Lorsque spot_rate vaut zéro, (F moins S) sur S est indéfini, donc le gestionnaire refuse la requête au lieu de renvoyer Infinity. En cas de succès, le corps répète les trois entrées, indique year_basis égal à 360, renvoie raw_premium comme le (F moins S) sur S non annualisé, premium comme le décimal annualisé, premium_percent comme ce décimal fois cent, kind comme premium, discount ou par, et une chaîne formula qui réénonce l'identité. Exemple : spot 1.20, terme 1.23, days 90 donnent raw_premium 0.025 et premium 0.10.
Où un calculateur de prime à terme justifie son usage
Les équipes produit branchent le même contrat sur les démonstrations d'accueil afin que quiconque saisit 1.20, 1.23 et 90 voie le même premium que l'API renverra ensuite dans les tests de production. Comme l'implémentation est parse pure de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant.
Cas d'intégration
Clés de salle de classe et de devoirs de style CFA
Générez des clés reproductibles de p = ((F − S) / S) × (360 / days) qui refusent un spot nul et une échéance non positive au lieu d'imprimer Infinity.
Démonstrations produit et fixtures de CI
Alimentez widgets de comparaison et tests automatisés avec des valeurs de premium déterministes qui coïncident octet par octet avec le widget gratuit du navigateur.
Questions techniques
Comment la prime à terme annualisée est-elle calculée ?
L'identité est p = ((F − S) / S) × (360 / days), où F est l'outright à terme, S le spot et days l'échéance du contrat. L'API renvoie ce résultat comme premium (décimal) et premium_percent.
Le résultat est-il un pourcentage ou un décimal ?
Un décimal. Une prime de 0.10 signifie une prime à terme annualisée de dix pour cent, et non dix pour cent écrit comme l'entier dix. premium_percent est le même chiffre multiplié par cent pour l'affichage.
Et si les jours de contrat valent zéro ou sont négatifs ?
La tâche échoue avec invalid_input. days doit être un nombre fini supérieur à zéro ; une échéance nulle ou négative ne peut pas être annualisée sur une année de 360 jours et n'est pas facturée.
Combien coûte le calculateur de prime à terme ?
L'outil du navigateur est gratuit. Les requêtes d'API utilisent un solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.