Kailan Inilalabas ang COT Report?
Inilalabas ng CFTC ang COT report tuwing Biyernes, 3:30 p.m. ET, batay sa close noong Martes. Tingnan ang schedule, tatlong araw na lag, at pagbasa nito.
Ang Commitments of Traders report, o COT report, ay inilalabas tuwing Biyernes ng 3:30 p.m. Eastern time ng U.S. Commodity Futures Trading Commission. Binibilang nito ang mga position batay sa pagsasara ng negosyo noong nakaraang Martes. Tatlong araw ang pagitan ng pagsukat at paglalathala. Ang pagitan na ito, kasama ng reporting threshold na kumukuha lamang sa pinakamalalaking trader, ang nagtatakda kung ano ang makatuwirang masasabi sa iyo ng libreng lingguhang file na ito.
Kailan inilalabas bawat linggo ang COT report?
Biyernes ng 3:30 p.m. Eastern, at mismong regulator ang naglalathala nito. Ang Commitments of Traders page ng CFTC ay nagpo-post ng mga file nang libre, bilang mga table na maaaring tingnan at mga text file na maaaring i-download.
Mas mahalaga sa calendar ang dalawang detalyeng ito kaysa sa mismong oras:
- Ang data date ay Martes, hindi Biyernes. Inilalarawan ng bawat figure sa Friday file kung nasaan ang mga position sa pagsasara ng negosyo noong Martes.
- Binabago ng mga federal holiday ang release. Kung may holiday sa loob ng reporting week, nade-delay ng isa o dalawang araw ang publication. Nagpo-post ang CFTC ng release schedule na naglalaman ng aktuwal na petsa bawat linggo. Nalalapat ang Friday rule sa normal na linggo, ngunit nagbabago ito kapag may federal holiday.
Ang parehong Martes ay makikita rin sa higit sa isang file: isang futures-only version at isang pinagsamang options-and-futures version. Sa pinagsamang bersyon, kino-convert ang option positions sa futures-equivalent basis gamit ang delta factors na ibinibigay ng mga exchange. Kapag magkaiba ang numerong binabanggit ng dalawang tao para sa parehong market sa parehong araw, kadalasan ay magkaibang version ang kanilang binabasa.
Bakit tatlong araw nang luma ang COT report kapag binabasa mo ito?
Ang pagitan mula snapshot hanggang release ang pinakamahalagang dapat malaman tungkol sa positioning data. Anumang ginawa ng pinakamalalaking trader noong Miyerkules, Huwebes, o Biyernes ng umaga ay wala sa file na inilalabas ng 3:30. Para masukat ang blind spot na ito, sinusuri ng mga panel dito ang mga exchange-traded fund na sumusubaybay sa mga market na saklaw ng COT: stocks, Treasuries, metals, at energy. Hindi futures contracts ang mga fund. Makatarungan silang panukat kung gaano kalayo ang maaaring galawin ng mga market na ito sa loob ng tatlong araw.
Ang eksaktong SQL sa likod ng bawat numero
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 DESCSa loob ng dalawang taon ng report weeks, ang median na layo mula sa pagsasara noong Martes hanggang sa print ng 3:30 p.m. noong Biyernes ay mula 2.97% sa UNG hanggang 0.66% sa TLT, batay sa 97 weeks. Kalahati ng mga linggo ay mas mababa sa mga median na iyon. Ang tail ang dahilan kung bakit mabilis maging luma ang Tuesday snapshot: isa sa bawat sampung linggo ay gumalaw ng 8.68% o higit pa sa UNG, at 68% ng mga linggo nito ay lumampas sa two percent.
Ipinapakita ng isang market, linggo-linggo, kung gaano kalaki ang pagkakaiba sa pagitan na ito.
Ang eksaktong SQL sa likod ng bawat numero
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 weekSa 48 report weeks sa year hanggang July 31, 2026, ang unang linggong ipinakita, na nagtapos noong Aug 8, 2025, ay may 1.45% na pagitan. Ang huling linggo naman, na nagtapos noong Jul 31, 2026, ay may 0.86%. Sa ilang linggo, halos kasalukuyan ang file. Sa ibang linggo, inilalarawan nito ang market na nakapagpatuloy na sa paggalaw. Walang sinasabi ang anumang print sa file kung anong uri ng linggo iyon. May kaparehong problema ang short interest, ngunit mas mahaba ang schedule: ipinapakita ng kung kailan inilalabas ang short interest ang calendar na iyon, at ipinapaliwanag ng kung bakit dalawang linggo nang luma ang short interest ang lag.
Ano ang nangyayari sa 3:30 p.m. tuwing Biyernes?
Dumarating ang file kalahating oras bago magsara ang U.S. stock market sa 4:00 p.m. Eastern. Ganito nahahati sa buong oras ng trading ang isang Friday session, gamit ang labinlimang minutong bucket.
Ang eksaktong SQL sa likod ng bawat numero
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.bucketAng volume sa U.S. session ay hugis ng ngiti. Kumukuha ang unang quarter hour ng 6.98% ng shares sa buong araw. Bumabalik sa mas mababang antas ang 12:00 bucket, na may 2.72%, habang kumukuha ang huling quarter hour ng tuloy-tuloy na trading ng 13.17%. Ang 15:30 bucket, kung saan inilalabas ang report, ay may 4.92%. Dumarating ang release habang tumataas ang activity bago ang pagsasara sa huling araw ng trading week. Katotohanan ito tungkol sa calendar, hindi pahayag tungkol sa mga trade na nasa file.
Legacy, disaggregated, o TFF: alin ang bawat COT report?
Apat na report ang gumagamit ng pangalang COT at magkakaiba ang paghahati sa parehong Tuesday open interest.
- Legacy ang naghahati sa bawat market sa commercial, non-commercial, at nonreportable positions. Ito ang pinakamatandang format at ang karaniwang tinutukoy ng karamihan kapag sinabing “the COT report”.
- Supplemental ang sumasaklaw sa 13 agricultural commodities at naghihiwalay sa index traders bilang sariling category.
- Disaggregated ang sumasaklaw sa physical commodity markets, mula agriculture at petroleum hanggang natural gas, electricity, at metals. Gumagamit ito ng apat na category: producer/merchant/processor/user, swap dealers, managed money, at other reportables.
- Saklaw ng Traders in Financial Futures, o TFF report, ang financial contracts kabilang ang currencies, Treasury securities, stock indices, at volatility. Ang categories nito ay dealer/intermediary sa sell side, at asset manager/institutional, leveraged funds, at other reportables sa buy side.
Kapag sinabing pinakamalaki sa loob ng maraming taon ang short position ng hedge funds sa crude oil, kadalasan ay managed money sa disaggregated report ang pinanggagalingang series. Kapag S&P 500 ang tinutukoy sa parehong pangungusap, leveraged funds naman ito sa TFF. Hindi maaaring pagpalitin ang mga label.
Sino talaga ang binibilang sa COT report?
Malalaking trader lamang, at wala nang iba. Araw-araw na naghahain ng report ang clearing members, futures commission merchants, at foreign brokers para sa bawat trader na ang position ay nasa o lampas sa reporting level na itinakda ng CFTC regulation. Lumalabas lamang ang isang market sa COT kapag 20 o higit pang trader ang may positions sa mga antas na iyon. Karaniwang saklaw ng reportable positions ang 70 hanggang 90 percent ng open interest sa isang market. Ang natitira ay napupunta sa isang nonreportable line, na walang category at walang nakatalang bilang ng trader.
Ang mga category ay idineklarang occupation, hindi mga strategy. Ang commercial, o producer/merchant/processor/user, ay isang firm na ang business activity ay hina-hedge ng futures position, batay sa nakasaad sa CFTC Form 40. Ang managed money ay pooled speculative capital: mga advisor, pool operator, at fund na nagte-trade para sa mga kliyente. Maaaring may magkaparehong contracts ang grain elevator na naghe-hedge ng inventory at fund na pumoposisyon para sa galaw ng presyo, ngunit nasa magkasalungat na column. Sinasabi ng report kung sino ang may hawak ng position. Hindi nito sinasabi kung bakit.
Dalawang paraan kung paano namamali ang pagbasa sa COT report
Ang record net long ay hindi timing tool. Ang net position ay isang numerong binuo mula sa dalawang figure: longs minus shorts, sa contracts, sa loob ng isang category. Ipinapakita ng record reading na nasa extreme level ang exposure ng category na iyon noong isang Martes. Wala itong impormasyon kung kailan, o kung mag-u-unwind ba, ang exposure. May ganitong limitasyon ang crowd-position gauges sa iba’t ibang asset class: inilalarawan ng put/call ratio at FINRA short interest data ang isang position na naitatag na.
Hindi maaaring ikumpara ang raw contract counts sa iba’t ibang product. Nagbibilang ng contracts ang COT table, at ang contract ay isang quantity ng isang bagay. Saklaw ng isang COMEX gold contract ang 100 troy ounces. Saklaw naman ng isang NYMEX crude contract ang 1,000 barrels. Kapag niranggo ang mga market batay sa contract count, niraranggo ang mga ito ayon sa unit definitions na itinakda ng mga exchange ilang dekada na ang nakalipas. Pareho ang arithmetic sa equities, kung saan ang share ang unit.
Ang eksaktong SQL sa likod ng bawat numero
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 DESCAng isang unit ng SPY ay ipinagpalit sa average na $744.99 noong July 2026, kumpara sa $10.52 para sa isang unit ng UNG. Hindi magkapareho ang halaga ng pera ng tig-isang libong unit ng bawat isa. Sa pitong fund, nakakuha ang SPY ng 31.75% ng mga unit na na-trade at 50.07% ng dollars. Samantala, nakakuha ang UNG ng 5.41% ng mga unit at 0.12% ng dollars. Magkapareho lamang ang bahagi ng units at bahagi ng dollars kapag pare-pareho ang presyo ng bawat unit. Ikumpara ang positioning sa loob ng isang market sa paglipas ng panahon, o i-convert muna ang contracts sa notional value bago mag-rank ng anuman.
Mga madalas itanong tungkol sa COT report
Anong oras inilalabas ang COT report?
3:30 p.m. Eastern time tuwing Biyernes, sa website ng CFTC. Sinusukat ang positions batay sa pagsasara ng negosyo noong nakaraang Martes, kaya tatlong araw nang luma ang file kapag inilabas. Kung may federal holiday sa reporting week, nade-delay ito ng isa o dalawang araw.
Libre ba ang COT report?
Oo. Inilalabas ito ng CFTC nang walang bayad, bilang mga table na maaaring tingnan at mga file na maaaring i-download. Ang mga commercial positioning product ay muling nagpa-package sa parehong public data, kasama ang charts at history.
Ano ang pagkakaiba ng legacy at disaggregated COT reports?
Hinahati ng Legacy ang market sa commercial, non-commercial, at nonreportable positions. Hinahati naman ng Disaggregated ang physical commodity markets sa producer/merchant/processor/user, swap dealers, managed money, at other reportables. Ang financial markets ay may katumbas na treatment sa Traders in Financial Futures report.
Ipinapakita ba ng COT report ang position ng bawat trader?
Hindi. Binibilang nito ang mga trader na nasa o lampas sa CFTC reporting levels. Karaniwang saklaw nito ang 70 hanggang 90 percent ng open interest ng isang market. Inilalathala lamang ang market kapag 20 o higit pang trader ang nasa mga level na iyon. Ang lahat ng nasa ibaba ng threshold ay pinagsasama sa isang anonymous na nonreportable line.
Nahuhulaan ba ng COT report ang galaw ng presyo?
Isa itong position census na may tatlong araw na lag, hindi forecast. Itinatala nito kung nasaan ang malalaking trader noong Martes. Ang extreme reading ay walang itinatakdang petsa kung kailan matatapos ang position na iyon.
Ang bawat numero sa page na ito ay stored query sa minute-level price at volume history, at makikita ang SQL sa ilalim ng bawat panel. Ang COT file mismo ay nananatiling libre, gaya ng dati, tuwing Biyernes ng 3:30. Patakbuhin ang parehong mga panel sa mga market na sinusubaybayan mo sa Strasmore terminal.