Rapports COT expliqués : ce qu'ils sont et pourquoi les traders FX les surveillent banner image

Reference

Macro Education

Rapports COT expliqués : ce qu'ils sont et pourquoi les traders FX les surveillent

Le rapport Commitments of Traders (COT) de la CFTC offre aux traders FX une lecture hebdomadaire du positionnement des plus grands comptes spéculatifs mondiaux sur les contrats à terme de devises. Ce guide explique le fonctionnement du rapport, comment identifier les positions surpeuplées et les extrêmes de positionnement, et comment accéder aux données sous-jacentes via l'API FXMacroData.

Également disponible en English

Chaque semaine, la Commission américaine du commerce des contrats à terme sur matières premières publie un aperçu de la position des plus grands acteurs du marché dans les marchés des contrets à terme. Qui ? est de tenir quoi et dans quelle direction avant le prochain grand mouvement arrive.

Pour les traders de devises, les données COT ne sont pas une boule de cristal. C'est une carte de positionnement. Et les cartes de positionnements, si elles sont lues correctement, révèlent les conditions qui précèdent souvent des revers brusques, des tendances soutenues et les moments où le consensus devient son propre risque.

Ce que vous apprendrez

  • Qu'est-ce que le rapport COT de la CFTC, comment il est structuré et quels chiffres comptent
  • Comment interpréter le positionnement net non commercial comme indicateur de sentiment
  • Pourquoi le positionnement extrême indique des points de basculement potentiels dans les paires de devises
  • Comment accéder et analyser les données COT via l'API FXMacroData
  • Cadres pratiques pour combiner les signaux COT avec les fondamentaux macroéconomiques

L'anatomie d'un rapport sur les TCO

La CFTC recueille les données de position des bourses de contrats à terme, les agrégent et publie trois versions principales du rapport COT. Rapport sur les opérations de négociation sur le marché (uniquement pour les contrats à terme), qui divise les positions en trois groupes:

  • Les commerçants les entreprises, les importateurs, les exportateurs et les multinationales qui utilisent les contrats à terme sur devises principalement pour la couverture. Leurs positions reflètent la gestion du risque monétaire au niveau des entreprises plutôt que des vues spéculatives sur la direction. Les commerciaux sont souvent de nature contraire, augmentant l'exposition à court terme à mesure que les prix augmentent (couverture des créances à venir) et la diminuant à mesure qu'ils baissent.
  • Les opérateurs non commerciaux (grands spéculateurs) fonds spéculatifs, gestionnaires d'actifs et CTA qui négocient des contrats à terme sur devises pour un profit spéculatif. C'est le groupe que les traders FX surveillent le plus de près. Les non-commerciaux se positionnent avec conviction sur la base de vues macro, de signaux de tendance et de différentiels de taux.
  • Les positions non déclarées (petits spéculateurs) les détaillants et les petits participants dont les positions sont inférieures au seuil de déclaration de la CFTC.

Concept clé: position nette non commerciale

La position nette non commerciale = contrats longs non commerciaux − contrats courts non commerciales. Ce chiffre unique est ce que la plupart des traders de devises suivent semaine après semaine. Une hausse du long net dans les contrats à terme EUR signifie que les grands spéculateurs augmentent leur exposition haussière à l'euro. Un court net soutenu dans les futures JPY signifie que la communauté des hedge funds a une vision baissière structurelle du yen.

Pourquoi les données COT sont importantes pour les traders FX

Les marchés des devises sont les plus grands et les plus liquides du monde, mais ils ne sont pas transparents. Vous ne pouvez pas voir qui achète EUR/USD à 1,1050 ou court-circuite les contrats à terme du JPY en Asie du jour au lendemain. Le rapport COT est l'une des rares sources qui vous donne une lecture hebdomadaire sur la conviction directionnelle globale et qui le rend uniquement précieux pour trois types d'analyse spécifiques.

1. Identifier les métiers surpeuplés

Lorsque le positionnement non commercial dans une devise atteint des niveaux extrêmes par rapport à sa fourchette historique, le commerce est bondé. Les transactions bondées ne sont pas intrinsèquement mauvaises elles sont souvent le résultat d'une thèse macro bien motivée. Mais elles comportent un risque asymétrique: plus un commerce est encombré, plus le mouvement est violent lorsque les participants doivent sortir simultanément.

L'exemple canonique est le short trade du JPY. Pendant une grande partie de 2022 et 2023, le short non commercial des futures du JPZ a atteint des extrêmes de plusieurs décennies, reflétant le large et persistant différentiel de taux entre la Banque du Japon et toutes les autres grandes banques centrales. Le yen s'est largement affaibli. Mais chaque surprise de la politique de la Banques du Japon et plusieurs ont déclenché des rallies de couverture courte et rapide du JPJ qui ont pris les détenteurs de positions courtes bondées dans une pression.

FXMacroData affiche le positionnement COT pour huit principaux contrats à terme sur devises AUD, CAD, CHF, EUR, GBP, JPY, NZD et USD , ce qui permet de suivre facilement les transactions qui se dirigent vers des extrêmes historiques.

curl "https://fxmacrodata.com/api/v1/cot/jpy?api_key=YOUR_API_KEY&start=2022-01-01"
{
  "data": [
    {
      "date": "2024-04-02",
      "noncommercial_long": 28341,
      "noncommercial_short": 198076,
      "noncommercial_net": -169735,
      "commercial_long": 213540,
      "commercial_short": 47832,
      "open_interest": 287450
    }
  ]
}

Une position nette non commerciale de −169.735 contrats en JPY est importante par toute mesure historique.

2. Suivi de la confirmation et de la détérioration de la tendance

Les données COT ne sont pas un outil de chronométrage un commerce bondé peut rester bondé pendant des mois avant de s'inverser. Mais c'est un excellent indicateur de régime. Lorsque le positionnement non commercial tend constamment dans une direction, il confirme que l'argent macro est aligné derrière une tendance. Lorsque cette tendance commence à s'établir ou à s"inverser même lorsque le prix continue dans la même direction, c' est souvent un avertissement précoce d'une diminution de la conviction.

La divergence entre prix et positionnement est l'un des signaux les plus fiables basés sur les COT en devises. Si l'EUR/USD est en hausse mais que les longs nets non commerciaux sur les contrats à terme en euros diminuent semaine après semaine, les grands spéculateurs réduisent l'exposition en force et que le schéma de distribution précède souvent un sommet.

Cadre de signaux: prix contre divergence de positionnement

  • Divergence haussière: Les prix baissent, mais les longs nets non commerciaux restent stables ou augmentent la pression de vente est satisfaite par une nouvelle conviction de long.
  • Divergence baissière: Les prix augmentent, mais les longs nets non commerciaux diminuent les spéculateurs se redistribuent en force.
  • Confirmation de la tendance: Les prix et le positionnement net se déplacent dans la même direction la voie de la moindre résistance est claire.

3. Ancrer les vues macro avec le positionnement sur le marché

Les données COT deviennent plus puissantes lorsqu'elles sont combinées avec des fondamentaux macro. Un différentiel de taux peut fortement favoriser une devise mais si cette thèse est déjà cotée dans une position longue nette extrême, l'augmentation incrémentielle peut être limitée. Inversement, un commerce de devises contre des fondamentaus macro avec une position courte très bondée est une configuration qui vaut la peine d'être observée de près: toute surprise fondamentale qui remet en question la thèse baissière forcera une couverture courte à l'échelle.

Imaginez que vous regardiez le CHF. Point final du taux directeur en CHFSi les données macro montrent un différentiel de taux positif en hausse par rapport au CHF, mais que le positionnement non commercial du CHF dans les contrats à terme est encore très court, le contexte de positionnement est constructif pour un rallye de rattrapage lorsque le cas fondamental devient finalement indéniable.

Lire le rapport du COT: indicateurs clés à suivre

Les chiffres de contrats bruts sont instructifs, mais les métriques dérivées suivantes affinent considérablement le signal.

Position nette en pourcentage des intérêts ouverts

