Le signal de la COT est présenté en un coup d'œil avril 2026
JPY Extrêmement court
Contrats nets de 148 000 · Points Z -2,4
EUR Prolongé à long terme
Contrats nets +112 000 · Points Z +2,1
GBP Modérément longue
+ 64 000 contrats nets · Z-score +1,3
AUD légèrement court
Contrats nets de 18 000 · Points Z -0,6
Deux des huit principaux marchés à terme de devises affichent actuellement des extrêmes statistiques dans le positionnement spéculatif. Les contrats courts nets du JPY ont chuté en dessous de −148.000 un z-score de −2,4 par rapport à la distribution de 52 semaines suivante tandis que les longs nets de l'EUR ont grimpé à +112.000, un z‐score d' +2.1.
Cet article parle de ce qui se passe ensuite. À l'aide des données hebdomadaires de CFTC Commitments of Traders, nous examinons comment identifier quand un consensus commercial passe de "bien positionné" à "dangereusement bondé", à quoi ressemblent les signaux d'alerte précoce d'un ralentissement et comment structurer un cadre d'inversion autour des extrêmes de positionnement COT.
Ce que nous allons voir dans cet article
- Définition et mesure des transactions surpeuplées à l'aide de z-scores et de ratios d'intérêt net ouvert
- Les valeurs extrêmes actuelles des huit principaux contrats à terme sur devises
- L'anatomie d'une inversion à COT cinq phases de l'extrême à la compression
- Combinaison des signaux COT avec les macro-fondamentaux pour les transactions à plus forte conviction
- Un cadre pratique d'inversion: déclencheurs d'entrée, signaux de confirmation et invalidation
Définition d'un commerce encombré
Un commerce devient bondé lorsque la communauté spéculative non commerciale fonds spéculatifs, gestionnaires d'actifs et conseillers en négociation de matières premières accumule une position directionnelle statistiquement extrême par rapport à son propre historique. relativeUne longueur nette de +100 000 EUR n'est pas intrinsèquement extrême; elle n'en est extrême que si elle est bien supérieure à la fourchette de positionnement typique de la monnaie.
Deux mesures précisent cette définition en seuils exploitables.
Le score Z du positionnement net non commercial
Le moyen le plus fiable de normaliser les lectures de COT entre les devises et les périodes est le score z mobile. Il répond à une question précise: combien d'écart-type au-dessus ou en dessous de sa moyenne récente est le positionnement actuel?
import requests, statistics
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
def fetch_cot(currency: str, start: str = "2018-01-01") -> list[dict]:
r = requests.get(f"{BASE}/cot/{currency}", params={"api_key": KEY, "start": start})
r.raise_for_status()
return r.json()["data"]
def rolling_zscore(records: list[dict], window: int = 52) -> list[dict]:
"""Rolling 52-week z-score of net non-commercial positioning."""
vals = [r["noncommercial_net"] for r in records]
out = []
for i, rec in enumerate(records):
w = vals[i : i + window] # records are newest-first
if len(w) < 8:
out.append({**rec, "zscore": None})
continue
mu = statistics.mean(w)
sig = statistics.stdev(w)
z = (rec["noncommercial_net"] - mu) / sig if sig else 0.0
out.append({**rec, "zscore": round(z, 2)})
return out
eur_data = fetch_cot("eur")
eur_scored = rolling_zscore(eur_data)
# Latest reading
print(eur_scored[0])
# {'date': '2026-04-15', 'noncommercial_net': 112340, 'zscore': 2.1, ...}
Les valeurs supérieures à +2,0 ou inférieures -2,0 placent la monnaie dans le haut ou le bas de 2,3% de sa distribution historique.
Position nette en tant que fraction de l'intérêt ouvert
Le z-score vous indique où se trouve le positionnement dans sa distribution historique. Le ratio net à l'intérêt ouvert vous indiquera à quel point le pari directionnel est concentré dans la profondeur actuelle du marché. Lorsque le positionnage net non commercial représente plus de 2530% du total des intérêts ouverts, le marché est structurellement faussé et le potentiel de dislocation sur tout catalyseur contraire est élevé.
Graphique 1: Positionnement des produits de la COT nette en EURLes expositions à terme en euros Positionnement net non commercial (20232026)
Surcharge de z-score de 52 semaines en roulement. Les bandes ombragées marquent des seuils extrêmes (±2σ).
Source: Données du COT de la CFTC par le biais de FXMacroData /v1/cot/eur séries historiques illustratives
Les relevés extrêmes actuels pour les principales devises
Le scan z-score est sans doute le rituel hebdomadaire le plus puissant qu'un trader de macro FX puisse exécuter.
Graphique 2: Graphiques à barres du score z multi-monnaiesLes points Z de positionnement des COT Toutes les principales devises (avril 2026)
Les barres rouges indiquent une surpopulation extrêmement courte; les barres vertes indiquent un surpopulation extrêmment longue.
Source: Données du COT de la CFTC par le biais de FXMacroData /v1/cot/{currency} une image illustrative
Le snapshot ci-dessus montre une bifurcation claire du sentiment spéculatif. Le livre court du JPY est la position la plus bondée du complexe, avec son score z de -2,4 bien en dessous du seuil de danger de -2.0. Les longs de l'EUR ont atteint +2,1 et approchent le point où le consensus long devient son propre risque. Le CHF est à -1,7, s'approchant du territoire extrêmement court.
Pour les traders de paires, la divergence JPY/EUR est la lecture la plus pratique: si vous croyez à la réversion moyenne, le trade avec le vent de fond le plus structurel de positionnement est le short EUR/JPY une monnaie avec une exposition extrêmement longue EUR d'un côté et une expostion extrêmment courte JPY de l'autre.
Le principe de base: l'effet multiplicateur des paires
Lorsque les deux pieds d'une paire de devises portent des scores z extrêmes dans des directions opposées, le mouvement attendu sur un décalage est compliqué. EUR / JPY court avec EUR à +2,1 et JPY à -2,4 signifie que tout changement de sentiment affecte les deux jambes simultanément.
L'anatomie d'un renversement de la COT
Le positionnement extrême ne se renverse pas spontanément. Il se déroule dans une séquence de phases distinctes, chacune avec des signatures COT mesurables.
Phase 1 Accumulation (score Z de 0 à ±1,5)
La théorie macro gagne du terrain. Chaque semaine, la communauté spéculative ajoute à la position avec conviction. Les contrats nets augmentent régulièrement, l'intérêt ouvert augmente et la tendance des prix reflète et renforce le consensus.
Phase 2 Rassemblement (score Z de ±1,5 à ±2,0)
La position se développe plus rapidement que le prix ne le justifie. Les nouveaux entrants se joignent parce que le commerce a fonctionné, pas parce que la thèse originale s'est renforcée. Les délits hebdomadaires dans le positionnement net s'accélèrent. Cette phase est souvent la plus rentable pour les détenteurs la dynamique est pleinement engagée mais c'est aussi lorsque le risque de sortie commence à se construire de manière invisible en arrière-plan.
Phase 3 Épuisement (score Z supérieur à ± 2,0)
Le taux de création de nouvelles positions ralentit. L'intérêt ouvert peut s'établir ou commencer à diminuer tandis que le prix continue de se déplacer dans la direction de la tendance. Cette divergence entre le ralentissement du positionnement et la poursuite de l'appréciation ou de la dépréciations des prix est le signal d'alerte précoce le plus important que le rapport COT offre.
Phase 4 Première détente (Z-Score se retirant de l'extrême)
Un catalyseur arrive une déclaration inattendue de la banque centrale, une surprise de données macro, un choc géopolitique et les participants les plus endettés commencent à réduire l'exposition. Le score z se retire de son extrême, mais lentement au début. Le prix inverse fortement parce que les sorties sont regroupées: tous ceux qui sont entrés dans la phase 2 tentent de sortir simultanément par la même porte.
Phase 5 Squeeze (Z-Score retour vers le neutre)
Le détournement devient auto-renforçant. La couverture courte ou la liquidation longue s'accélère. Les positions qui étaient rentables pendant une grande partie de la tendance deviennent rapidement non rentables lors de la contraction. Le mouvement dépasse souvent la juste valeur avant de se stabiliser près d'un nouveau régime de positionnement neutre.
Graphique 3: Positionnement du JPY par rapport au prix USD/JPY sur le double axeLes contrats à terme en JPY Position nette par rapport au prix USD/JPY (20232026)
Deuxièmement, les taux de change sont les mêmes que pour les contrats non commerciaux nets (à gauche); les taux au comptant USD/JPY (à droite, inversés).
Source: Données du COT de la CFTC par l'intermédiaire de /v1/cot/jpy et le taux au comptant via /v1/forex/usd/jpy séries illustrées
Le graphique ci-dessus illustre comment les positions courtes nettes du JPY ont suivi le cours de l'USD/JPY tout au long d'un cycle d'inversion complet. À partir de 2023 et au début de 2024, les positions courtes spéculatives lourdes dans les contrats à terme du JP Y ont correspondu à une tendance plus élevée du USD/JP Y. Mais à chaque fois que le positionnement atteignait un extrême statistique, un catalyseur souvent un signal de politique de la Banque du Japon comprimait rapidement le livre court, produisant une forte appréciation du JP.
Les données COT ne prédisaient pas le catalyseur. Il vous a dit que la position était si bondée que tout catalyseir contraire, quelle que soit sa taille, serait amplifié par la dynamique de sortie de la foule. Le point de départ de la méthode de calcul de la valeur de la transaction pour suivre si le courant extrême est en train de s'accumuler ou de s"affaiblir.
Le prixsignal de divergence de position
L'avertissement de renversement le plus fiable basé sur le COT n'est pas le niveau absolu de positionnement , mais la divergence entre la direction du prix et la direction de positionnement.
Graphique 4: EUR COT par rapport au prix EUR/USD (exemple de divergence)EUR/USD contre EUR COT Longs nets Détection de la divergence
EUR/USD spot (axe gauche, bleu); EUR contrats non commerciaux nets en milliers (axis droit, or).
Source: /v1/forex/eur/usd Je suis désolé . /v1/cot/eur séries illustrées
Règles de détection des divergences
- Divergence baissière: Le prix de l'EUR/USD atteint un nouveau sommet mais les longs nets de l"EUR COT ne parviennent pas à atteindre un nouveau haut les spéculateurs se redistribuent en force.
- Divergence haussière: Le prix du USD/JPY atteint un nouveau sommet (JPY s'affaiblit encore), mais les contrats courts JPY cessent de s'étendre les vendeurs à découvert n'ajoutent pas de conviction à la tendance.
- Confirmation de la tendance: Les prix et le positionnement net sont tous deux en tendance dans la même direction la trajectoire de moindre résistance est intacte.
Combiner les signaux COT avec les macro-fondements
Le positionnement COT est un signal de structure de marché, pas un signal fondamental.
Configuration 1 Vent de queue macro, position bondée
L'argument fondamental pour une position est fort et bien compris mais il se reflète déjà pleinement dans un positionnement spéculatif extrême. Dans ce cas, l'avantage d'une amélioration macro est limité parce que la communauté s'y est déjà positionnée. L'asymétrie est à l'inverse: si les données macro déçoivent même modestement, l"inversion sera violente car la foule n'a nulle part où aller.
Le dollar américain s'affaiblit et les données économiques de l'UE s'affirment, ce qui explique la position actuelle de l"euro.
import requests
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
# EUR macro fundamentals
eur_gdp = requests.get(f"{BASE}/announcements/eur/gdp", params={"api_key": KEY, "limit": 6}).json()
eur_cpi = requests.get(f"{BASE}/announcements/eur/inflation", params={"api_key": KEY, "limit": 6}).json()
eur_policy = requests.get(f"{BASE}/announcements/eur/policy_rate", params={"api_key": KEY, "limit": 4}).json()
# COT positioning
eur_cot = requests.get(f"{BASE}/cot/eur", params={"api_key": KEY, "limit": 8}).json()
print("Latest EUR policy rate:", eur_policy["data"][0])
print("Latest EUR CPI:", eur_cpi["data"][0])
print("Latest EUR net COT:", eur_cot["data"][0]["noncommercial_net"])
Configuration 2 Vent à hauteur de macro, position bondée (alarme maximale)
C'est la configuration la plus alerte. Les données macro commencent à contredire la thèse du consensus en même temps que le positionnement est à l'extrême. Un commerce bondé perdant sa justification fondamentale est une recette pour un décalage rapide et désordonné.
Graphique 5: Vélusité de delta hebdomadaire du COTVelocité de changement de positionnement Delta hebdomadaire net du contrat (EUR, JPY, GBP)
La décalage du delta à un extrême de positionnement est un signal précoce d'épuisement de la phase 3.
Source: Données de la CFTC sur les COT par FXMacroData série illustrative
La vitesse est aussi importante que le niveau. Lorsque les variations de position nettes se sont produites à +8 000 à +12 000 contrats par semaine au plus fort de l'accumulation d'EUR et ont depuis ralenti à +1 000 à 2 000, cette décélération est une signature objective de la phase 3.
Un cadre pratique pour le commerce de retour
La traduction des signaux COT en transactions réelles nécessite une structure. Les positions extrêmes peuvent persister pendant des semaines ou des mois, et il n'y a aucune garantie qu'une lecture extrême se inversera rapidement.
Étape 1 Écran pour les extrêmes
Exécutez la numérisation hebdomadaire du z-score sur les 8 devises. Marquez n'importe quelle devise avec z-scoring > 2.0 comme candidat pour la surveillance de l'inversion.
Étape 2 Vérifiez la vitesse
Si les 3 dernières semaines montrent une accélération de l'addition (ΔΔΔ), la phase d'épuisement peut être en cours.
Étape 3 Aligner avec la macro
Vérifiez les indicateurs fondamentaux pertinents via FXMacroData. Les données macro soutiennent ou minent-elles la thèse de la foule?
Étape 4 Attendez une déclenchement
Ne pas décoller le positionnement extrême sans déclencheur. Les déclenchements incluent: surprise de la banque centrale, macro miss, rupture technique du support/résistance clé ou une première semaine confirmée de réduction nette du COT.
Étape 5 Taille pour la volatilité
Les retours des extrêmes surpeuplés sont rapides et volatils. Taillez les positions pour accueillir les mouvements négatifs initiaux avant que le relâchement ne gagne en dynamique. Stop loss au-dessus / en dessous du z-score extrême haut / bas.
Invalidation
Si le COT affiche un nouveau record hebdomadaire dans la direction extrême après l'entrée, la thèse est fausse à court terme.
Construire un scanner COT hebdomadaire
La mise en œuvre pratique de ce cadre est un scanner hebdomadaire qui calcule automatiquement les z-scores et les deltas pour les huit contrats à terme sur devises et produit un tableau d'alerte classé. Le point de départ de la méthode de calcul de la valeur de la transactionLe texte est le suivant:
import requests, statistics
from datetime import date, timedelta
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
CURRENCIES = ["aud", "cad", "chf", "eur", "gbp", "jpy", "nzd", "usd"]
WINDOW = 52 # weeks for z-score baseline
EXTREME_Z = 2.0 # alert threshold
def fetch_cot(ccy: str) -> list[dict]:
r = requests.get(f"{BASE}/cot/{ccy}", params={"api_key": KEY, "start": "2019-01-01"})
r.raise_for_status()
return r.json()["data"] # newest first
def analyse(records: list[dict]) -> dict:
vals = [r["noncommercial_net"] for r in records]
net = vals[0]
# 52-week z-score
window = vals[:WINDOW]
mu = statistics.mean(window)
sig = statistics.stdev(window) if len(window) > 1 else 1
z = round((net - mu) / sig, 2) if sig else 0.0
# 4-week velocity (average weekly change)
delta_4w = round((vals[0] - vals[4]) / 4, 0) if len(vals) > 4 else 0
# Net as % of open interest
oi = records[0].get("open_interest", 1) or 1
net_oi = round(net / oi * 100, 1)
return {
"net": net, "zscore": z,
"delta_4w": delta_4w, "net_oi_pct": net_oi,
"date": records[0]["date"]
}
print(f"\n{'CCY':5} {'Net':>9} {'Z-Score':>9} {'4W Delta':>10} {'Net/OI%':>9} Status")
print("-" * 60)
for ccy in CURRENCIES:
data = fetch_cot(ccy)
stats = analyse(data)
flag = " ⚠ EXTREME" if abs(stats["zscore"]) >= EXTREME_Z else ""
print(f"{ccy.upper():5} {stats['net']:>9,.0f} {stats['zscore']:>9.2f} "
f"{stats['delta_4w']:>10,.0f} {stats['net_oi_pct']:>9.1f}%{flag}")
En le diffusant tous les vendredis soir peu après la sortie de la soirée de 15h30 du Eastern COT vous donne une lecture complète du paysage spéculatif avant le week-end et avant l'Open d'Asie le dimanche suivant.
Accéder aux données COT réelles
FXMacroData fournit un positionnement hebdomadaire du COT de la CFTC pour les huit principaux contrats à terme sur devises AUD, CAD, CHF, EUR, GBP, JPY, NZD et USD avec un historique complet, des réponses JSON propres et des points d'extrémité par devise.
Essayez le critère de référence EUR: https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY