Live release feed
Sub-second macro releases for FX backtests
Point-in-time history
USD 25/month
Iniciar teste grátis

Trade Views

Market Analysis

Posicionamento COT e comércio lotado: Reversões de localização

Quando o posicionamento especulativo em futuros de moeda atinge extremos estatísticos, o comércio lotado se torna seu próprio risco. Usando dados do CFTC COT, este artigo mostra como medir o lotamento com pontuações z, identificar as cinco fases de uma reversão de posicionamentos e construir uma estrutura prática para o comércio do relaxamento.

Também disponível em English
Share article X LinkedIn Email
Posicionamento COT e comércio lotado: Reversões de localização image
Chumbo: regime actual de COT e consumo no mercado

Imagem instantânea do sinal COT Abril de 2026

JPY Extremo Curto

Net −148k contracts · Z-score −2.4

EUR Prolongamento do prazo

Contratos líquidos +112k · Pontuação Z +2,1

GBP Moderadamente longo

Net +64k contracts · Z-score +1.3

AUD ligeiramente curto

Net −18k contracts · Z-score −0.6

Dois dos oito principais mercados de futuros de moeda estão atualmente mostrando extremos estatísticos no posicionamento especulativo. Os contratos curtos líquidos do JPY caíram abaixo de -148.000 uma pontuação z de -2.4 contra a distribuição de 52 semanas , enquanto os longs líquidos da EUR subiram para +112.000, uma pontual z de +2.1.

Este artigo é sobre o que acontece a seguir. Usando os dados semanais do Compromissos de Traders da CFTC, examinamos como identificar quando uma negociação de consenso passa de "bem posicionada" para "perigosamente lotada", como são os sinais de alerta precoce de um relaxamento e como estruturar um quadro de reversão em torno dos extremos de posicionamento da COT.

O que este artigo aborda

  • Definição e medição de operações com excesso de clientes utilizando pontuações z e rácios de juros abertos líquidos
  • Leituras extremas atuais para os oito principais futuros de moedas
  • A anatomia de uma inversão de COT cinco fases do extremo ao aperto
  • Combinação de sinais COT com os fundamentais macro para transações de maior convicção
  • Um quadro prático de reversão: gatilhos de entrada, sinais de confirmação e invalidação

Definindo um comércio lotado

Um comércio se torna lotado quando a comunidade especulativa não comercial fundos de hedge, gestores de ativos e consultores de commodity trading acumula uma posição direcional que é estatisticamente extrema em relação à sua própria história. Relativo. A net long of +100,000 EUR contracts is not inherently extreme; it is only extreme if it sits far above the currency's typical positioning range.

Duas métricas definem esta definição em limiares acionáveis.

Ponto Z da posicionamento líquido não comercial

A forma mais robusta de normalizar as leituras do COT entre moedas e períodos de tempo é a pontuação z-score. Ela responde a uma pergunta precisa: quantos desvios padrão acima ou abaixo da sua média recente é o posicionamento atual? Usando uma janela de 52 semanas, o benchmark é vinculado ao regime macroeconômico atual em vez de uma história de várias décadas que pode não refletir mais a estrutura atual do mercado.

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, ...}

As leituras acima de +2,0 ou abaixo de -2,0 colocam a moeda no topo ou no fundo de 2,3% da sua distribuição histórica.

Posição líquida como fracção de interesse aberto

The z-score tells you where positioning sits in its historical distribution. The net-to-open-interest ratio tells you how concentrated the directional bet is within current market depth. When non-commercial net positioning represents more than 25–30% of total open interest, the market is structurally skewed and the potential for a dislocation on any contrary catalyst is high.

Gráfico 1: EUR Posicionamento COT líquido

EUR Futures — Net Non-Commercial Positioning (2023–2026)

Superposição de pontuação z de 52 semanas. As faixas sombreadas marcam limiares extremos (±2σ).

Fonte: Dados da CFTC COT através da FXMacroData /v1/cot/eur séries históricas ilustrativas

Leituras extremas atuais nas principais moedas

O scan z-score é sem dúvida o ritual semanal mais poderoso que qualquer trader de macro FX pode executar.

Gráfico 2: Gráficos de barras do z-score para várias moedas

Posicionamento do COT Z-Scores Todas as principais moedas (abril de 2026)

52 semanas de pontuação z. Barras vermelhas indicam aglomeração extremamente curta; barras verdes indicam conglomerações extremamente longas.

Fonte: Dados da CFTC COT através da FXMacroData /v1/cot/{currency} instantânea ilustrativa

O JPY é o livro curto mais lotado do complexo, com sua pontuação z de -2.4 bem abaixo do limiar de perigo de - 2.0. EUR longs atingiram +2.1 e estão se aproximando do ponto em que o consenso longo se torna seu próprio risco. CHF está em - 1.7, aproximando-se do território curto extremo. CAD e AUD estão confortavelmente na zona neutra.

Para os operadores de pares, a divergência JPY/EUR é a leitura mais prática: se você acredita na reversão média, a negociação com o vento favorável mais estrutural da posicionamento desacelerado é curto EUR/JPY uma moeda com exposição EUR extremamente longa de um lado e exposição JPY extremamente curta do outro.

Principais conclusões: O efeito multiplicador dos pares

When both legs of a currency pair carry extreme z-scores in opposite directions, the expected move on an unwind is compounded. Short EUR/JPY with EUR at +2.1 and JPY at −2.4 means that any shift in sentiment affects both legs simultaneously. Historical episodes of this dual-extreme setup have produced sharp, fast moves — often 3–5% in the pair within weeks of the positioning peak.

A anatomia de uma reversão impulsionada pela COT

A posição extrema não se reverte espontaneamente. Ela se desenrola em uma sequência de fases distintas, cada uma com assinaturas COT mensuráveis.

Fase 1 Acumulação (Z-Score 0 a ±1,5)

A tese macro ganha força. Cada semana, a comunidade especulativa acrescenta à posição com convicção. Os contratos líquidos crescem constantemente, o interesse aberto aumenta e a tendência no preço reflete e reforça o consenso.

Fase 2 Crowding (Z-Score ±1,5 a ±2,0)

A posição cresce mais rápido do que o preço justifica. Novos participantes estão se juntando porque o comércio funcionou, não porque a tese original se fortaleceu. Delta semanais no posicionamento líquido aceleram. Esta fase é muitas vezes a mais lucrativa para os detentores o impulso está totalmente engajado mas também é quando o risco de saída começa a se construir invisível no fundo.

Fase 3 Esgotamento (Z-Score superior a ± 2,0)

A taxa de construção de novas posições diminui. O interesse aberto pode estabilizar-se ou começar a diminuir enquanto o preço continua a mover-se na direção da tendência. Esta divergência entre a desaceleração do posicionamento e a continuação da apreciação ou depreciação dos preços é o sinal de alerta precoce mais importante que o relatório COT oferece.

Fase 4 Primeira descontração (Z-Score recuando do extremo)

A catalyst arrives — an unexpected central bank statement, a macro data surprise, a geopolitical shock — and the most leveraged participants begin reducing exposure. The z-score retreats from its extreme, but slowly at first. Price reverses sharply because exits are clustered: everyone who entered in Phase 2 is trying to leave simultaneously through the same door.

Fase 5 Espremimento (Z-Score voltando para o neutro)

A desvinculação se torna auto-reforçante. A cobertura curta ou a liquidação longa acelera. Posições que eram lucrativas durante grande parte da tendência tornam-se rapidamente não lucrativas ao longo da compressão.

Gráfico 3: Posicionamento do JPY em relação ao preço USD/JPY em duplo eixo

JPY Futures — Net Positioning vs USD/JPY Price (2023–2026)

Eixo duplo: JPY contratos não comerciais líquidos (esquerda); taxa de spot USD/JPY (direita, invertida).

Fonte: dados da CFTC COT através do /v1/cot/jpy e taxa de câmbio a vista através de /v1/forex/usd/jpy séries ilustrativas

O gráfico acima ilustra como as posições curtas líquidas do JPY acompanharam o USD/JPY em todo um ciclo de reversão completo. Até 2023 e até o início de 2024, o pesado posicionamento curto especulativo em futuros do JP Y correspondeu à tendência de alta do USD/ JPY. Mas cada vez que o posicionamiento alcançava um extremo estatístico, um catalisador muitas vezes um sinal de política do Banco do Japão comprimiu o livro curto rapidamente, produzindo uma apreciação acentuada do JP.

Os dados do COT não previram o catalisador. Ele disse que a posição era tão lotada que qualquer catalisadores contrários, independentemente do tamanho, seria amplificado pela dinâmica de saída da multidão. Ponto final de avaliação do COT do FXMacroData para rastrear se a corrente extrema está a aumentar ou a diminuir.

O sinal de divergência de preçoposicionamento

O mais confiável aviso de reversão baseado em COT não é o nível absoluto de posicionamento é a divergência entre a direção do preço e a direcção do posicionamentos.

Gráfico 4: Preço EUR COT versus EUR/USD (exemplo de divergência)

EUR/USD vs EUR COT Longs líquidos Detecção de divergência

EUR/USD spot (eixo esquerdo, azul); EUR contratos não comerciais líquidos em milhares (eixos direito, ouro).

Fonte: /v1/forex/eur/usd E ... /v1/cot/eur séries ilustrativas

Regras de detecção de divergências

  • Divergência de baixa: EUR/USD price makes a new high but EUR COT net longs fail to make a new high — speculators are distributing into strength. Watch for a reversal within 2–6 weeks.
  • Divergência de alta: O preço do USD/JPY atinge uma nova alta (JPY enfraquece ainda mais), mas os contratos curtos do JPY param de se expandir os vendedores curtos não estão adicionando convicção ao movimento.
  • Confirmação da tendência: Tanto o preço quanto o posicionamento líquido estão tendendo na mesma direção o caminho da menor resistência está intacto.

Combinação de sinais COT com os fundamentos macroscópicos

O posicionamento COT é um sinal de estrutura de mercado, não um fundamental. Seu poder se multiplica quando se alinha com o ambiente macro subjacente.

Configuração 1 Vento de cauda macro, posição lotada

A posição fundamental é forte e bem compreendida , mas já se reflete plenamente em posicionamento especulativo extremo. Neste caso, o benefício da melhoria macro é limitado porque a comunidade já se posicionou para isso. A assimetria está no lado negativo: se os dados macro decepcionarem mesmo modestamente, a reversão será violenta porque a multidão não tem para onde ir.

Esta descrição descreve a configuração atual do EUR. Uma narrativa de enfraquecimento do dólar dos EUA e o fortalecimento dos dados econômicos da UE apoiam o EUR nos fundamentos , mas uma pontuação z de +2,1 diz-lhe que grande parte desta tese já está avaliada no posicionamento de futuros. O comércio não está errado, mas o risco/recompensa reduziu-se significativamente.

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"])

Configuração 2 Vento de frente macro, posição lotada (alerta máximo)

This is the highest-alert setup. Macro data starts contradicting the consensus thesis at the same time positioning is at an extreme. A crowded trade losing its fundamental justification is a recipe for a rapid, disorderly unwind. The CHF at −1.7 combined with any SNB policy surprise that challenges the CHF bear thesis would be a textbook example of this configuration.

Gráfico 5: Velocidade semanal do delta do COT

Velocidade de mudança de posicionamento Delta semanal do contrato líquido (EUR, JPY, GBP)

A desaceleração do delta num extremo de posicionamento é um sinal de exaustão da fase 3.

Fonte: dados da CFTC COT através do FXMacroData série ilustrativa

A velocidade é tão importante quanto o nível. Quando as mudanças de posição líquidas estavam a correr a +8.000 a +12.000 contratos por semana no auge da acumulação de EUR e desde então desaceleraram para +1.000 a +2.000, essa desaceleração é uma assinatura objetiva da Fase 3.

Um quadro prático de negociação de reversão

A tradução de sinais COT em negociações reais requer estrutura. Os extremos de posicionamento podem persistir por semanas ou meses, e não há garantia de que uma leitura extrema se reverterá prontamente.

Passo 1 Exibe os extremos

Execute a varredura semanal de pontuação z em todas as 8 moedas. Marque qualquer moeda com uma pontuações > 2.0 como candidata para monitoramento de reversão.

Passo 2 Verifique a velocidade

Calcule o delta semanal. Se as últimas 3 semanas mostrarem adição desacelerada (seusΔsΔs de encolhimento), a fase de exaustão pode estar em andamento.

Passo 3 Alinhar com a macro

Verifique os indicadores fundamentais relevantes através do FXMacroData. Os dados macro apoiam ou minam a tese de aglomeração? Um vento favorável macro significa esperar; um vento contrário macro significa que a configuração está ativa.

Passo 4 Espere um gatilho

Não desvaneça posicionamento extremo sem um gatilho. Os gatilhos incluem: surpresa do banco central, macro miss, ruptura técnica do suporte/resistência chave ou uma primeira semana confirmada de redução líquida da COT.

Passo 5 Tamanho para a volatilidade

As reversões dos extremos lotados são rápidas e voláteis. As posições de tamanho para acomodar os movimentos adversos iniciais antes que o desdobramento ganhe impulso. Stop loss acima / abaixo do máximo / baixo da pontuação z extrema.

Invalidação

Se o COT mostra um novo recorde semanal na direção extrema após a entrada, a tese está errada no curto prazo.

Construção de um scanner COT semanal

A implementação prática deste quadro é um scanner semanal que calcula automaticamente os z-scores e deltas para todos os oito futuros de moeda e produz uma tabela de alerta classificada. Ponto final de avaliação do COT do FXMacroData- Não .

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}")

Running this each Friday evening — shortly after the 3:30 pm Eastern COT release — gives you a complete read of the speculative landscape before the weekend and before Asian open the following Sunday.

Acesso a dados reais de COT

A FXMacroData fornece posicionamento semanal do CFTC COT para os oito principais futuros de moedas AUD, CAD, CHF, EUR, GBP, JPY, NZD e USD com histórico completo, respostas JSON limpas e endpoints por moeda.

Tente o ponto final EUR: https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY

Blogroll

AI Answer-Ready

Key Facts

Page
COT Positioning Crowded Trades
Section
Articles
Canonical URL
https://fxmacrodata.com/pt/artigos/cot-positioning-crowded-trades
Source
FXMacroData editorial and official publisher references
Last Updated
2026-06-15 11:06 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains COT Positioning Crowded Trades with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.