گزارش COT چه زمانی منتشر میشود؟
کمیسیون CFTC گزارش COT را هر جمعه ساعت 3:30 بعدازظهر به وقت شرق آمریکا منتشر میکند؛ دادهها مربوط به پایان معاملات سهشنبه است و سه روز تأخیر دارد.
گزارش تعهدات معاملهگران، یا گزارش COT، هر جمعه ساعت 3:30 بعدازظهر به وقت شرق آمریکا از سوی کمیسیون معاملات قراردادهای آتی کالای آمریکا منتشر میشود و موقعیتها را تا پایان معاملات سهشنبه قبل شمارش میکند. میان زمان اندازهگیری و انتشار گزارش سه روز فاصله است. همین فاصله، همراه با آستانه گزارشدهی که فقط بزرگترین معاملهگران را دربرمیگیرد، مشخص میکند این فایل هفتگی رایگان واقعاً چه اطلاعاتی در اختیار شما میگذارد.
گزارش COT هر هفته چه زمانی منتشر میشود؟
جمعه ساعت 3:30 بعدازظهر به وقت شرق آمریکا و مستقیماً از سوی نهاد ناظر منتشر میشود. صفحه تعهدات معاملهگران CFTC فایلها را بدون هزینه، هم بهصورت جدولهای قابل مشاهده و هم متن قابل دانلود، منتشر میکند.
دو نکته تقویمی از خود ساعت انتشار مهمترند:
- تاریخ داده سهشنبه است، نه جمعه. هر رقمی در فایل جمعه، وضعیت موقعیتها را در پایان معاملات سهشنبه نشان میدهد.
- تعطیلات فدرال زمان انتشار را تغییر میدهند. وجود تعطیلات در هفته گزارشدهی، انتشار را یک یا دو روز به تأخیر میاندازد و CFTC برنامهای منتشر میکند که تاریخ واقعی هر هفته را نشان میدهد. قاعده انتشار در روز جمعه در هفتههای عادی برقرار است، اما در هفتههای دارای تعطیلات فدرال تغییر میکند.
همان دادههای سهشنبه در بیش از یک فایل منتشر میشوند: نسخهای فقط شامل قراردادهای آتی و نسخهای ترکیبی شامل اختیارها و قراردادهای آتی. در نسخه ترکیبی، موقعیتهای اختیار با استفاده از ضرایب دلتا ارائهشده از سوی بورسها، به مبنای معادل قرارداد آتی تبدیل میشوند. دو نفری که برای یک بازار در یک روز ارقام متفاوتی نقل میکنند، اغلب نسخههای متفاوتی را میخوانند.
چرا گزارش 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 هفته انجام شده است. نیمی از هفتهها در محدودهای کمتر از این میانهها قرار داشتند. آنچه یک تصویر سهشنبهای را قدیمی میکند، دنباله توزیع است: از هر 10 هفته، در یک هفته بازار 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% داشت. در برخی هفتهها، فایل تقریباً بهروز است. در برخی دیگر، فایل بازاری را توصیف میکند که حرکت خود را از آن زمان ادامه داده است. هیچچیز در فایل نشان نمیدهد در کدام نوع هفته قرار دارید. در دادههای موقعیت فروش استقراضی نیز، با فاصله زمانی طولانیتر، همین مشکل وجود دارد: زمان انتشار موقعیت فروش استقراضی این تقویم را توضیح میدهد و چرا موقعیت فروش استقراضی دو هفته قدیمی است علت این تأخیر را شرح میدهد.
ساعت 3:30 بعدازظهر جمعه چه اتفاقی میافتد؟
فایل نیم ساعت پیش از بستهشدن بازار سهام آمریکا در ساعت 4 بعدازظهر به وقت شرق آمریکا منتشر میشود. در ادامه، نحوه توزیع معاملات یک جلسه کامل جمعه در بازههای 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 به 2.72% کاهش مییابد و آخرین ربع ساعت معاملات پیوسته 13.17% را شامل میشود. بازه ساعت 15:30، یعنی زمانی که گزارش منتشر میشود، 4.92% را دربرمیگیرد. گزارش درون موج پایانی معاملات و در آخرین روز هفته معاملاتی منتشر میشود. این یک واقعیت تقویمی است، نه ادعایی درباره معاملاتی که در فایل گزارش شدهاند.
گزارش Legacy، تفکیکشده یا TFF: هرکدام کدام گزارش COT هستند؟
چهار گزارش با نام COT منتشر میشوند و همگی بهره باز یکسانی را به شکلهای متفاوت تفکیک میکنند.
- Legacy هر بازار را به موقعیتهای تجاری، غیرتجاری و غیرقابلگزارش تقسیم میکند. این قدیمیترین قالب است و منظور بیشتر افراد از «گزارش COT» همین قالب است.
- Supplemental، 13 کالای کشاورزی را پوشش میدهد و معاملهگران شاخص را بهعنوان یک گروه مستقل تفکیک میکند.
- Disaggregated بازارهای کالایی فیزیکی، از کشاورزی و نفت گرفته تا گاز طبیعی، برق و فلزات، را پوشش میدهد و از چهار گروه استفاده میکند: تولیدکننده/بازرگان/فرآوریکننده/مصرفکننده، معاملهگران سوآپ، مدیریت سرمایه و سایر معاملهگران قابلگزارش.
- گزارش Traders in Financial Futures یا گزارش TFF، قراردادهای مالی شامل ارزها، اوراق خزانه، شاخصهای سهام و نوسان را پوشش میدهد. گروههای آن در سمت فروش شامل معاملهگر/واسطه و در سمت خرید شامل مدیر دارایی/نهاد، صندوقهای اهرمی و سایر معاملهگران قابلگزارش هستند.
وقتی در یک تیتر گفته میشود صندوقهای پوشش ریسک بزرگترین موقعیت فروش خود در نفت خام طی سالهای اخیر را دارند، سری مورد استفاده معمولاً موقعیت «مدیریت سرمایه» در گزارش تفکیکشده است. همین جمله درباره S&P 500 به معنای موقعیت صندوقهای اهرمی در گزارش TFF است. این برچسبها قابل جایگزینی با یکدیگر نیستند.
چه کسانی واقعاً در گزارش COT شمارش میشوند؟
معاملهگران بزرگ، و هیچکس دیگر. اعضای اتاق پایاپای، کارگزاران کمیسیون معاملات آتی و کارگزاران خارجی، هر روز درباره معاملهگرانی گزارش میدهند که موقعیت آنها در سطح گزارشدهی تعیینشده در مقررات CFTC یا بالاتر از آن قرار دارد. یک بازار نیز فقط زمانی در COT ظاهر میشود که دستکم 20 معاملهگر در آن سطوح موقعیت داشته باشند. موقعیتهای قابلگزارش معمولاً 70 تا 90 درصد بهره باز یک بازار را پوشش میدهند. مابقی در یک ردیف واحد غیرقابلگزارش قرار میگیرد و هیچ گروهبندی یا تعداد معاملهگری برای آن ارائه نمیشود.
گروهها بر اساس شغل اعلامشده تعیین میشوند، نه بر اساس استراتژی. یک واحد تجاری، یا تولیدکننده/بازرگان/فرآوریکننده/مصرفکننده، شرکتی است که فعالیت تجاری آن با موقعیت قرارداد آتی پوشش داده میشود؛ این موضوع در فرم 40 CFTC اعلام میشود. مدیریت سرمایه، سرمایه سفتهبازانه تجمیعشدهای است که مشاوران، مدیران سبدهای سرمایهگذاری و صندوقها از طرف مشتریان معامله میکنند. یک سیلوی غلات که موجودی خود را پوشش میدهد و صندوقی که برای حرکت قیمت موقعیت میگیرد، میتوانند قراردادهای یکسانی را در دو ستون مخالف نگهداری کنند. گزارش میگوید چه کسی یک موقعیت را در اختیار دارد؛ اما هرگز نمیگوید چرا.
دو برداشت نادرست از گزارش COT
رکورد موقعیت خالص خرید، ابزار زمانبندی نیست. موقعیت خالص، یک عدد حاصل از دو عدد است: موقعیتهای خرید منهای موقعیتهای فروش، بر حسب قرارداد و در یک گروه مشخص. ثبت رکورد نشان میدهد میزان در معرضبودن آن گروه در روز سهشنبه به سطحی افراطی رسیده است. این عدد هیچ اطلاعاتی درباره زمان یا حتی وقوع خروج از آن موقعیت ارائه نمیکند. شاخصهای سنجش موقعیت جمعی در همه طبقات دارایی همین محدودیت را دارند: نسبت put/call و دادههای موقعیت فروش استقراضی FINRA هر دو وضعیتی را توصیف میکنند که پیشتر ایجاد شده است.
تعداد خام قراردادها امکان مقایسه میان محصولات را فراهم نمیکند. جدول COT قراردادها را میشمارد و هر قرارداد مقداری از یک دارایی است. یک قرارداد طلای COMEX شامل 100 اونس ترواست. یک قرارداد نفت خام NYMEX شامل 1000 بشکه است. رتبهبندی بازارها بر اساس تعداد قرارداد، در واقع آنها را بر مبنای تعاریف واحدی رتبهبندی میکند که بورسها دههها پیش تعیین کردهاند. همین محاسبه در بازار سهام نیز وجود دارد، جایی که سهم واحد اندازهگیری است.
کد دقیق 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در ژوئیه 2026، یک واحد از SPY بهطور میانگین به قیمت $744.99 معامله شد، در حالی که قیمت هر واحد UNG برابر با $10.52 بود. هزار واحد از هرکدام، ارزش پولی یکسانی ندارند. در میان هفت صندوق، SPY درصد از واحدهای معاملهشده و 31.75% درصد از ارزش دلاری معاملات به 50.07% اختصاص داشت، در حالی که UNG درصد از واحدها و 5.41% درصد از ارزش دلاری معاملات به 0.12% تعلق گرفت. سهمی از تعداد واحدها فقط زمانی با سهمی از ارزش دلاری برابر است که قیمت همه واحدها یکسان باشد. موقعیتها را در طول زمان و درون یک بازار مقایسه کنید، یا پیش از هر رتبهبندی، قراردادها را به ارزش اسمی تبدیل کنید.
پرسشهای متداول درباره گزارش COT
گزارش COT چه ساعتی منتشر میشود؟
جمعهها ساعت 3:30 بعدازظهر به وقت شرق آمریکا، در وبسایت CFTC. موقعیتها در پایان معاملات سهشنبه قبل اندازهگیری میشوند؛ بنابراین فایل هنگام انتشار سه روز قدیمی است. تعطیلات فدرال در هفته گزارشدهی، انتشار را یک یا دو روز به تأخیر میاندازد.
آیا گزارش COT رایگان است؟
بله. CFTC آن را بدون هزینه، هم بهصورت جدولهای قابل مشاهده و هم فایلهای قابل دانلود، منتشر میکند. محصولات تجاری موقعیتگیری، همین داده عمومی را با نمودار و سوابق تاریخی بازبستهبندی میکنند.
تفاوت گزارشهای COT Legacy و Disaggregated چیست؟
Legacy بازار را به موقعیتهای تجاری، غیرتجاری و غیرقابلگزارش تقسیم میکند. Disaggregated بازارهای کالایی فیزیکی را به تولیدکننده/بازرگان/فرآوریکننده/مصرفکننده، معاملهگران سوآپ، مدیریت سرمایه و سایر معاملهگران قابلگزارش تقسیم میکند. بازارهای مالی نیز در گزارش Traders in Financial Futures بهصورت موازی تفکیک میشوند.
آیا گزارش COT موقعیت هر معاملهگر را نشان میدهد؟
خیر. این گزارش معاملهگرانی را شمارش میکند که موقعیت آنها در سطح گزارشدهی CFTC یا بالاتر از آن قرار دارد. این گروه معمولاً 70 تا 90 درصد بهره باز بازار را پوشش میدهد و یک بازار تنها زمانی منتشر میشود که دستکم 20 معاملهگر در آن سطوح قرار داشته باشند. همه افراد پایینتر از آستانه در یک ردیف ناشناس و واحد غیرقابلگزارش تجمیع میشوند.
آیا گزارش COT میتواند حرکت قیمت را پیشبینی کند؟
این گزارش سرشماری موقعیتها با سه روز تأخیر است، نه پیشبینی. گزارش نشان میدهد معاملهگران بزرگ در روز سهشنبه چه موقعیتی داشتهاند؛ اما یک رقم افراطی هیچ تاریخی برای پایان خود ارائه نمیکند.
هر عدد در این صفحه، حاصل یک پرسوجوی ذخیرهشده بر اساس سابقه قیمت و حجم در سطح دقیقهای است و SQL آن در زیر هر نمودار قرار دارد. خودِ فایل COT نیز مانند گذشته، هر جمعه ساعت 3:30، بهصورت رایگان منتشر میشود. همین نمودارها را برای بازارهایی که دنبال میکنید در پایانه Strasmore اجرا کنید.