La normalisation des positions nettes non commerciales par rapport à l'intérêt ouvert total donne une mesure standardisée de l'écart de direction. Une longueur nette de 50 000 contrats signifie quelque chose de très différent dans une monnaie avec 100 000 contrits d'intérêt libre par rapport aux 500 000 contrets. Diviser la position nette par l'intéressement ouvert produit un rapport entre -1 et +1 qui est directement comparable entre les devises et dans le temps.

import requests

BASE = "https://fxmacrodata.com/api/v1"
KEY  = "YOUR_API_KEY"

def cot_series(currency: str, start: str = "2020-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 net_oi_ratio(record: dict) -> float:
    """Net non-commercial position as fraction of open interest."""
    if record.get("open_interest", 0) == 0:
        return 0.0
    return record["noncommercial_net"] / record["open_interest"]

eur_cot = cot_series("eur")
ratios  = [(r["date"], net_oi_ratio(r)) for r in eur_cot]
print(ratios[-5:])  # most recent five weeks

Le score Z du positionnement du réseau

Le z-score mesure le nombre d'écart types entre le positionnement actuel et sa moyenne historique. Un z-scor au-dessus de +2 ou en dessous de -2 indique des conditions statistiquement extrêmes. Pour le FX, il est courant d'utiliser une fenêtre de 52 semaines en rotation afin que le benchmark reflète la structure actuelle du marché plutôt qu'un régime de positionnement vieux d'une décennie.

import statistics

def rolling_zscore(series: list[dict], window: int = 52) -> list[dict]:
    """Compute z-score of net non-commercial positioning on a rolling window."""
    results = []
    values  = [r["noncommercial_net"] for r in series]
    for i, record in enumerate(series):
        start_i = max(0, i - window + 1)
        window_vals = values[start_i : i + 1]
        if len(window_vals) < 4:
            results.append({**record, "zscore": None})
            continue
        mu  = statistics.mean(window_vals)
        sig = statistics.stdev(window_vals)
        z   = (record["noncommercial_net"] - mu) / sig if sig > 0 else 0.0
        results.append({**record, "zscore": round(z, 2)})
    return results

gbp_cot    = cot_series("gbp", start="2018-01-01")
gbp_scored = rolling_zscore(gbp_cot)
extremes   = [r for r in gbp_scored if r["zscore"] is not None and abs(r["zscore"]) > 2.0]
print(f"Extreme positioning weeks in GBP: {len(extremes)}")

Variation hebdomadaire de la position nette

La vitesse de changement de position est souvent aussi importante que le niveau absolu. Une devise passant de +20 000 longs nets à +80 000 longues nets sur quatre semaines indique une conviction accélérée. Une monnaie inversée de +120 000 à +60 000 sur la même période indique la distribution active même si le positionnement net reste confortablement positif.

Accès aux données COT par FXMacroData

FXMacroData fournit des données hebdomadaires de la CFTC COT pour les huit principaux contrats à terme sur devises via un point final REST propre.

Monnaies prises en charge: Les États membres peuvent également prévoir des taux de change de taux de conversion.Je suis désolé .

# EUR net positioning since 2023
curl "https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY&start=2023-01-01"

# GBP full history
curl "https://fxmacrodata.com/api/v1/cot/gbp?api_key=YOUR_API_KEY"

# AUD recent 12 months
curl "https://fxmacrodata.com/api/v1/cot/aud?api_key=YOUR_API_KEY&start=2024-01-01"

La réponse est triée par date avec les données les plus récentes en premier et utilise des noms de champs cohérents dans toutes les devises, de sorte qu'un seul script d'analyse fonctionne sur les huit paires sans modification.

Longues années non commerciales

Les contrats spéculatifs en hausse détenus par les hedge funds et les CTA augmentent semaine après semaine: les taureaux s'ajoutent.

Courts métrages non commerciaux

Les contrats spéculatifs baissiers: augmentation semaine après semaine: les baissières augmentent.

Réseau non commercial

Longs moins shorts, numéro de titre, au-dessus de zéro, communauté spéculative nette haussière, tendance et z-score.

Intérêt ouvert

Le nombre total de contrats en circulation: l'augmentation de l'intérêt ouvert parallèlement à une hausse du long net confirme une forte participation à la tendance.

Scanner COT pratique pour plusieurs devises

L'une des applications les plus utiles des données COT est un balayage hebdomadaire des devises croisées qui classe toutes les principales devises par leur positionnement z-score.

import requests, statistics
from datetime import datetime, timedelta

BASE      = "https://fxmacrodata.com/api/v1"
KEY       = "YOUR_API_KEY"
CURRENCIES = ["aud", "cad", "chf", "eur", "gbp", "jpy", "nzd"]

def cot_series(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"]

def zscore_latest(records: list[dict], window: int = 52) -> dict:
    vals   = [r["noncommercial_net"] for r in records]
    latest = vals[0]
    sample = vals[:window]
    mu  = statistics.mean(sample)
    sig = statistics.stdev(sample) if len(sample) > 1 else 1.0
    z   = (latest - mu) / sig if sig > 0 else 0.0
    return {
        "net"        : latest,
        "zscore"     : round(z, 2),
        "oi_ratio"   : round(latest / records[0]["open_interest"], 3) if records[0].get("open_interest") else None,
        "date"       : records[0]["date"],
    }

results = {}
for ccy in CURRENCIES:
    data = cot_series(ccy)
    results[ccy.upper()] = zscore_latest(data)

# Rank by z-score
ranked = sorted(results.items(), key=lambda x: x[1]["zscore"], reverse=True)
print(f"{'CCY':<6} {'Net':>12} {'Z-Score':>9} {'OI Ratio':>10}  {'Date'}")
print("-" * 56)
for ccy, r in ranked:
    flag = "  ← EXTREME" if abs(r["zscore"]) > 2.0 else ""
    print(f"{ccy:<6} {r['net']:>12,} {r['zscore']:>9.2f} {str(r['oi_ratio']):>10}  {r['date']}{flag}")

La sortie donne un aperçu comme celui-ci (valeurs illustratives):

CCY         Net     Z-Score   OI Ratio  Date
--------------------------------------------------------
EUR       +94,320     +2.31      +0.31  2024-04-02  ← EXTREME
GBP       +38,150     +1.45      +0.22  2024-04-02
AUD        -4,200     -0.18      -0.03  2024-04-02
NZD        -8,900     -0.62      -0.15  2024-04-02
CAD       -21,300     -1.08      -0.18  2024-04-02
CHF       -44,100     -1.95      -0.38  2024-04-02
JPY      -172,400     -2.64      -0.60  2024-04-02  ← EXTREME

Lorsque l'EUR est à une extrême longue de 2 écarts types et que le JPY est à un extrême court de 2 déviations types, la paire EUR/JPY est positionnée avec la foule fermement d'un côté.

Combiner le COT avec les macro-fondements

Les données de la COT répondent à la question: Qui est positionné, et de quelle manière agressive ? Les données fondamentales macro répondent à la question: Quelle devrait être la valeur de la monnaie en fonction des taux, de l'inflation et de la croissance ? Les cadres FX les plus puissants utilisent les deux.

Un modèle simple de quatre quadrants structure clairement l'interaction:

Scénario Signal de macro Positionnement du COT Les conséquences
Une conviction forte Taux haussier (taux en hausse, données fortes) Pas encore rempli; z-score < +1 La tendance a probablement de la place pour s'étendre.
Longue de dernière étape - Bien, mais en baisse. Surpeuplé; z-score > +2 La tendance est intacte mais fragile, réduisez la position, serrez les arrêts.
Retour en arrière Tourner à la baisse (réduction surprise, faibles données) Extrêmement long; z-score > +2,5 Une grosse probabilité de flush, une vente de force amplifie le coup, la meilleure entrée asymétrique.
Accumulation furtive Consensus négatif Extrêmement court; z-score < −2 Toute surprise positive déclenche une reprise de short-squeeze.

Pour mettre en œuvre la colonne macro, extraire l'historique des taux directeurs du critère de référence de la banque centrale concernée en même temps que les données COT. Taux de référence de la BCR Je suis désolé . Inflation australienne Le positionnement de l'AUD par rapport au COT donne une image complète de la position ou non de la communauté des spéculateurs.

Des limites à garder à l'esprit

Les données sur les COT sont puissantes mais pas infaillibles.

  • Décalage de publication. La CFTC mesure les positions à compter de la clôture du mardi et publie le vendredi.
  • Les contrats à terme ≠ les opérations de change au comptant. Les flux de change institutionnels se produisent principalement sur les marchés OTC au comptant et à terme, qui sont beaucoup plus grands et totalement non réglementés.
  • Les commerces bondés peuvent rester bondés. Un score z supérieur à +2 identifie l'extrême statistique, et non un renversement imminent. Le trading court du JPY est resté extrême pendant plusieurs trimestres car la Banque du Japon a maintenu son cadre de politique ultra-assoupli.
  • Les publicités ne sont pas des contraries infaillibles. Les hedgers augmentent leurs positions courtes lorsqu'ils ont des créances à protéger, pas nécessairement parce qu'ils pensent que la monnaie va chuter.
  • L'intérêt ouvert peut fausser le nombre de contrats. Une forte augmentation de l'intérêt ouvert parallèlement à une position nette en hausse peut indiquer l'arrivée de nouvelles sommes d'argent, tandis qu'un intérêt ouvert stable ou en baisse parallèle à une valeur nette croissante peut simplement refléter la couverture du côté court.

Créer un tableau de bord hebdomadaire des COT

Avec l'API FXMacroData, la construction d'un tableau de bord personnel de surveillance COT est un projet de week-end.

  1. Retrouvez les données COT des 52 dernières semaines pour les sept contrats à terme sur devises du G10
  2. Calculer les scores z de positionnement net sur une fenêtre de 52 semaines
  3. Classer les devises de la plus longue à la plus courte
  4. Identifier les paires où les extrêmes opposés existent (par exemple, EUR extrêmement long + JPY extrêmment court → EUR/JPY en mise au point)
  5. Tirer le contexte macroéconomique les différentiels de taux directeurs de la les critères de taux pertinents déterminer si le positionnement est aligné ou s'écarte du contexte fondamental
  6. Marquer toutes les semaines où le positionnement a été déplacé de plus d'un écart type le ré positionnement rapide est un signal à part entière

Le FXMacroData Page du tableau de bord COT Il fournit cette vue visuellement sur toutes les devises prises en charge, mise à jour hebdomadairement après chaque version de la CFTC.

Référence rapide: Endpoints de l'API du COT

  • EUR: https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY
  • GBP: https://fxmacrodata.com/api/v1/cot/gbp?api_key=YOUR_API_KEY
  • Je suis désolé . https://fxmacrodata.com/api/v1/cot/jpy?api_key=YOUR_API_KEY
  • Je suis désolé . https://fxmacrodata.com/api/v1/cot/aud?api_key=YOUR_API_KEY
  • Je suis désolé . https://fxmacrodata.com/api/v1/cot/cad?api_key=YOUR_API_KEY
  • Je suis désolé . https://fxmacrodata.com/api/v1/cot/chf?api_key=YOUR_API_KEY
  • Je suis désolé . https://fxmacrodata.com/api/v1/cot/nzd?api_key=YOUR_API_KEY

La ligne de fond

Les rapports COT donnent aux traders FX une fenêtre que presque rien d'autre ne fournit: une mesure hebdomadaire et audit de la position des plus grands comptes spéculatifs du monde dans les contrats à terme sur devises. Utilisé isolément, cette information est suggestive mais incomplète. Combiné avec les fondamentaux macro taux de la politique des banques centrales, les lectures d'inflation et les surprises économiques révélées par l'API FXMacroData , il devient un véritable avantage analytique.

Les transactions de change les plus dangereuses ne sont pas celles où le cas fondamental est faux. Ce sont celles où l'affaire fondamentale est correcte mais le commerce est si encombré qu'une seule surprise de données déclenche une cascade de sorties forcées. Les données COT sont le système d'alerte précoce pour ces conditions.

Suivez le positionnement en suivant le calendrier macro, sachez quand la foule est tendue et quand les fondamentaux changent, saurez dans quelle direction les sorties sont pointées.

Blogroll