מתי מתפרסם דוח COT?
ה-CFTC מפרסם את דוח COT בכל יום שישי בשעה 15:30 לפי שעון החוף המזרחי, על בסיס נתוני סגירת יום שלישי. כך פועל פער שלושת הימים וכיצד קוראים את הדוח.
דוח התחייבויות הסוחרים, COT report, מתפרסם מדי יום שישי בשעה 15:30 לפי שעון החוף המזרחי בארה״ב על ידי הרשות האמריקאית למסחר בחוזים עתידיים על סחורות, והוא סופר את הפוזיציות נכון לנעילת המסחר ביום שלישי שקדם לפרסום. בין מועד המדידה למועד הפרסום מפרידים שלושה ימים. פער זה, יחד עם סף דיווח הלוכד רק את הסוחרים הגדולים ביותר, מגדיר מה אפשר להסיק בכנות מהקובץ השבועי החינמי הזה.
מתי מתפרסם דוח COT מדי שבוע?
ביום שישי בשעה 15:30 לפי שעון החוף המזרחי, והוא מתפרסם על ידי הרגולטור עצמו. עמוד Commitments of Traders של ה-CFTC מפרסם את הקבצים ללא עלות, הן בטבלאות לצפייה והן כקובצי טקסט להורדה.
שני פרטים בלוח הזמנים חשובים יותר מהשעה:
- תאריך הנתונים הוא יום שלישי, לא יום שישי. כל נתון בקובץ של יום שישי מתאר את מצב הפוזיציות בסיום יום המסחר ביום שלישי.
- חגים פדרליים משנים את מועד הפרסום. חג במהלך שבוע הדיווח דוחה את הפרסום ביום או ביומיים, וה-CFTC מפרסם לוח זמנים הכולל את מועד הפרסום בפועל בכל שבוע. כלל יום שישי חל בשבוע רגיל, אך משתנה בשבועות שבהם חל חג פדרלי.
אותו יום שלישי מופיע גם ביותר מקובץ אחד: גרסה הכוללת חוזים עתידיים בלבד, וגרסה משולבת של אופציות וחוזים עתידיים, שבה פוזיציות האופציות מומרות לבסיס שווה-ערך לחוזים עתידיים באמצעות מקדמי delta שמספקות הבורסות. כאשר שני אנשים מצטטים מספרים שונים עבור אותו שוק באותו יום, לעיתים קרובות הם קוראים גרסאות שונות.
מדוע דוח COT ישן בשלושה ימים כשקוראים אותו?
הפער בין מועד התמונה למועד הפרסום הוא הדבר החשוב ביותר שצריך לדעת על נתוני פוזיציות. כל מה שהסוחרים הגדולים ביותר עשו ביום רביעי, ביום חמישי או ביום שישי בבוקר אינו מופיע בקובץ שמתפרסם בשעה 3:30. כדי למדוד את גודל השטח המת הזה, התרשימים כאן בוחנים קרנות סל שעוקבות אחר השווקים המכוסים בדוח COT: מניות, אג"ח ממשלת ארה"ב, מתכות ואנרגיה. הקרנות אינן חוזי העתיד. הן משמשות מדד סביר למרחק שהשווקים האלה עוברים במהלך שלושה ימים.
ה-SQL המדויק מאחורי כל מספר
WITH raw AS (
SELECT ticker,
toTimeZone(window_start, 'America/New_York') AS et,
close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'TLT', 'GLD', 'SLV', 'USO', 'UNG')
AND window_start >= toDateTime('2024-08-01 00:00:00')
AND window_start < toDateTime('2026-08-01 00:00:00')
),
bars AS (
SELECT ticker,
toDate(et) AS session_date,
toDayOfWeek(et) AS day_of_week,
toHour(et) * 60 + toMinute(et) AS minute_of_day,
close
FROM raw
WHERE toDayOfWeek(et) IN (2, 5)
AND (toHour(et) * 60 + toMinute(et)) BETWEEN 570 AND 959
),
tuesday_snapshot AS (
SELECT ticker,
toMonday(session_date) AS week_start,
argMax(close, minute_of_day) AS tuesday_close
FROM bars
WHERE day_of_week = 2
GROUP BY ticker, week_start
),
friday_release AS (
SELECT ticker,
toMonday(session_date) AS week_start,
argMax(close, minute_of_day) AS friday_1530
FROM bars
WHERE day_of_week = 5
AND minute_of_day BETWEEN 900 AND 930
GROUP BY ticker, week_start
)
SELECT t.ticker AS ticker,
count() AS weeks_counted,
round(quantileDeterministic(0.5)(abs(toFloat64(f.friday_1530) / toFloat64(t.tuesday_close) - 1) * 100,
cityHash64(toString(t.week_start))), 2) AS median_abs_move_pct,
round(quantileDeterministic(0.9)(abs(toFloat64(f.friday_1530) / toFloat64(t.tuesday_close) - 1) * 100,
cityHash64(toString(t.week_start))), 2) AS p90_abs_move_pct,
round(100 * countIf(abs(toFloat64(f.friday_1530) / toFloat64(t.tuesday_close) - 1) * 100 >= 2) / count(), 1) AS pct_weeks_over_2pct
FROM tuesday_snapshot AS t
INNER JOIN friday_release AS f
ON t.ticker = f.ticker AND t.week_start = f.week_start
GROUP BY t.ticker
ORDER BY median_abs_move_pct DESCלאורך שבועות הדיווח בפרק זמן של שנתיים, המרחק החציוני מנעילת יום שלישי ועד נתון המסחר של יום שישי בשעה 3:30 אחר הצהריים נע מ-2.97% ב-UNG ועד 0.66% ב-TLT, על בסיס 97 שבועות. במחצית מהשבועות המרחק היה נמוך מהחציונים האלה. זנב ההתפלגות הוא שהופך תמונת מצב מיום שלישי למיושנת: בשבוע אחד מכל עשרה נרשמה תנועה של 8.68% ומעלה ב-UNG, וב-68% מהשבועות נרשמה תנועה של יותר משני אחוזים.
שוק אחד, שבוע אחר שבוע, ממחיש עד כמה הפער הזה אינו אחיד.
ה-SQL המדויק מאחורי כל מספר
WITH raw AS (
SELECT toTimeZone(window_start, 'America/New_York') AS et,
close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2025-08-01 00:00:00')
AND window_start < toDateTime('2026-08-01 00:00:00')
),
bars AS (
SELECT toDate(et) AS session_date,
toDayOfWeek(et) AS day_of_week,
toHour(et) * 60 + toMinute(et) AS minute_of_day,
close
FROM raw
WHERE toDayOfWeek(et) IN (2, 5)
AND (toHour(et) * 60 + toMinute(et)) BETWEEN 570 AND 959
),
tuesday_snapshot AS (
SELECT toMonday(session_date) AS week_start,
argMax(close, minute_of_day) AS tuesday_close
FROM bars
WHERE day_of_week = 2
GROUP BY week_start
),
friday_release AS (
SELECT toMonday(session_date) AS week_start,
max(session_date) AS friday_date,
argMax(close, minute_of_day) AS friday_1530
FROM bars
WHERE day_of_week = 5
AND minute_of_day BETWEEN 900 AND 930
GROUP BY week_start
)
SELECT f.friday_date AS week,
formatDateTime(f.friday_date, '%b %e, %Y') AS friday_label,
round((toFloat64(f.friday_1530) / toFloat64(t.tuesday_close) - 1) * 100, 2) AS change_pct,
round(abs(toFloat64(f.friday_1530) / toFloat64(t.tuesday_close) - 1) * 100, 2) AS abs_change_pct
FROM tuesday_snapshot AS t
INNER JOIN friday_release AS f ON t.week_start = f.week_start
ORDER BY weekב-48 שבועות הדיווח בשנה שהסתיימה ב-31 ביולי 2026, בשבוע הראשון בתרשים, שהסתיים ב-Aug 8, 2025, נרשם פער של 1.45%, ובשבוע האחרון, שהסתיים ב-Jul 31, 2026, נרשם פער של 0.86%. בחלק מהשבועות הקובץ כמעט עדכני. בשבועות אחרים הוא מתאר שוק שכבר המשיך הלאה. שום נתון שמופיע בקובץ אינו אומר לכם באיזה סוג שבוע אתם נמצאים. לפוזיציות שורט יש בעיה דומה, אך בלוח זמנים ארוך יותר: מתי מתפרסם נתון פוזיציות השורט עובר על לוח הזמנים הזה, ו-מדוע נתון פוזיציות השורט ישן בשבועיים מסביר את הפיגור.
מה קורה ביום שישי בשעה 15:30?
הקובץ מגיע חצי שעה לפני סגירת שוק המניות האמריקאי בשעה 16:00 לפי שעון החוף המזרחי. כך מתחלק המסחר לאורך יום שישי מלא, בחלונות של 15 דקות.
ה-SQL המדויק מאחורי כל מספר
WITH raw AS (
SELECT toTimeZone(window_start, 'America/New_York') AS et,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2025-08-01 00:00:00')
AND window_start < toDateTime('2026-08-01 00:00:00')
),
bars AS (
SELECT toDate(et) AS session_date,
toHour(et) * 60 + toMinute(et) AS minute_of_day,
intDiv((toHour(et) * 60 + toMinute(et)) - 570, 15) AS bucket,
volume AS shares
FROM raw
WHERE toDayOfWeek(et) = 5
AND (toHour(et) * 60 + toMinute(et)) BETWEEN 570 AND 959
),
full_sessions AS (
SELECT session_date
FROM bars
GROUP BY session_date
HAVING sumIf(shares, minute_of_day >= 930) >= 0.05 * sum(shares)
)
SELECT formatDateTime(toDateTime(toDate('2026-01-02')) + (570 + b.bucket * 15) * 60, '%H:%i') AS et_time,
round(100 * sum(b.shares) / sum(sum(b.shares)) OVER (), 2) AS share_of_session_pct,
round(sum(b.shares) / uniqExact(b.session_date) / 1000000, 2) AS avg_volume_millions
FROM bars AS b
INNER JOIN full_sessions AS s ON b.session_date = s.session_date
GROUP BY b.bucket
ORDER BY b.bucketנפח המסחר במהלך יום מסחר בארה״ב דומה לצורת חיוך. ברבע השעה הראשונה מתבצעות 6.98% ממניות היום, בחלון של השעה 12:00 הנפח יורד ל-2.72%, וברבע השעה האחרונה של המסחר הרציף הוא מגיע ל-13.17%. חלון השעה 15:30, שאליו נכנס הדוח, כולל 4.92%. הפרסום מגיע במהלך ההאצה לקראת הסגירה ביום המסחר האחרון של השבוע. זו עובדה הנוגעת ללוח השנה, ולא טענה לגבי העסקאות המופיעות בקובץ.
Legacy, Disaggregated או TFF: איזה דוח COT הוא איזה?
ארבעה דוחות נושאים את השם COT ומפלחים את אותה יתרת פוזיציות פתוחות של יום שלישי בדרכים שונות.
- Legacy מחלק כל שוק לפוזיציות מסחריות, לא-מסחריות ופוזיציות שאינן מדווחות. זהו הפורמט הוותיק ביותר, ובדרך כלל אליו מתכוונים כשאומרים "דוח COT".
- Supplemental מכסה 13 סחורות חקלאיות ומציג את סוחרי המדדים כקטגוריה נפרדת.
- Disaggregated מכסה שוקי סחורות פיזיות, מחקלאות ונפט ועד גז טבעי, חשמל ומתכות, ומשתמש בארבע קטגוריות: יצרנים/סוחרים/מעבדים/משתמשים, סוחרי swap, מנהלי כספים וגורמים מדווחים אחרים.
- Traders in Financial Futures, או דוח TFF, מכסה חוזים פיננסיים, לרבות מטבעות, אג"ח של משרד האוצר האמריקאי, מדדי מניות ומדדי תנודתיות. הקטגוריות שלו הן סוחרי דילר/מתווך בצד המכירה, ולאחר מכן מנהלי נכסים/משקיעים מוסדיים, קרנות ממונפות וגורמים מדווחים אחרים בצד הקנייה.
כאשר בכותרת נאמר שקרנות גידור מחזיקות את פוזיציית השורט הגדולה ביותר שלהן בנפט גולמי זה שנים, סדרת הנתונים שבבסיס הטענה היא בדרך כלל קטגוריית מנהלי הכספים בדוח Disaggregated. אותה אמירה לגבי S&P 500 מתייחסת לקרנות ממונפות בדוח TFF. אין להשתמש בתוויות אלה כמילים נרדפות.
מי נספר בפועל בדוח COT?
סוחרים גדולים, ורק הם. חברי סליקה, FCMs וברוקרים זרים מגישים מדי יום דוחות על כל סוחר שהפוזיציה שלו מגיעה לרמת הדיווח או חוצה אותה, כפי שנקבע בתקנות ה-CFTC. שוק נכלל בדוח COT רק כאשר לפחות 20 סוחרים מחזיקים בפוזיציות ברמות האלה. פוזיציות החייבות בדיווח מכסות בדרך כלל 70% עד 90% מה-interest הפתוח בשוק. יתרת הפעילות מופיעה בשורה אחת של פוזיציות שאינן חייבות בדיווח, ללא קטגוריה וללא מספר סוחרים.
הקטגוריות מציינות את עיסוקם המוצהר של המחזיקים, ולא את האסטרטגיות שלהם. Commercial, או יצרן/סוחר/מעבד/משתמש, הוא גוף שהפעילות העסקית שלו מגודרת באמצעות הפוזיציה בחוזים עתידיים, כפי שנמסר בטופס CFTC Form 40. Managed money הוא הון ספקולטיבי מאוגד: יועצים, מנהלי pools וקרנות הסוחרים בשם לקוחותיהם. מעלית תבואה המגדרת מלאי וקרן הפועלת על בסיס ציפייה לתנועת מחיר עשויות להחזיק חוזים זהים בעמודות מנוגדות. הדוח מציין מי מחזיק בפוזיציה. הוא אינו מציין לעולם מדוע.
שתי דרכים שבהן מפרשים את דוח COT באופן שגוי
שיא בפוזיציית לונג נטו אינו כלי לתזמון. פוזיציית נטו היא נתון יחיד שנבנה משני נתונים: פוזיציות לונג פחות פוזיציות שורט, בחוזים, בתוך קטגוריה אחת. קריאה בשיא אומרת שהחשיפה של אותה קטגוריה הייתה ברמה קיצונית נכון ליום שלישי. היא אינה מספקת מידע על המועד שבו החשיפה תיסגר, אם בכלל. מדדי מיקום של סוחרים חולקים את המגבלה הזאת בכל סוגי הנכסים: יחס put/call ו-נתוני ה-interest השורט של FINRA מתארים שניהם עמדה שכבר ננקטה.
אי-אפשר להשוות בין מוצרים לפי מספר החוזים הגולמי. טבלת COT סופרת חוזים, וחוזה הוא כמות של נכס מסוים. חוזה זהב ב-COMEX מייצג 100 אונקיות טרוי. חוזה נפט גולמי ב-NYMEX מייצג 1,000 חביות. דירוג שווקים לפי מספר חוזים מדרג אותם לפי הגדרות יחידה שקבעו הבורסות לפני עשרות שנים. אותו חישוב חל גם על מניות, שבהן המניה היא יחידת המדידה.
ה-SQL המדויק מאחורי כל מספר
WITH raw AS (
SELECT ticker,
toTimeZone(window_start, 'America/New_York') AS et,
close,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'TLT', 'GLD', 'SLV', 'USO', 'UNG')
AND window_start >= toDateTime('2026-07-01 00:00:00')
AND window_start < toDateTime('2026-08-01 00:00:00')
),
rth AS (
SELECT ticker,
volume AS shares,
toFloat64(close) * volume AS dollars
FROM raw
WHERE (toHour(et) * 60 + toMinute(et)) BETWEEN 570 AND 959
)
SELECT ticker,
round(sum(dollars) / sum(shares), 2) AS unit_size_usd,
round(100 * sum(shares) / sum(sum(shares)) OVER (), 2) AS share_of_units_pct,
round(100 * sum(dollars) / sum(sum(dollars)) OVER (), 2) AS share_of_dollars_pct
FROM rth
GROUP BY ticker
ORDER BY unit_size_usd DESCיחידה אחת של SPY החליפה ידיים במחיר ממוצע של $744.99 ביולי 2026, לעומת $10.52 עבור יחידה אחת של UNG. אלף יחידות מכל אחד מהמוצרים אינן מייצגות אותו סכום כסף. בקרב שבע הקרנות, SPY היו אחראיות ל-31.75% מהיחידות שנסחרו ול-50.07% מהדולרים, ואילו UNG היו אחראיות ל-5.41% מהיחידות ול-0.12% מהדולרים. שיעור מהיחידות שווה לשיעור מהדולרים רק כאשר כל יחידה עולה אותו מחיר. השוו את המיקום בתוך שוק אחד לאורך זמן, או המירו חוזים לערך נומינלי לפני שאתם מדרגים דבר כלשהו.
שאלות ותשובות נפוצות על דוח COT
באיזו שעה מתפרסם דוח COT?
בשעה 3:30 אחר הצהריים לפי שעון החוף המזרחי, ביום שישי, באתר CFTC. הפוזיציות נמדדות נכון לסיום יום המסחר ביום שלישי שקדם לפרסום, ולכן בעת פרסום הקובץ הנתונים בני שלושה ימים. חג פדרלי במהלך שבוע הדיווח דוחה את הפרסום ביום או ביומיים.
האם דוח COT זמין בחינם?
כן. CFTC מפרסמת אותו ללא תשלום, הן בטבלאות לצפייה והן בקבצים להורדה. מוצרים מסחריים לניתוח פוזיציות אורזים מחדש את אותם נתונים ציבוריים, בתוספת תרשימים והיסטוריה.
מה ההבדל בין דוחות COT במבנה הישן ובמבנה המפולח?
הדוח במבנה הישן מחלק את השוק לפוזיציות של גופים מסחריים, גופים שאינם מסחריים ופוזיציות שאינן חייבות בדיווח. הדוח המפולח מחלק את שוקי הסחורות הפיזיות ליצרנים/סוחרים/מעבדים/משתמשים, סוחרי swap, מנהלי כספים וגורמים מדווחים אחרים. בשווקים הפיננסיים קיימת חלוקה מקבילה בדוח Traders in Financial Futures.
האם דוח COT מציג את הפוזיציה של כל סוחר?
לא. הוא סופר סוחרים שהיקף הפוזיציות שלהם שווה לספי הדיווח של CFTC או גבוה מהם. בדרך כלל מדובר ב-70 עד 90 אחוזים מה-interest הפתוח בשוק. שוק מתפרסם רק כאשר 20 סוחרים או יותר נמצאים מעל ספים אלה. כל מי שנמצא מתחת לסף מאוחד בשורה אנונימית אחת של פוזיציות שאינן חייבות בדיווח.
האם דוח COT יכול לחזות תנועות מחירים?
זהו מפקד פוזיציות בפיגור של שלושה ימים, ולא תחזית. הדוח מתעד את הפוזיציות של הסוחרים הגדולים ביום שלישי. קריאה קיצונית אינה כוללת מועד קבוע שבו היא אמורה להסתיים.
כל מספר בעמוד זה מופק משאילתה שמורה על היסטוריית מחירים ונפחים ברמת הדקה, וקוד ה-SQL שלה זמין מתחת לכל חלונית. קובץ COT עצמו נשאר כפי שהיה מאז ומתמיד: חינמי, בכל יום שישי בשעה 3:30. הריצו את אותן חלוניות בשווקים שאתם עוקבים אחריהם במסוף Strasmore.