COT Report کب جاری ہوتی ہے؟ وقت اور schedule
CFTC ہر جمعہ 3:30 pm ET پر COT report جاری کرتی ہے، جو منگل کے close تک positions ناپتی ہے۔ schedule، تین روزہ lag اور reading کا طریقہ جانیں۔
The Commitments of Traders report، یعنی COT report، U.S. Commodity Futures Trading Commission ہر جمعہ شام 3:30 بجے Eastern time پر جاری کرتی ہے۔ اس میں پوزیشنز گزشتہ منگل کے کاروباری اختتام تک شمار کی جاتی ہیں۔ پیمائش اور اشاعت کے درمیان تین دن کا وقفہ ہوتا ہے۔ یہ وقفہ، اور reporting threshold جو صرف سب سے بڑے traders کو شامل کرتا ہے، طے کرتے ہیں کہ یہ مفت ہفتہ وار file حقیقتاً کیا بتا سکتی ہے۔
COT report ہر ہفتے کب جاری ہوتی ہے؟
جمعہ کو Eastern time کے مطابق شام 3:30 بجے۔ اسے خود regulator شائع کرتا ہے۔ CFTC کا Commitments of Traders صفحہ files مفت فراہم کرتا ہے، viewable tables اور downloadable text دونوں صورتوں میں۔
Calendar کے دو نکات clock time سے زیادہ اہم ہیں:
- Data date منگل ہوتی ہے، جمعہ نہیں۔ جمعہ کی file کا ہر figure منگل کے کاروباری اختتام پر positions کی صورتِ حال بیان کرتا ہے۔
- Federal holidays release date بدل دیتے ہیں۔ Reporting week کے دوران holiday آنے سے publication ایک یا دو دن مؤخر ہو جاتی ہے، اور CFTC ہر ہفتے کی actual date کے ساتھ release schedule پوسٹ کرتا ہے۔ معمول کے ہفتے میں Friday rule برقرار رہتا ہے، مگر federal holiday والے ہفتوں میں اس میں تبدیلی آتی ہے۔
اسی منگل کی positions ایک سے زیادہ files میں آتی ہیں: ایک futures-only version اور ایک options-and-futures-combined version۔ دوسری version میں exchanges کی فراہم کردہ delta factors استعمال کرتے ہوئے option positions کو futures-equivalent basis پر تبدیل کیا جاتا ہے۔ ایک ہی دن ایک ہی market کے لیے مختلف figures بتانے والے دو افراد اکثر مختلف versions پڑھ رہے ہوتے ہیں۔
COT report پڑھتے وقت تین دن پرانی کیوں ہوتی ہے؟
Snapshot اور release کے درمیان وقفہ positioning data کے بارے میں جاننے کی سب سے اہم بات ہے۔ بڑے traders نے بدھ، جمعرات یا جمعہ کی صبح جو کچھ کیا ہو، وہ 3:30 پر جاری ہونے والی file میں شامل نہیں ہوتا۔ اس blind spot کا حجم سمجھنے کے لیے یہاں کے panels ان exchange-traded funds کو measure کرتے ہیں جو COT میں شامل markets کو track کرتے ہیں: stocks، Treasuries، metals اور energy۔ یہ funds futures contracts نہیں ہیں۔ تاہم تین دن کے دوران ان markets کی حرکت ناپنے کے لیے یہ ایک مناسب پیمانہ ہیں۔
ہر عدد کے پیچھے موجود درست 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دو سال کی report weeks میں منگل کے close سے جمعہ شام 3:30 کے print تک median distance UNG میں 2.97% سے لے کر TLT میں 0.66% تک رہی، جس کی پیمائش 97 weeks پر کی گئی۔ نصف weeks میں یہ distance ان medians سے کم رہی۔ Tuesday snapshot کے stale ہونے کی وجہ tail میں نظر آتی ہے: ہر دس میں ایک week میں UNG میں 8.68% یا اس سے زیادہ movement ہوئی، اور اس کی 68% weeks میں movement دو فیصد سے زیادہ رہی۔
ایک market کو week by week دیکھنے سے اس gap کی غیر مساوی نوعیت واضح ہوتی ہے۔
ہر عدد کے پیچھے موجود درست 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 week31 جولائی 2026 تک سال کی 48 report weeks میں پہلے charted week، جو Aug 8, 2025 پر ختم ہوا، میں gap 1.45% تھا، جبکہ آخری week، جو Jul 31, 2026 پر ختم ہوا، میں یہ 0.86% رہا۔ کچھ weeks میں file تقریباً current ہوتی ہے۔ کچھ weeks میں یہ ایسے market کی تصویر دیتی ہے جو پہلے ہی آگے بڑھ چکا ہوتا ہے۔ File میں کوئی چیز یہ نہیں بتاتی کہ آپ کس قسم کے week میں ہیں۔ Short interest میں بھی یہی مسئلہ ہے، مگر اس کا clock زیادہ طویل ہے: short interest کب جاری ہوتی ہے اس calendar کی وضاحت کرتا ہے، جبکہ short interest دو ہفتے پرانی کیوں ہوتی ہے اس lag کی تشریح کرتا ہے۔
جمعہ کو شام 3:30 بجے کیا ہوتا ہے؟
یہ file U.S. stock market کے Eastern time کے مطابق شام 4:00 بجے بند ہونے سے آدھا گھنٹہ پہلے آتی ہے۔ یہاں بتایا گیا ہے کہ مکمل Friday session میں trading کس طرح clock پر پندرہ منٹ کے buckets میں تقسیم ہوتی ہے۔
ہر عدد کے پیچھے موجود درست 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.bucketU.S. session میں volume کی شکل مسکراہٹ جیسی ہوتی ہے۔ پہلے پندرہ منٹ میں دن کے shares کا 6.98% trade ہوتا ہے، 12:00 کا bucket کم ہو کر 2.72% رہ جاتا ہے، جبکہ continuous trading کے آخری پندرہ منٹ میں 13.17% trade ہوتا ہے۔ 15:30 کا bucket، جس میں report جاری ہوتی ہے، 4.92% پر مشتمل ہوتا ہے۔ Release trading week کے آخری دن closing ramp کے دوران آتی ہے۔ یہ calendar سے متعلق حقیقت ہے، file میں ہونے والی trades کے بارے میں دعویٰ نہیں۔
Legacy، disaggregated یا TFF: کون سی COT report کون سی ہے؟
چار reports COT کا نام رکھتی ہیں اور اسی Tuesday open interest کو مختلف طریقوں سے تقسیم کرتی ہیں۔
- Legacy ہر market کو commercial، non-commercial اور nonreportable positions میں تقسیم کرتی ہے۔ یہ سب سے پرانا format ہے اور عموماً "COT report" سے یہی مراد لی جاتی ہے۔
- Supplemental 13 agricultural commodities کا احاطہ کرتی ہے اور index traders کو الگ category کے طور پر دکھاتی ہے۔
- Disaggregated physical commodity markets کا احاطہ کرتی ہے، جن میں agriculture اور petroleum سے لے کر natural gas، electricity اور metals تک شامل ہیں۔ اس میں چار categories استعمال ہوتی ہیں: producer/merchant/processor/user، swap dealers، managed money اور other reportables۔
- Traders in Financial Futures، یعنی TFF report، currencies، Treasury securities، stock indices اور volatility سمیت financial contracts کا احاطہ کرتی ہے۔ اس میں sell side پر dealer/intermediary، اور buy side پر asset manager/institutional، leveraged funds اور other reportables categories شامل ہیں۔
جب کسی headline میں کہا جاتا ہے کہ hedge funds نے crude oil میں کئی برس کی سب سے بڑی short position لے رکھی ہے، تو underlying series عموماً disaggregated report میں managed money کی ہوتی ہے۔ S&P 500 کے بارے میں یہی جملہ TFF میں leveraged funds کی طرف اشارہ کرتا ہے۔ یہ labels ایک دوسرے کے متبادل نہیں ہیں۔
COT report میں حقیقتاً کن traders کو شمار کیا جاتا ہے؟
صرف بڑے traders کو، اور کسی کو نہیں۔ Clearing members، futures commission merchants اور foreign brokers ہر ایسے trader کے بارے میں روزانہ reports فائل کرتے ہیں جس کی position CFTC regulation کے مقرر کردہ reporting level کے برابر یا اس سے زیادہ ہو۔ کسی market کو COT میں اسی وقت شامل کیا جاتا ہے جب 20 یا اس سے زیادہ traders ان levels پر positions رکھتے ہوں۔ Reportable positions عموماً کسی market کے open interest کے 70 سے 90 فیصد کا احاطہ کرتی ہیں۔ باقی positions ایک single nonreportable line میں چلی جاتی ہیں، جس کے ساتھ کوئی category یا trader count نہیں دیا جاتا۔
Categories declared occupations ہیں، strategies نہیں۔ Commercial، یا producer/merchant/processor/user، ایسی firm ہوتی ہے جس کی business activity کو futures position hedge کرتی ہے، جیسا کہ اس کے CFTC Form 40 میں بیان کیا گیا ہو۔ Managed money pooled speculative capital ہوتی ہے: advisors، pool operators اور clients کی جانب سے trading کرنے والے funds۔ Grain elevator inventory کو hedge کر سکتا ہے، جبکہ کوئی fund price move کی توقع میں position لے سکتا ہے، اور دونوں مخالف columns میں یکساں contracts رکھ سکتے ہیں۔ Report یہ بتاتی ہے کہ position کس کے پاس ہے۔ یہ کبھی نہیں بتاتی کہ position کیوں لی گئی۔
COT report کو غلط سمجھنے کے دو طریقے
Record net long timing tool نہیں ہوتی۔ Net position ایک figure ہوتی ہے جو دو figures، یعنی contracts میں longs minus shorts، سے بنتی ہے اور ایک ہی category کے اندر exposure دکھاتی ہے۔ Record reading صرف یہ بتاتی ہے کہ منگل تک اس category کا exposure ایک extreme level پر تھا۔ اس سے یہ معلوم نہیں ہوتا کہ exposure کب یا آیا unwound ہوگا بھی یا نہیں۔ Crowd-position gauges میں بھی یہی حد موجود ہے: put/call ratio اور FINRA short interest data دونوں پہلے سے اختیار کی گئی stance بیان کرتے ہیں۔
Raw contract counts مختلف products کا تقابل نہیں کرتیں۔ COT table contracts شمار کرتی ہے، اور contract کسی چیز کی ایک quantity ہوتا ہے۔ COMEX gold contract 100 troy ounces کا ہوتا ہے۔ NYMEX crude contract 1,000 barrels کا ہوتا ہے۔ Markets کو contract count کے لحاظ سے rank کرنا دراصل ان unit definitions کے مطابق ranking ہے جو exchanges نے کئی دہائیاں پہلے مقرر کی تھیں۔ یہی arithmetic equities میں بھی لاگو ہوتی ہے، جہاں share unit ہوتا ہے۔
ہر عدد کے پیچھے موجود درست 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 کی ایک unit اوسطاً $744.99 میں trade ہوئی، جبکہ UNG کی ایک unit کی اوسط قیمت $10.52 تھی۔ ہر asset کی ایک ہزار units یکساں رقم نہیں بنتیں۔ ساتوں funds میں SPY نے traded units کا 31.75% اور dollars کا 50.07% حاصل کیا، جبکہ UNG نے units کا 5.41% اور dollars کا 0.12% حاصل کیا۔ Units کا share صرف اسی وقت dollars کے share کے برابر ہوتا ہے جب ہر unit کی قیمت یکساں ہو۔ Positioning کا تقابل ایک ہی market میں وقت کے ساتھ کریں، یا ranking سے پہلے contracts کو notional value میں تبدیل کریں۔
COT report FAQ
COT report کس وقت جاری ہوتی ہے؟
جمعہ کو Eastern time کے مطابق شام 3:30 بجے، CFTC website پر۔ Positions گزشتہ منگل کے کاروباری اختتام تک measure کی جاتی ہیں، اس لیے publication کے وقت file تین دن پرانی ہوتی ہے۔ Reporting week میں federal holiday آنے سے release ایک یا دو دن مؤخر ہو جاتی ہے۔
کیا COT report مفت ہے؟
جی ہاں۔ CFTC اسے مفت شائع کرتی ہے، viewable tables اور downloadable files دونوں صورتوں میں۔ Commercial positioning products اسی public data کو charts اور history کے ساتھ دوبارہ پیش کرتے ہیں۔
Legacy اور disaggregated COT reports میں کیا فرق ہے؟
Legacy market کو commercial، non-commercial اور nonreportable positions میں تقسیم کرتی ہے۔ Disaggregated physical commodity markets کو producer/merchant/processor/user، swap dealers، managed money اور other reportables میں تقسیم کرتی ہے۔ Financial markets کے لیے Traders in Financial Futures report میں اسی نوعیت کی parallel تقسیم موجود ہے۔
کیا COT report ہر trader کی position دکھاتی ہے؟
نہیں۔ یہ صرف ان traders کو شمار کرتی ہے جو CFTC reporting levels پر یا ان سے اوپر ہوں۔ اس طرح عموماً market کے open interest کے 70 سے 90 فیصد کا احاطہ ہوتا ہے، اور کوئی market اسی وقت شائع کی جاتی ہے جب 20 یا اس سے زیادہ traders ان levels پر ہوں۔ threshold سے نیچے موجود تمام positions کو ایک anonymous nonreportable line میں جمع کر دیا جاتا ہے۔
کیا COT report price moves کی پیش گوئی کر سکتی ہے؟
یہ تین دن کے lag کے ساتھ position census ہے، forecast نہیں۔ یہ بتاتی ہے کہ منگل کو بڑے traders کہاں کھڑے تھے، مگر extreme reading کے اپنے اختتام کی کوئی تاریخ نہیں بتاتی۔
اس page کا ہر number minute-level price اور volume history پر stored query سے حاصل کیا گیا ہے، اور ہر panel کے نیچے SQL کھلی ہوئی ہے۔ COT file اب بھی اسی طرح دستیاب ہے جیسے ہمیشہ رہی ہے: ہر جمعہ شام 3:30 بجے، مفت۔ Strasmore terminal پر ان markets کے لیے یہی panels چلائیں جنہیں آپ follow کرتے ہیں۔