Convertisseur de prix ADR en action ordinaire
Un certificat de dépôt regroupe un nombre fixe d'actions ordinaires étrangères, de sorte que son prix ne coïncide jamais avec celui de l'action sur son marché d'origine : le ratio de conversion et le taux de change se placent entre les deux.
Lancer gratuitement
Cette API prend le prix du certificat, le ratio et le taux de change, et renvoie le prix équivalent d'une action ordinaire dans sa devise locale : le chiffre qu'il vous faut pour comparer le certificat à la cotation d'origine et repérer une prime ou une décote.
Pourquoi le prix du certificat n'est jamais celui de l'action
Lorsqu'une entreprise étrangère se cote aux États-Unis, une banque dépositaire crée des certificats représentant chacun un nombre déterminé d'actions ordinaires : parfois une fraction d'action, parfois dix ou cinquante. À ce regroupement s'ajoute le fait que le certificat se négocie en dollars tandis que les actions ordinaires se négocient en livres, en yens ou en euros. Deux investisseurs qui regardent la même entreprise voient donc deux chiffres complètement différents sur leurs écrans, et aucun des deux n'a tort. Pour savoir si l'ADR est cher ou bon marché par rapport à la cotation d'origine, il faut défaire les deux effets : diviser par le ratio pour obtenir la valeur par action individuelle, puis convertir les devises pour exprimer les deux prix dans la même unité. Ce endpoint effectue exactement cette arithmétique en un seul appel, sans surprise d'arrondi, afin qu'un screener, un moniteur d'arbitrage ou un simple tableur puisse mettre les deux marchés côte à côte et comparer ce qui est comparable.
La formule et la signification de chaque entrée
La conversion tient en une ligne : le prix de l'action est égal au prix du certificat multiplié par le taux de change, divisé par le ratio. <code>adr_price</code> est le dernier prix négocié d'un certificat dans sa devise de cotation. <code>ratio</code> indique combien d'actions ordinaires un certificat représente : un ratio de 0.5 signifie deux certificats par action, et un ratio de 5 signifie qu'un certificat regroupe cinq actions. <code>exchange_rate</code> s'exprime en devise du certificat par unité de la devise locale : si le certificat se négocie en dollars et les actions en livres, c'est le nombre de dollars par livre. Le taux de change doit être positif, car un taux nul ou négatif n'est jamais une cotation réelle et signale presque toujours une erreur de données en amont ; le endpoint le rejette au lieu de renvoyer un zéro trompeur. Le résultat est arrondi par défaut à six décimales, et vous pouvez demander de zéro à douze.
Utiliser le résultat sans se tromper
La sortie est le prix théorique équivalent d'une action ordinaire dans sa devise locale, compte tenu des valeurs que vous avez fournies. Que le certificat se négocie réellement avec une prime ou une décote est une autre question : comparez la valeur renvoyée à la cotation en direct du marché d'origine et rappelez-vous que les deux marchés peuvent ne pas être ouverts en même temps, de sorte que les prix comparés peuvent provenir d'instants différents. Les frais, le traitement des dividendes et les impôts locaux font en outre que la parité théorique est rarement atteinte au centime près. Rien de tout cela n'est le rôle de cet outil : il effectue délibérément un seul calcul déterministe et le fait exactement, à l'identique dans votre navigateur et via l'API payante, afin que vous puissiez prototyper la comparaison à la main et ne l'automatiser, pour $0.002 par requête, que lorsque les chiffres ont du sens. Tout s'exécute sur notre edge mondial et rien de ce que vous envoyez n'est conservé après le renvoi de la réponse.
Cas d’usage
Comparez le certificat à la cotation d'origine
Convertissez la cotation de l'ADR en prix de l'action en devise locale et voyez d'un coup d'œil si le certificat se négocie avec une prime ou une décote.
Alimentez un moniteur d'arbitrage
Calculez les prix de parité en masse sur votre liste de suivi et signalez les paires dont l'écart dépasse votre seuil.
Expliquez le ratio à un client
Montrez pourquoi un certificat à 25 dollars correspond à une action au prix bien supérieur ou inférieur une fois appliqués le ratio et la devise.
Questions fréquentes
Combien cela coûte-t-il ?
$0.002 par requête via l'API. C'est aussi gratuit dans votre navigateur sur cette page.
Qu'est-ce que le ratio, exactement ?
Le nombre d'actions ordinaires qu'un certificat de dépôt représente. Un ratio de 0.5 signifie deux certificats par action ; un ratio de 5 signifie qu'un certificat regroupe cinq actions.
Comment le taux de change est-il exprimé ?
En devise du certificat par unité de la devise locale de l'action. Si le certificat se négocie en USD et les actions en GBP, c'est le nombre de dollars par livre.
Pourquoi mon entrée a-t-elle été rejetée ?
Le taux de change et le ratio doivent être positifs, et le prix du certificat ne peut pas être négatif. Un taux nul ou négatif n'est jamais une cotation réelle : le endpoint le traite donc comme une erreur de données.
Renvoie-t-il la juste valeur du certificat ?
Non. Il renvoie le prix équivalent de l'action ordinaire pour le prix de certificat que vous avez indiqué. Que cela implique une prime ou une décote relève de votre jugement face à la cotation en direct du marché d'origine.
Combien de décimales comporte le résultat ?
Six par défaut, ajustables de zéro à douze avec le champ decimals.
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/adr \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"adr_price":25.5,"ratio":0.5,"exchange_rate":1.27}'const res = await fetch("https://api.kit.forhosting.com/fin/adr", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"adr_price": 25.5,
"ratio": 0.5,
"exchange_rate": 1.27
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/adr",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"adr_price": 25.5,
"ratio": 0.5,
"exchange_rate": 1.27
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/adr", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"adr_price":25.5,"ratio":0.5,"exchange_rate":1.27}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"adr_price":25.5,"ratio":0.5,"exchange_rate":1.27}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/adr", 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
{
"adr_price": 25.5,
"ratio": 0.5,
"exchange_rate": 1.27
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.adr",
"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. |