COT Sinyal Anlık Görüntüsü — Nisan 2026
JPY — Aşırı Kısa
Net −148k kontrat · Z-skoru −2.4
EUR — Uzatılmış Uzun
Net +112k kontrat · Z-skoru +2.1
GBP — Orta Derecede Uzun
Net +64k kontrat · Z-skoru +1.3
AUD — Hafif Kısa
Net −18k kontrat · Z-skoru −0.6
Sekiz büyük döviz vadeli işlem piyasasından ikisi şu anda spekülatif pozisyonlanmada istatistiksel uç noktalar gösteriyor. JPY net kısa kontratları −148.000'in altına düşerek, son 52 haftalık dağılıma göre −2.4'lük bir z-skoru oluştururken, EUR net uzun pozisyonları +112.000'e yükselerek +2.1'lik bir z-skoru kaydetti. Ticari olmayan yatırımcılar tek bir yönde bu kadar yoğunlaştığında, işlem makro tezden çıkıp çıkış riskiyle ilgili olmaya başlar.
Bu makale bundan sonra ne olacağını ele alıyor. Haftalık CFTC Commitments of Traders verilerini kullanarak, bir konsensüs işleminin ne zaman "iyi konumlanmış" olmaktan "tehlikeli derecede kalabalık" hale geldiğini, bir çözülmenin erken uyarı sinyallerinin neye benzediğini ve COT pozisyonlanma uç noktaları etrafında bir geri dönüş çerçevesini nasıl yapılandıracağımızı inceliyoruz.
Bu Makale Neleri Kapsıyor
- Z-skorları ve net açık faiz oranları kullanarak kalabalık işlemleri tanımlama ve ölçme
- Sekiz büyük döviz vadeli işlem piyasasındaki mevcut aşırı okumalar
- COT odaklı bir geri dönüşün anatomisi — uç noktadan sıkışmaya kadar beş aşama
- Daha yüksek inançlı işlemler için COT sinyallerini makro temellerle birleştirme
- Pratik bir geri dönüş çerçevesi: giriş tetikleyicileri, onay sinyalleri ve geçersiz kılma
Kalabalık Bir İşlemi Tanımlama
Bir işlem, ticari olmayan spekülatif topluluğun — hedge fonları, varlık yöneticileri ve emtia işlem danışmanları — kendi geçmişine göre istatistiksel olarak aşırı olan yönlü bir pozisyon biriktirmesiyle kalabalıklaşır. Kritik kelime görelidir. +100.000 EUR kontratlık net uzun pozisyon doğası gereği aşırı değildir; yalnızca para biriminin tipik pozisyonlanma aralığının çok üzerinde yer alıyorsa aşırıdır.
İki metrik, bu tanımı uygulanabilir eşiklere dönüştürür.
Net Ticari Olmayan Pozisyonlanmanın Z-Skoru
COT okumalarını para birimleri ve zaman dilimleri arasında normalleştirmek için en sağlam yol, kayan z-skorudur. Bu, kesin bir soruyu yanıtlar: mevcut pozisyonlanma, son ortalamasının kaç standart sapma üzerinde veya altındadır? 52 haftalık bir pencere kullanmak, kıyaslamayı, mevcut piyasa yapısını artık yansıtmayabilecek çok on yıllık geçmiş yerine mevcut makro rejime bağlar.
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, ...}
+2.0'ın üzerindeki veya −2.0'ın altındaki okumalar, para birimini tarihsel dağılımının en üst veya en alt %2.3'üne yerleştirir. Bu, bu makalenin "aşırı" olarak ele aldığı eşiktir — yapısal bir pozisyonlanma riski olarak işaretlenecek kadar istatistiksel olarak sıra dışıdır.
Açık Faizin Bir Kesri Olarak Net Pozisyon
Z-skoru, pozisyonlanmanın tarihsel dağılımında nerede yer aldığını gösterir. Net-açık-faiz oranı, yönlü bahsin mevcut piyasa derinliği içinde ne kadar yoğunlaştığını gösterir. Ticari olmayan net pozisyonlanma, toplam açık faizin %25-30'undan fazlasını temsil ettiğinde, piyasa yapısal olarak çarpıktır ve herhangi bir ters katalizörde bir kopma potansiyeli yüksektir.
EUR Vadeli İşlemleri — Net Ticari Olmayan Pozisyonlanma (2023–2026)
Kayan 52 haftalık z-skoru katmanı. Gölgeli bantlar aşırı eşikleri (±2σ) işaretler.
Kaynak: FXMacroData aracılığıyla CFTC COT verileri /v1/cot/eur — açıklayıcı tarihsel seri
Büyük Para Birimlerinde Mevcut Aşırı Okumalar
Çapraz para birimi z-skoru taraması, herhangi bir makro FX yatırımcısının yapabileceği tartışmasız en güçlü haftalık ritüeldir. Sekiz döviz vadeli işleminin tamamını aynı anda sıralayarak, hangi işlemlerin her iki tarafta da hareketli olduğunu ve makro tezin gelişmeye devam edebileceği nötr bir bölgede kalanları hemen ortaya çıkarır.
COT Pozisyonlanma Z-Skorları — Tüm Büyük Para Birimleri (Nisan 2026)
52 haftalık kayan z-skoru. Kırmızı çubuklar aşırı kısa kalabalıklaşmayı; yeşil çubuklar aşırı uzun kalabalıklaşmayı gösterir.
Kaynak: FXMacroData aracılığıyla CFTC COT verileri /v1/cot/{currency} — açıklayıcı anlık görüntü
Yukarıdaki anlık görüntü, spekülatif duyarlılıkta net bir ayrım gösteriyor. JPY kısa pozisyonları, −2.4'lük z-skoru ile −2.0 tehlike eşiğinin oldukça altında yer alarak, kompleksteki en kalabalık pozisyondur. EUR uzun pozisyonları +2.1'e ulaşmış ve konsensüs uzun pozisyonun kendi başına bir risk haline geldiği noktaya yaklaşıyor. CHF −1.7'de, aşırı kısa bölgeye yaklaşıyor. CAD ve AUD ise nötr bölgede rahatça duruyor.
Çift yatırımcıları için, JPY/EUR ayrışması en uygulanabilir okumadır: ortalamaya dönüşe inanıyorsanız, pozisyon çözülmesinden en yapısal destek alan işlem, bir tarafta aşırı uzun EUR pozisyonu ve diğer tarafta aşırı kısa JPY pozisyonu olan EUR/JPY kısa pozisyonudur.
Temel Çıkarım: Çiftler Çarpan Etkisi
Bir döviz çiftinin her iki ayağı da zıt yönlerde aşırı z-skorları taşıdığında, bir çözülmede beklenen hareket katlanır. EUR'nun +2.1 ve JPY'nin −2.4 olduğu bir EUR/JPY kısa pozisyonu, duyarlılıktaki herhangi bir değişimin her iki ayağı da aynı anda etkilediği anlamına gelir. Bu çift aşırı kurulumun tarihsel örnekleri, pozisyonlanma zirvesinden sonraki haftalar içinde çiftte genellikle %3-5'lik keskin, hızlı hareketler üretmiştir.
COT Odaklı Bir Geri Dönüşün Anatomisi
Aşırı pozisyonlanma kendiliğinden tersine dönmez. Her biri ölçülebilir COT imzalarına sahip, belirgin aşamalar halinde çözülür. Aşama yapısını anlamak, geçici bir konsolidasyon ile gerçek bir rejim değişikliği arasında ayrım yapmanıza yardımcı olur.
Aşama 1 — Birikim (Z-Skoru 0 ila ±1.5)
Makro tez ivme kazanır. Her hafta, spekülatif topluluk inançla pozisyona ekleme yapar. Net kontratlar istikrarlı bir şekilde büyür, açık faiz artar ve fiyattaki eğilim konsensüsü yansıtır ve pekiştirir.
Aşama 2 — Kalabalıklaşma (Z-Skoru ±1.5 ila ±2.0)
Pozisyon, fiyatın haklı çıkardığından daha hızlı büyür. Yeni girenler, orijinal tezin güçlenmesinden ziyade işlemin işe yaradığı için katılıyorlar. Net pozisyonlanmadaki haftalık deltalar hızlanır. Bu aşama genellikle sahipleri için en karlı olanıdır — momentum tamamen devrededir — ancak aynı zamanda çıkış riskinin arka planda görünmez bir şekilde oluşmaya başladığı zamandır.
Aşama 3 — Tükenme (Z-Skoru ±2.0'ın ötesinde)
Yeni pozisyon oluşturma hızı yavaşlar. Açık faiz plato çizebilir veya düşmeye başlayabilirken, fiyat trend yönünde hareket etmeye devam eder. Yavaşlayan pozisyonlanma ile devam eden fiyat artışı veya düşüşü arasındaki bu ayrışma, COT raporunun sunduğu en önemli erken uyarı sinyalidir.
Aşama 4 — İlk Çözülme (Z-Skoru aşırı noktadan geri çekiliyor)
Bir katalizör gelir — beklenmedik bir merkez bankası açıklaması, bir makro veri sürprizi, jeopolitik bir şok — ve en kaldıraçlı katılımcılar pozisyonlarını azaltmaya başlar. Z-skoru aşırı noktasından geri çekilir, ancak başlangıçta yavaşça. Fiyat keskin bir şekilde tersine döner çünkü çıkışlar kümelenmiştir: Aşama 2'de giren herkes aynı kapıdan aynı anda çıkmaya çalışır.
Aşama 5 — Sıkışma (Z-Skoru nötre dönüyor)
Çözülme kendi kendini pekiştirir hale gelir. Kısa pozisyon kapatma veya uzun pozisyon tasfiyesi hızlanır. Trendin büyük bir kısmında karlı olan pozisyonlar, sıkışma sırasında hızla karsız hale gelir. Hareket genellikle yeni bir nötr pozisyonlanma rejimine yakın bir yerde stabilize olmadan önce adil değeri aşar.
JPY Vadeli İşlemleri — Net Pozisyonlanma ve USD/JPY Fiyatı (2023–2026)
Çift eksen: JPY net ticari olmayan kontratlar (sol); USD/JPY spot kuru (sağ, ters çevrilmiş). Pozisyonlanma uç noktaları, büyük çift dönüm noktalarıyla hizalanır.
Kaynak: /v1/cot/jpy aracılığıyla CFTC COT verileri ve /v1/forex/usd/jpy aracılığıyla spot kur — açıklayıcı seri
Yukarıdaki grafik, JPY net kısa pozisyonlarının tam bir geri dönüş döngüsü boyunca USD/JPY'yi nasıl takip ettiğini göstermektedir. 2023 boyunca ve 2024 başlarına kadar, JPY vadeli işlemlerindeki yoğun spekülatif kısa pozisyonlanma, USD/JPY'nin yükseliş trendiyle örtüşüyordu. Ancak pozisyonlanma her istatistiksel uç noktaya ulaştığında, bir katalizör — genellikle bir Japonya Merkez Bankası politika sinyali — kısa pozisyonları hızla sıkıştırarak keskin bir JPY değerlenmesi üretti.
COT verileri katalizörü tahmin etmedi. Size pozisyonun o kadar kalabalık olduğunu söyledi ki, boyutu ne olursa olsun herhangi bir ters katalizör, kalabalığın çıkış dinamikleri tarafından güçlendirilecekti. Mevcut aşırı durumun oluşup oluşmadığını veya hafifleyip hafiflemediğini takip etmek için FXMacroData COT uç noktası aracılığıyla JPY pozisyonlanma geçmişine erişin.
Fiyat-Pozisyonlanma Ayrışma Sinyali
En güvenilir COT tabanlı geri dönüş uyarısı, pozisyonlanmanın mutlak seviyesi değil — fiyat yönü ile pozisyonlanma yönü arasındaki ayrışmadır. Fiyat tek bir yönde hareket etmeye devam ederken, dayanak vadeli işlemlerdeki spekülatif pozisyonlanma diğer yöne doğru hareket etmeye başladığında, büyük katılımcılar zaten pozisyonlarını azaltırken, perakende momentum yatırımcıları fiyatı yukarı veya aşağı itmeye devam eder.
EUR/USD ve EUR COT Net Uzun Pozisyonları — Ayrışmayı Tespit Etme
EUR/USD spot (sol eksen, mavi); binlerce EUR net ticari olmayan kontrat (sağ eksen, altın). Ayrışma bölgeleri kehribar rengiyle gölgelendirilmiştir.
Kaynak: /v1/forex/eur/usd ve /v1/cot/eur — açıklayıcı seri
Ayrışma Tespit Kuralları
- Ayı ayrışması: EUR/USD fiyatı yeni bir zirve yaparken EUR COT net uzun pozisyonları yeni bir zirve yapamıyor — spekülatörler güce dağıtım yapıyor. 2-6 hafta içinde bir geri dönüş için izleyin.
- Boğa ayrışması: USD/JPY fiyatı yeni bir zirve yaparken (JPY daha da zayıflıyor) JPY kısa kontratları genişlemeyi durduruyor — kısa satıcılar harekete inanç katmıyor. Potansiyel tükenme sinyali.
- Trendin onayı: Hem fiyat hem de net pozisyonlanma aynı yönde trend yapıyor — en az dirençli yol sağlam. Bu onay bozulana kadar trendde kalın.
COT Sinyallerini Makro Temellerle Birleştirme
COT pozisyonlanması, temel bir sinyal değil, bir piyasa yapısı sinyalidir. Gücü, temel makro ortamla uyumlu olduğunda — veya çeliştiğinde — katlanır. En yüksek inançlı kurulumlar iki özel konfigürasyonda ortaya çıkar.
Konfigürasyon 1 — Makro Rüzgarı, Kalabalık Pozisyon
Bir pozisyon için temel durum güçlü ve iyi anlaşılmış — ancak zaten aşırı spekülatif pozisyonlanmaya tamamen yansımış durumda. Bu durumda, daha fazla makro iyileşmeden elde edilecek yukarı yönlü potansiyel sınırlıdır çünkü topluluk zaten buna göre pozisyon almıştır. Asimetri aşağı yöndedir: makro veriler mütevazı bir şekilde bile hayal kırıklığı yaratırsa, geri dönüş şiddetli olacaktır çünkü kalabalığın gidecek yeri yoktur.
Bu, mevcut EUR kurulumunu tanımlar. Zayıflayan bir ABD doları anlatısı ve güçlenen AB ekonomik verileri, temeller üzerinde EUR uzun pozisyonlarını destekliyor — ancak +2.1'lik bir z-skoru, bu tezin çoğunun zaten vadeli işlem pozisyonlanmasına fiyatlandığını gösteriyor. İşlem yanlış değil, ancak risk/ödül önemli ölçüde daralmıştır. Doğrulamak için COT ile birlikte EUR makro verilerini çekin:
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"])
Konfigürasyon 2 — Makro Ters Rüzgar, Kalabalık Pozisyon (En Yüksek Alarm)
Bu, en yüksek alarm kurulumudur. Makro veriler, pozisyonlanmanın aşırı olduğu aynı zamanda konsensüs tezini çelişmeye başlar. Temel gerekçesini kaybeden kalabalık bir işlem, hızlı, düzensiz bir çözülme için bir reçetedir. −1.7'deki CHF, CHF ayı tezini zorlayan herhangi bir SNB politika sürpriziyle birleştiğinde, bu konfigürasyonun ders kitabı niteliğinde bir örneği olacaktır.
Pozisyonlanma Değişim Hızı — Haftalık Net Kontrat Deltası (EUR, JPY, GBP)
Net ticari olmayan kontratlardaki haftalık değişim. Bir pozisyonlanma uç noktasında yavaşlayan delta, erken bir Aşama 3 tükenme sinyalidir.
Kaynak: FXMacroData aracılığıyla CFTC COT verileri — açıklayıcı seri
Hız, seviye kadar önemlidir. EUR birikiminin zirvesinde net pozisyon değişiklikleri haftada +8.000 ila +12.000 kontrat arasında seyrederken, o zamandan beri +1.000 ila +2.000'e yavaşladıysa, bu yavaşlama objektif bir Aşama 3 imzasıdır. Kalabalık hala ekleme yapıyor ancak inanç zayıflıyor. Geri dönüş riskinin teorikten yakın olana geçtiği an budur.
Pratik Bir Geri Dönüş İşlem Çerçevesi
COT sinyallerini gerçek işlemlere dönüştürmek yapı gerektirir. Pozisyonlanma uç noktaları haftalarca veya aylarca sürebilir ve aşırı bir okumanın hemen tersine döneceğinin garantisi yoktur. Aşağıdaki çerçeve, COT'u kesin bir zamanlama aracı olarak değil, bir ön koşul filtresi olarak kullanır.
Adım 1 — Aşırı Noktaları Tarayın
Haftalık z-skoru taramasını 8 para biriminin tamamında çalıştırın. |z| > 2.0 olan herhangi bir para birimini geri dönüş izlemesi için aday olarak işaretleyin.
Adım 2 — Hızı Kontrol Edin
Haftalık deltayı hesaplayın. Son 3 hafta yavaşlayan ekleme (|Δ| küçülüyor) gösteriyorsa, tükenme aşaması başlamış olabilir. Bu, giriş için bir ön koşuldur, bir tetikleyici değildir.
Adım 3 — Makro ile Uyumlayın
FXMacroData aracılığıyla ilgili temel göstergeleri kontrol edin. Makro veriler kalabalık tezi destekliyor mu yoksa zayıflatıyor mu? Bir makro rüzgarı beklemek anlamına gelir; bir makro ters rüzgarı ise kurulumun aktif olduğu anlamına gelir.
Adım 4 — Bir Tetikleyici Bekleyin
Bir tetikleyici olmadan aşırı pozisyonlanmayı tersine çevirmeyin. Tetikleyiciler şunları içerir: merkez bankası sürprizi, makro veri kaçırılması, önemli destek/direncin teknik kırılması veya COT'ta net azalmanın onaylanmış ilk haftası.
Adım 5 — Volatiliteye Göre Boyutlandırın
Kalabalık uç noktalardan geri dönüşler hızlı ve değişkendir. Çözülme momentum kazanmadan önce ilk olumsuz hareketleri karşılamak için pozisyonları boyutlandırın. Aşırı z-skoru yüksek/düşük seviyesinin üstüne/altına stop loss koyun.
Geçersiz Kılma
Girişten sonra COT, aşırı yönde yeni bir haftalık rekor gösteriyorsa, tez kısa vadede yanlıştır. Çıkış yapın ve yeniden değerlendirin. Kalabalık işlemler, tersine dönmeden önce daha da kalabalıklaşabilir.
Haftalık Bir COT Tarayıcı Oluşturma
Bu çerçevenin pratik uygulaması, sekiz döviz vadeli işleminin tamamı için z-skorlarını ve deltalarını otomatik olarak hesaplayan ve sıralı bir uyarı tablosu çıkaran haftalık bir tarayıcıdır. İşte FXMacroData COT uç noktasını kullanan üretime hazır bir betik:
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}")
Bunu her Cuma akşamı — Doğu saatiyle 15:30'daki COT yayınından kısa bir süre sonra — çalıştırmak, hafta sonundan önce ve ertesi Pazar Asya açılışından önce spekülatif piyasanın tam bir okumasını sağlar.
Gerçek COT Verilerine Erişin
FXMacroData, sekiz büyük döviz vadeli işleminin tamamı — AUD, CAD, CHF, EUR, GBP, JPY, NZD ve USD — için haftalık CFTC COT pozisyonlanmasını, eksiksiz geçmişi, temiz JSON yanıtları ve para birimi başına uç noktalarıyla sağlar.
EUR uç noktasını deneyin: https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY