תמונת מצב של אותות COT — אפריל 2026
JPY — שורט קיצוני
נטו −148k חוזים · ציון Z −2.4
EUR — לונג מורחב
נטו +112k חוזים · ציון Z +2.1
GBP — לונג מתון
נטו +64k חוזים · ציון Z +1.3
AUD — שורט קל
נטו −18k חוזים · ציון Z −0.6
שניים מתוך שמונת שוקי החוזים העתידיים העיקריים על מטבעות מציגים כעת קיצוניות סטטיסטית במיקום הספקולטיבי. חוזי שורט נטו על JPY ירדו מתחת ל-148,000- — ציון Z של 2.4- לעומת התפלגות 52 השבועות האחרונים — בעוד שלונגים נטו על EUR עלו ל-112,000+, ציון Z של 2.1+. כאשר סוחרים לא-מסחריים מצטופפים בכבדות בכיוון אחד, העסקה מפסיקה להיות קשורה לתזה המאקרו ומתחילה להיות קשורה לסיכון יציאה.
מאמר זה עוסק במה שקורה אחר כך. באמצעות נתוני CFTC Commitments of Traders השבועיים, אנו בוחנים כיצד לזהות מתי עסקה קונצנזוסית עוברת מ"ממוקמת היטב" ל"צפופה באופן מסוכן", כיצד נראים אותות האזהרה המוקדמים של פירוק עסקה, וכיצד לבנות מסגרת היפוך סביב קיצוניות במיקום COT.
מה מכסה מאמר זה
- הגדרה ומדידה של עסקאות צפופות באמצעות ציוני Z ויחסי נטו-ריבית פתוחה
- קריאות קיצוניות נוכחיות בכל שמונת החוזים העתידיים העיקריים על מטבעות
- האנטומיה של היפוך מונע COT — חמישה שלבים מקיצוניות ועד סחיטה
- שילוב אותות COT עם יסודות מאקרו לעסקאות בעלות ביטחון גבוה יותר
- מסגרת היפוך מעשית: טריגרים לכניסה, אותות אישור וביטול
הגדרת עסקה צפופה
עסקה הופכת לצפופה כאשר הקהילה הספקולטיבית הלא-מסחרית — קרנות גידור, מנהלי נכסים ויועצי מסחר בסחורות — צוברת עמדה כיוונית שהיא קיצונית סטטיסטית ביחס להיסטוריה שלה. מילת המפתח היא יחסית. לונג נטו של 100,000+ חוזי EUR אינו קיצוני מטבעו; הוא קיצוני רק אם הוא נמצא הרבה מעל טווח המיקום הטיפוסי של המטבע.
שני מדדים מחדדים הגדרה זו לספים ניתנים לפעולה.
ציון Z של מיקום נטו לא-מסחרי
הדרך החזקה ביותר לנרמל קריאות COT על פני מטבעות ותקופות זמן היא ציון ה-Z המתגלגל. הוא עונה על שאלה מדויקת: כמה סטיות תקן מעל או מתחת לממוצע האחרון שלו נמצא המיקום הנוכחי? שימוש בחלון של 52 שבועות קושר את נקודת הייחוס למשטר המאקרו הנוכחי ולא להיסטוריה של עשרות שנים שאולי אינה משקפת עוד את מבנה השוק הנוכחי.
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+ או מתחת ל-2.0- ממקמות את המטבע ב-2.3% העליונים או התחתונים של התפלגותו ההיסטורית. זהו הסף שמאמר זה מתייחס אליו כ"קיצוני" — חריג סטטיסטית מספיק כדי לסמן אותו כסיכון מיקום מבני.
מיקום נטו כשבר מהריבית הפתוחה
ציון ה-Z אומר לך היכן המיקום נמצא בהתפלגותו ההיסטורית. יחס הנטו לריבית הפתוחה אומר לך עד כמה ההימור הכיווני מרוכז בתוך עומק השוק הנוכחי. כאשר מיקום נטו לא-מסחרי מייצג יותר מ-25–30% מסך הריבית הפתוחה, השוק מוטה מבנית והפוטנציאל לשיבוש על רקע כל זרז מנוגד הוא גבוה.
חוזים עתידיים על EUR — מיקום נטו לא-מסחרי (2023–2026)
כיסוי ציון Z מתגלגל ל-52 שבועות. רצועות מוצללות מסמנות ספים קיצוניים (±2σ).
מקור: נתוני CFTC COT דרך FXMacroData /v1/cot/eur — סדרה היסטורית להמחשה
קריאות קיצוניות נוכחיות על פני מטבעות עיקריים
סריקת ציון ה-Z על פני מטבעות היא כנראה הטקס השבועי החזק ביותר שכל סוחר מאקרו FX יכול לבצע. על ידי דירוג כל שמונת החוזים העתידיים על מטבעות בו-זמנית, היא חושפת מיד אילו עסקאות מתחממות משני הצדדים ואילו נשארות באזור ניטרלי שבו לתזת המאקרו יש מקום להתפתח.
ציוני Z של מיקום COT — כל המטבעות העיקריים (אפריל 2026)
ציון Z מתגלגל ל-52 שבועות. עמודות אדומות מצביעות על צפיפות שורט קיצונית; עמודות ירוקות מצביעות על צפיפות לונג קיצונית.
מקור: נתוני CFTC COT דרך FXMacroData /v1/cot/{currency} — תמונת מצב להמחשה
תמונת המצב לעיל מציגה פיצול ברור בסנטימנט הספקולטיבי. ספר השורטים על JPY הוא המיקום הצפוף ביותר במערכת, כאשר ציון ה-Z שלו של 2.4- יושב הרבה מתחת לסף הסכנה של 2.0-. לונגים על EUR הגיעו ל-2.1+ ומתקרבים לנקודה שבה הלונג הקונצנזוס הופך לסיכון בפני עצמו. CHF נמצא ב-1.7-, מתקרב לטריטוריית שורט קיצונית. CAD ו-AUD יושבים בנוחות באזור הניטרלי.
עבור סוחרי זוגות, הסטייה בין JPY/EUR היא הקריאה המעשית ביותר: אם אתם מאמינים בחזרה לממוצע, העסקה עם רוח הגב המבנית הגדולה ביותר מפירוק המיקום היא שורט EUR/JPY — מטבע עם חשיפת לונג EUR קיצונית בצד אחד וחשיפת שורט JPY קיצונית בצד השני.
נקודת מפתח: אפקט המכפיל של זוגות
כאשר שני צידי זוג מטבעות נושאים ציוני Z קיצוניים בכיוונים מנוגדים, התנועה הצפויה בפירוק העסקה מוכפלת. שורט EUR/JPY עם EUR ב-2.1+ ו-JPY ב-2.4- פירושו שכל שינוי בסנטימנט משפיע על שני הצדדים בו-זמנית. אירועים היסטוריים של הגדרה קיצונית כפולה זו הניבו תנועות חדות ומהירות — לעיתים קרובות 3–5% בזוג תוך שבועות משיא המיקום.
האנטומיה של היפוך מונע COT
מיקום קיצוני אינו מתהפך באופן ספונטני. הוא מתפרק ברצף של שלבים מובחנים, שלכל אחד מהם חתימות COT מדידות. הבנת מבנה השלבים עוזרת להבחין בין התייצבות זמנית לבין שינוי משטר אמיתי.
שלב 1 — צבירה (ציון Z 0 עד ±1.5)
תזת המאקרו צוברת תאוצה. מדי שבוע, הקהילה הספקולטיבית מוסיפה לעמדה בביטחון. חוזים נטו גדלים בהתמדה, הריבית הפתוחה עולה, והמגמה במחיר משקפת ומחזקת את הקונצנזוס.
שלב 2 — צפיפות (ציון Z ±1.5 עד ±2.0)
המיקום גדל מהר יותר ממה שהמחיר מצדיק. מצטרפים חדשים מצטרפים מכיוון שהעסקה עבדה, לא מכיוון שהתזה המקורית התחזקה. דלתות שבועיות במיקום נטו מאיצות. שלב זה הוא לעיתים קרובות הרווחי ביותר עבור המחזיקים — המומנטום מעורב במלואו — אך זהו גם השלב שבו סיכון היציאה מתחיל להיבנות באופן בלתי נראה ברקע.
שלב 3 — תשישות (ציון Z מעבר ל-±2.0)
קצב בניית העמדות החדשות מאט. הריבית הפתוחה עשויה להתייצב או להתחיל לרדת בעוד שהמחיר ממשיך לנוע בכיוון המגמה. סטייה זו בין האטה במיקום והמשך עליית או ירידת מחירים היא אות האזהרה המוקדם החשוב ביותר שדוח ה-COT מציע.
שלב 4 — פירוק ראשוני (ציון Z נסוג מקיצוניות)
זרז מגיע — הצהרה בלתי צפויה של בנק מרכזי, הפתעה בנתוני מאקרו, הלם גיאופוליטי — והמשתתפים הממונפים ביותר מתחילים להפחית חשיפה. ציון ה-Z נסוג מקיצוניותו, אך לאט בהתחלה. המחיר מתהפך בחדות מכיוון שהיציאות מקובצות: כל מי שנכנס בשלב 2 מנסה לצאת בו-זמנית דרך אותה דלת.
שלב 5 — סחיטה (ציון Z חוזר לכיוון ניטרלי)
הפירוק הופך למחזק את עצמו. כיסוי שורטים או חיסול לונגים מאיצים. עמדות שהיו רווחיות לאורך רוב המגמה הופכות במהירות ללא רווחיות במהלך הסחיטה. התנועה לעיתים קרובות חורגת מהשווי ההוגן לפני שהיא מתייצבת ליד משטר מיקום ניטרלי חדש.
חוזים עתידיים על JPY — מיקום נטו לעומת מחיר USD/JPY (2023–2026)
ציר כפול: חוזים נטו לא-מסחריים על JPY (שמאל); שער ספוט USD/JPY (ימין, הפוך). קיצוניות במיקום מתיישרת עם נקודות מפנה עיקריות בזוג.
מקור: נתוני CFTC COT דרך /v1/cot/jpy ושער ספוט דרך /v1/forex/usd/jpy — סדרה להמחשה
התרשים לעיל ממחיש כיצד עמדות שורט נטו על JPY עקבו אחר USD/JPY לאורך מחזור היפוך מלא. במהלך 2023 ובתחילת 2024, מיקום שורט ספקולטיבי כבד בחוזים עתידיים על JPY תאם למגמת עלייה ב-USD/JPY. אך בכל פעם שהמיקום הגיע לקיצוניות סטטיסטית, זרז — לעיתים קרובות אות מדיניות של הבנק המרכזי של יפן — דחס את ספר השורטים במהירות, ויצר התחזקות חדה של JPY.
נתוני ה-COT לא חזו את הזרז. הם אמרו לך שהמיקום היה כל כך צפוף שכל זרז מנוגד, ללא קשר לגודלו, יוגבר על ידי דינמיקת היציאה של הקהל. גש להיסטוריית מיקום JPY דרך נקודת הקצה של FXMacroData COT כדי לעקוב אם הקיצוניות הנוכחית נבנית או נחלשת.
אות הסטייה בין מחיר למיקום
אזהרת ההיפוך האמינה ביותר המבוססת על COT אינה רמת המיקום המוחלטת — אלא הסטייה בין כיוון המחיר לכיוון המיקום. כאשר המחיר ממשיך בכיוון אחד אך המיקום הספקולטיבי בחוזים העתידיים הבסיסיים מתחיל לנוע בכיוון ההפוך, משתתפים גדולים כבר מפחיתים חשיפה בעוד שסוחרי מומנטום קמעונאיים דוחפים את המחיר גבוה יותר או נמוך יותר.
EUR/USD לעומת לונגים נטו של EUR COT — זיהוי סטייה
ספוט EUR/USD (ציר שמאל, כחול); חוזים נטו לא-מסחריים על EUR באלפים (ציר ימין, זהב). אזורי סטייה מוצלים בצבע ענבר.
מקור: /v1/forex/eur/usd ו-/v1/cot/eur — סדרה להמחשה
כללי זיהוי סטייה
- סטייה דובית: מחיר EUR/USD מגיע לשיא חדש אך לונגים נטו של EUR COT אינם מגיעים לשיא חדש — ספקולנטים מפזרים לתוך החוזק. צפו להיפוך תוך 2–6 שבועות.
- סטייה שורית: מחיר USD/JPY מגיע לשיא חדש (JPY נחלש עוד יותר) אך חוזי שורט על JPY מפסיקים להתרחב — מוכרי שורט אינם מוסיפים ביטחון לתנועה. אות תשישות פוטנציאלי.
- אישור מגמה: גם המחיר וגם המיקום נטו נמצאים במגמה באותו כיוון — נתיב ההתנגדות הנמוכה ביותר נשמר. הישארו עם המגמה עד שאישור זה יישבר.
שילוב אותות COT עם יסודות מאקרו
מיקום COT הוא אות מבנה שוק, לא אות יסודי. כוחו מוכפל כאשר הוא מתיישר עם — או סותר — סביבת המאקרו הבסיסית. ההגדרות בעלות הביטחון הגבוה ביותר נוצרות בשתי תצורות ספציפיות.
תצורה 1 — רוח גב מאקרו, מיקום צפוף
המקרה היסודי לעמדה חזק ומובן היטב — אך הוא כבר משתקף במלואו במיקום ספקולטיבי קיצוני. במקרה זה, הפוטנציאל לעלייה משיפור מאקרו נוסף מוגבל מכיוון שהקהילה כבר התמקמה לכך. האסימטריה היא כלפי מטה: אם נתוני המאקרו מאכזבים אפילו במעט, ההיפוך יהיה אלים מכיוון שלקהל אין לאן ללכת.
זה מתאר את הגדרת ה-EUR הנוכחית. נרטיב של היחלשות הדולר האמריקאי ונתונים כלכליים מתחזקים באיחוד האירופי תומכים בלונגים על EUR מבחינה יסודית — אך ציון Z של 2.1+ אומר לך שחלק גדול מתזה זו כבר מתומחר במיקום החוזים העתידיים. העסקה אינה שגויה, אך יחס הסיכון/תשואה הצטמצם משמעותית. משוך נתוני מאקרו של EUR לצד COT כדי לוודא:
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"])
תצורה 2 — רוח נגדית מאקרו, מיקום צפוף (התראה הגבוהה ביותר)
זוהי הגדרת ההתראה הגבוהה ביותר. נתוני מאקרו מתחילים לסתור את תזת הקונצנזוס באותו זמן שהמיקום נמצא בקיצוניות. עסקה צפופה המאבדת את ההצדקה היסודית שלה היא מתכון לפירוק מהיר ובלתי מסודר. ה-CHF ב-1.7- בשילוב עם כל הפתעה במדיניות ה-SNB שתאתגר את תזת הדובים של CHF תהווה דוגמה קלאסית לתצורה זו.
מהירות שינוי מיקום — דלתא שבועית של חוזים נטו (EUR, JPY, GBP)
שינוי משבוע לשבוע בחוזים נטו לא-מסחריים. דלתא מואטת בקיצוניות מיקום היא אות תשישות מוקדם של שלב 3.
מקור: נתוני CFTC COT דרך FXMacroData — סדרה להמחשה
מהירות חשובה לא פחות מהרמה. כאשר שינויי מיקום נטו עמדו על 8,000+ עד 12,000+ חוזים בשבוע בשיא צבירת ה-EUR ומאז הואטו ל-1,000+ עד 2,000+, האטה זו היא חתימה אובייקטיבית של שלב 3. הקהל עדיין מוסיף אך הביטחון מתערער. זהו השלב שבו סיכון ההיפוך עובר מתאורטי לבלתי נמנע.
מסגרת מסחר מעשית להיפוך
תרגום אותות COT לעסקאות בפועל דורש מבנה. קיצוניות במיקום יכולה להימשך שבועות או חודשים, ואין ערובה שקריאה קיצונית תתהפך במהירות. המסגרת הבאה משתמשת ב-COT כמסנן מקדים, לא ככלי תזמון מדויק.
שלב 1 — סריקה לקיצוניות
הפעל את סריקת ציון ה-Z השבועית על פני כל 8 המטבעות. סמן כל מטבע עם |z| > 2.0 כמועמד לניטור היפוך.
שלב 2 — בדיקת מהירות
חשב דלתא שבועית. אם 3 השבועות האחרונים מראים תוספת מואטת (|Δ| מתכווץ), שלב התשישות עשוי להיות בעיצומו. זהו תנאי מקדים לכניסה, לא טריגר.
שלב 3 — התאמה למאקרו
בדוק את האינדיקטורים היסודיים הרלוונטיים דרך FXMacroData. האם נתוני המאקרו תומכים או מערערים את התזה הצפופה? רוח גב מאקרו פירושה המתנה; רוח נגדית מאקרו פירושה שההגדרה פעילה.
שלב 4 — המתן לטריגר
אל תתנגד למיקום קיצוני ללא טריגר. טריגרים כוללים: הפתעה של בנק מרכזי, החמצת מאקרו, שבירה טכנית של תמיכה/התנגדות מפתח, או שבוע ראשון מאושר של הפחתה נטו ב-COT.
שלב 5 — התאמת גודל לתנודתיות
היפוכים מקיצוניות צפופה הם מהירים ותנודתיים. התאם את גודל העמדות כדי להתאים לתנועות שליליות ראשוניות לפני שהפירוק צובר מומנטום. עצור הפסד מעל/מתחת לשיא/שפל של ציון ה-Z הקיצוני.
ביטול
אם COT מראה שיא שבועי חדש בכיוון הקיצוני לאחר הכניסה, התזה שגויה בטווח הקצר. צא והערך מחדש. עסקאות צפופות יכולות להיות צפופות יותר לפני שהן מתהפכות.
בניית סורק COT שבועי
היישום המעשי של מסגרת זו הוא סורק שבועי שמחשב אוטומטית ציוני Z ודלתות עבור כל שמונת החוזים העתידיים על מטבעות ומפיק טבלת התראות מדורגת. הנה סקריפט מוכן לייצור המשתמש בנקודת הקצה של FXMacroData COT:
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}")
הפעלת זה בכל יום שישי בערב — זמן קצר לאחר פרסום ה-COT בשעה 15:30 שעון מזרח — נותנת לך קריאה מלאה של הנוף הספקולטיבי לפני סוף השבוע ולפני פתיחת השוק האסיאתי ביום ראשון שלאחר מכן.
גישה לנתוני COT אמיתיים
FXMacroData מספקת מיקום CFTC COT שבועי עבור כל שמונת החוזים העתידיים העיקריים על מטבעות — AUD, CAD, CHF, EUR, GBP, JPY, NZD ו-USD — עם היסטוריה מלאה, תגובות JSON נקיות ונקודות קצה לכל מטבע.
נסה את נקודת הקצה של EUR: https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY