Snapshot del Segnale COT — Aprile 2026
JPY — Estremamente Corto
Netto −148k contratti · Z-score −2.4
EUR — Lungo Esteso
Netto +112k contratti · Z-score +2.1
GBP — Moderatamente Lungo
Netto +64k contratti · Z-score +1.3
AUD — Leggermente Corto
Netto −18k contratti · Z-score −0.6
Due degli otto principali mercati dei future sulle valute stanno attualmente segnalando estremi statistici nel posizionamento speculativo. I contratti netti corti sul JPY sono scesi sotto i −148.000 — uno z-score di −2.4 rispetto alla distribuzione delle ultime 52 settimane — mentre i contratti netti lunghi sull'EUR sono saliti a +112.000, uno z-score di +2.1. Quando i trader non commerciali si affollano così pesantemente in una direzione, l'operazione smette di riguardare la tesi macro e inizia a riguardare il rischio di uscita.
Questo articolo riguarda ciò che accade dopo. Utilizzando i dati settimanali CFTC Commitments of Traders, esaminiamo come identificare quando un'operazione di consenso passa da "ben posizionata" a "pericolosamente affollata", quali sono i segnali di allarme precoce di uno scioglimento delle posizioni e come strutturare un framework di inversione attorno agli estremi di posizionamento COT.
Cosa Tratta Questo Articolo
- Definire e misurare le operazioni affollate utilizzando gli z-score e i rapporti net-open-interest
- Letture estreme attuali su tutti gli otto principali future sulle valute
- L'anatomia di un'inversione guidata dal COT — cinque fasi dall'estremo allo squeeze
- Combinare i segnali COT con i fondamentali macro per operazioni a maggiore convinzione
- Un framework pratico di inversione: trigger di ingresso, segnali di conferma e invalidazione
Definire un'Operazione Affollata
Un'operazione diventa affollata quando la comunità speculativa non commerciale — hedge fund, gestori patrimoniali e consulenti di trading di materie prime — accumula una posizione direzionale che è statisticamente estrema rispetto alla propria storia. La parola critica è relativa. Una posizione netta lunga di +100.000 contratti EUR non è intrinsecamente estrema; è estrema solo se si trova ben al di sopra del tipico intervallo di posizionamento della valuta.
Due metriche affinano questa definizione in soglie operative.
Z-Score del Posizionamento Netto Non Commerciale
Il modo più robusto per normalizzare le letture COT tra valute e periodi di tempo è lo z-score mobile. Risponde a una domanda precisa: quante deviazioni standard al di sopra o al di sotto della sua media recente si trova il posizionamento attuale? L'utilizzo di una finestra di 52 settimane lega il benchmark al regime macro attuale piuttosto che a una storia di più decenni che potrebbe non riflettere più l'attuale struttura del mercato.
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, ...}
Letture superiori a +2.0 o inferiori a −2.0 collocano la valuta nel 2.3% superiore o inferiore della sua distribuzione storica. Questa è la soglia che questo articolo considera "estrema" — statisticamente abbastanza insolita da segnalare come rischio di posizionamento strutturale.
Posizione Netta come Frazione dell'Open Interest
Lo z-score indica dove si trova il posizionamento nella sua distribuzione storica. Il rapporto netto-su-open-interest indica quanto è concentrata la scommessa direzionale all'interno dell'attuale profondità del mercato. Quando il posizionamento netto non commerciale rappresenta più del 25–30% dell'open interest totale, il mercato è strutturalmente distorto e il potenziale di una dislocazione su qualsiasi catalizzatore contrario è elevato.
Future EUR — Posizionamento Netto Non Commerciale (2023–2026)
Sovrapposizione dello z-score mobile a 52 settimane. Le bande ombreggiate indicano le soglie estreme (±2σ).
Fonte: Dati CFTC COT tramite FXMacroData /v1/cot/eur — serie storica illustrativa
Letture Estreme Attuali Tra le Principali Valute
La scansione dello z-score tra valute è probabilmente il rituale settimanale più potente che qualsiasi trader macro FX possa eseguire. Classificando tutti gli otto future sulle valute contemporaneamente, rivela immediatamente quali operazioni sono in forte crescita su entrambi i lati e quali rimangono in una zona neutra dove la tesi macro ha spazio per svilupparsi.
Z-Score del Posizionamento COT — Tutte le Principali Valute (Aprile 2026)
Z-score mobile a 52 settimane. Le barre rosse indicano un affollamento estremo di posizioni corte; le barre verdi indicano un affollamento estremo di posizioni lunghe.
Fonte: Dati CFTC COT tramite FXMacroData /v1/cot/{currency} — snapshot illustrativo
Lo snapshot sopra mostra una chiara biforcazione nel sentiment speculativo. Il portafoglio corto sul JPY è la posizione più affollata nel complesso, con il suo z-score di −2.4 che si trova ben al di sotto della soglia di pericolo di −2.0. Le posizioni lunghe sull'EUR hanno raggiunto +2.1 e si stanno avvicinando al punto in cui la posizione lunga di consenso diventa un rischio in sé. Il CHF è a −1.7, avvicinandosi al territorio di estremo corto. CAD e AUD si trovano comodamente nella zona neutra.
Per i trader di coppie, la divergenza JPY/EUR è la lettura più operativa: se si crede nella regressione alla media, l'operazione con il maggiore vento a favore strutturale dallo scioglimento delle posizioni è short EUR/JPY — una valuta con un'esposizione EUR lunga estrema da un lato e un'esposizione JPY corta estrema dall'altro.
Punto Chiave: L'Effetto Moltiplicatore delle Coppie
Quando entrambe le gambe di una coppia di valute presentano z-score estremi in direzioni opposte, il movimento atteso in caso di scioglimento delle posizioni è amplificato. Short EUR/JPY con EUR a +2.1 e JPY a −2.4 significa che qualsiasi cambiamento nel sentiment influisce su entrambe le gambe contemporaneamente. Episodi storici di questa configurazione a doppio estremo hanno prodotto movimenti bruschi e veloci — spesso del 3–5% nella coppia entro settimane dal picco di posizionamento.
L'Anatomia di un'Inversione Guidata dal COT
Il posizionamento estremo non si inverte spontaneamente. Si scioglie in una sequenza di fasi distinte, ognuna con firme COT misurabili. Comprendere la struttura delle fasi aiuta a distinguere tra un consolidamento temporaneo e un vero e proprio cambiamento di regime.
Fase 1 — Accumulazione (Z-Score da 0 a ±1.5)
La tesi macro prende piede. Ogni settimana, la comunità speculativa aggiunge alla posizione con convinzione. I contratti netti crescono costantemente, l'open interest aumenta e la tendenza del prezzo riflette e rafforza il consenso.
Fase 2 — Affollamento (Z-Score da ±1.5 a ±2.0)
La posizione cresce più velocemente di quanto il prezzo giustifichi. Nuovi partecipanti si uniscono perché l'operazione ha funzionato, non perché la tesi originale si sia rafforzata. I delta settimanali nel posizionamento netto accelerano. Questa fase è spesso la più redditizia per i detentori — il momentum è pienamente ingaggiato — ma è anche quando il rischio di uscita inizia a crescere invisibilmente in sottofondo.
Fase 3 — Esaurimento (Z-Score oltre ±2.0)
Il tasso di costruzione di nuove posizioni rallenta. L'open interest può stabilizzarsi o iniziare a diminuire mentre il prezzo continua a muoversi nella direzione del trend. Questa divergenza tra il rallentamento del posizionamento e la continua apprezzamento o deprezzamento del prezzo è il più importante segnale di allarme precoce offerto dal rapporto COT.
Fase 4 — Primo Scioglimento (Z-Score in ritirata dall'estremo)
Arriva un catalizzatore — una dichiarazione inaspettata della banca centrale, una sorpresa nei dati macro, uno shock geopolitico — e i partecipanti più leveraged iniziano a ridurre l'esposizione. Lo z-score si ritira dal suo estremo, ma lentamente all'inizio. Il prezzo si inverte bruscamente perché le uscite sono raggruppate: tutti coloro che sono entrati nella Fase 2 stanno cercando di uscire contemporaneamente dalla stessa porta.
Fase 5 — Squeeze (Z-Score che ritorna verso la neutralità)
Lo scioglimento delle posizioni diventa auto-rinforzante. La copertura di posizioni corte o la liquidazione di posizioni lunghe accelera. Le posizioni che erano redditizie per gran parte del trend diventano rapidamente non redditizie durante lo squeeze. Il movimento spesso supera il fair value prima di stabilizzarsi vicino a un nuovo regime di posizionamento neutro.
Future JPY — Posizionamento Netto vs Prezzo USD/JPY (2023–2026)
Doppio asse: contratti netti non commerciali JPY (sinistra); tasso spot USD/JPY (destra, invertito). Gli estremi di posizionamento si allineano con i principali punti di svolta della coppia.
Fonte: Dati CFTC COT tramite /v1/cot/jpy e tasso spot tramite /v1/forex/usd/jpy — serie illustrativa
Il grafico sopra illustra come le posizioni nette corte sul JPY hanno seguito USD/JPY attraverso un ciclo di inversione completo. Per tutto il 2023 e l'inizio del 2024, il pesante posizionamento speculativo corto nei future sul JPY ha corrisposto a un trend rialzista di USD/JPY. Ma ogni volta che il posizionamento raggiungeva un estremo statistico, un catalizzatore — spesso un segnale di politica della Bank of Japan — comprimeva rapidamente il portafoglio corto, producendo un forte apprezzamento del JPY.
I dati COT non hanno previsto il catalizzatore. Ti hanno detto che la posizione era così affollata che qualsiasi catalizzatore contrario, indipendentemente dalla sua dimensione, sarebbe stato amplificato dalle dinamiche di uscita della folla. Accedi alla cronologia del posizionamento JPY tramite l'endpoint COT di FXMacroData per monitorare se l'attuale estremo si sta costruendo o attenuando.
Il Segnale di Divergenza Prezzo-Posizionamento
L'avviso di inversione più affidabile basato sul COT non è il livello assoluto di posizionamento — è la divergenza tra la direzione del prezzo e la direzione del posizionamento. Quando il prezzo continua in una direzione ma il posizionamento speculativo nei future sottostanti inizia a muoversi nell'altra direzione, i grandi partecipanti stanno già riducendo l'esposizione mentre i trader retail di momentum spingono il prezzo più in alto o più in basso.
EUR/USD vs EUR COT Posizioni Nette Lunghe — Rilevamento della Divergenza
EUR/USD spot (asse sinistro, blu); contratti netti non commerciali EUR in migliaia (asse destro, oro). Zone di divergenza ombreggiate in ambra.
Fonte: /v1/forex/eur/usd e /v1/cot/eur — serie illustrativa
Regole di Rilevamento della Divergenza
- Divergenza ribassista: il prezzo EUR/USD raggiunge un nuovo massimo ma le posizioni nette lunghe EUR COT non riescono a raggiungere un nuovo massimo — gli speculatori stanno distribuendo sulla forza. Attenzione a un'inversione entro 2–6 settimane.
- Divergenza rialzista: il prezzo USD/JPY raggiunge un nuovo massimo (JPY si indebolisce ulteriormente) ma i contratti corti JPY smettono di espandersi — i venditori allo scoperto non stanno aggiungendo convinzione al movimento. Potenziale segnale di esaurimento.
- Conferma del trend: Sia il prezzo che il posizionamento netto sono in trend nella stessa direzione — il percorso di minor resistenza è intatto. Rimani con il trend finché questa conferma non si interrompe.
Combinare i Segnali COT con i Fondamentali Macro
Il posizionamento COT è un segnale di struttura di mercato, non fondamentale. La sua potenza si moltiplica quando si allinea — o contraddice — l'ambiente macroeconomico sottostante. Le configurazioni a più alta convinzione sorgono in due specifiche situazioni.
Configurazione 1 — Vento a Favore Macro, Posizione Affollata
Il caso fondamentale per una posizione è forte e ben compreso — ma è già pienamente riflesso in un posizionamento speculativo estremo. In questo caso, il potenziale di rialzo da ulteriori miglioramenti macro è limitato perché la comunità si è già posizionata per esso. L'asimmetria è al ribasso: se i dati macro deludono anche modestamente, l'inversione sarà violenta perché la folla non ha dove andare.
Questo descrive l'attuale configurazione dell'EUR. Una narrativa di indebolimento del dollaro USA e dati economici dell'UE in rafforzamento supportano le posizioni lunghe sull'EUR sui fondamentali — ma uno z-score di +2.1 ti dice che gran parte di questa tesi è già prezzata nel posizionamento dei future. L'operazione non è sbagliata, ma il rapporto rischio/rendimento si è significativamente ristretto. Estrai i dati macro dell'EUR insieme al COT per verificare:
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"])
Configurazione 2 — Vento Contrario Macro, Posizione Affollata (Massima Allerta)
Questa è la configurazione di massima allerta. I dati macro iniziano a contraddire la tesi di consenso nello stesso momento in cui il posizionamento è a un estremo. Un'operazione affollata che perde la sua giustificazione fondamentale è una ricetta per uno scioglimento rapido e disordinato. Il CHF a −1.7 combinato con qualsiasi sorpresa di politica della SNB che sfidi la tesi ribassista del CHF sarebbe un esempio da manuale di questa configurazione.
Velocità di Variazione del Posizionamento — Delta Settimanale dei Contratti Netti (EUR, JPY, GBP)
Variazione settimana su settimana nei contratti netti non commerciali. Un delta in decelerazione a un estremo di posizionamento è un segnale precoce di esaurimento della Fase 3.
Fonte: Dati CFTC COT tramite FXMacroData — serie illustrativa
La velocità conta tanto quanto il livello. Quando le variazioni di posizione netta erano di +8.000 a +12.000 contratti a settimana al culmine dell'accumulazione di EUR e da allora sono rallentate a +1.000 a +2.000, quella decelerazione è una firma oggettiva della Fase 3. La folla sta ancora aggiungendo ma la convinzione sta vacillando. Questo è quando il rischio di inversione passa da teorico a imminente.
Un Framework Pratico di Trading per le Inversioni
Tradurre i segnali COT in operazioni reali richiede struttura. Gli estremi di posizionamento possono persistere per settimane o mesi, e non c'è alcuna garanzia che una lettura estrema si inverta prontamente. Il seguente framework utilizza il COT come filtro preliminare, non come strumento di timing preciso.
Passo 1 — Scansiona per Estremi
Esegui la scansione settimanale dello z-score su tutte le 8 valute. Contrassegna qualsiasi valuta con |z| > 2.0 come candidata per il monitoraggio di un'inversione.
Passo 2 — Controlla la Velocità
Calcola il delta settimanale. Se le ultime 3 settimane mostrano un'aggiunta in decelerazione (|Δ| in diminuzione), la fase di esaurimento potrebbe essere in corso. Questa è una precondizione per l'ingresso, non un trigger.
Passo 3 — Allineati con il Macro
Controlla gli indicatori fondamentali rilevanti tramite FXMacroData. I dati macro stanno supportando o minando la tesi affollata? Un vento a favore macro significa attendere; un vento contrario macro significa che la configurazione è attiva.
Passo 4 — Attendi un Trigger
Non contrastare il posizionamento estremo senza un trigger. I trigger includono: sorpresa della banca centrale, dato macro mancato, rottura tecnica di supporto/resistenza chiave, o una prima settimana confermata di riduzione netta nel COT.
Passo 5 — Dimensiona per la Volatilità
Le inversioni da estremi affollati sono veloci e volatili. Dimensiona le posizioni per accomodare i movimenti avversi iniziali prima che lo scioglimento delle posizioni acquisti slancio. Stop loss sopra/sotto il massimo/minimo dello z-score estremo.
Invalidazione
Se il COT mostra un nuovo record settimanale nella direzione estrema dopo l'ingresso, la tesi è sbagliata nel breve termine. Esci e rivaluta. Le operazioni affollate possono diventare ancora più affollate prima di invertirsi.
Costruire uno Scanner COT Settimanale
L'implementazione pratica di questo framework è uno scanner settimanale che calcola automaticamente gli z-score e i delta per tutti gli otto future sulle valute e produce una tabella di allerta classificata. Ecco uno script pronto per la produzione che utilizza l'endpoint COT di FXMacroData:
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}")
Eseguire questo ogni venerdì sera — poco dopo il rilascio del COT delle 15:30 Eastern — ti offre una lettura completa del panorama speculativo prima del fine settimana e prima dell'apertura asiatica la domenica successiva.
Accedi ai Dati COT Reali
FXMacroData fornisce il posizionamento settimanale CFTC COT per tutti gli otto principali future sulle valute — AUD, CAD, CHF, EUR, GBP, JPY, NZD e USD — con cronologia completa, risposte JSON pulite ed endpoint per valuta.
Prova l'endpoint EUR: https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY