COTレポートはいつ公表されますか?
CFTCのCOTレポートは毎週金曜日午後3時30分(米東部時間)に公表されます。火曜日終値基準の三日遅れと読み方、祝日週の変更を解説します。
Commitments of Traders(COT)レポートは、米商品先物取引委員会(CFTC)が米東部時間の毎週金曜日午後3時30分に公表します。集計対象は、直前の火曜日の取引終了時点におけるポジションです。集計時点と公表時点の間には三日あります。この時間差に加え、最大手のトレーダーだけを把握する報告基準によって、この無料の週次データから読み取れる内容には限界があります。
COTレポートは毎週いつ公表されますか?
規制当局自身が、東部時間の金曜日午後3時30分に公表します。CFTCのCommitments of Tradersページでは、ファイルを無料で入手できます。閲覧可能な表形式と、ダウンロード可能なテキスト形式があります。
カレンダー上、時刻より重要な点が2つあります。
- データ基準日は火曜日です。金曜日ではありません。金曜日のファイルに記載されたすべての数値は、火曜日の取引終了時点のポジションを示します。
- 連邦祝日により公表日は変わります。 報告週に祝日がある場合、公表は1日または2日遅れます。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週に1週はUNGで8.68%以上動き、そのうち68%の週では2%を超えました。
一つの市場を週ごとに見ると、この空白がいかに不均一かが分かります。
各数値の背後にある正確な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 week2026年7月31日までの1年間にあった48の公表週を見ると、最初に図示した週はAug 8, 2025に終了し、空白は1.45%でした。最後の週はJul 31, 2026に終了し、空白は0.86%でした。ファイルの内容がほぼ最新の週もあります。すでに動いた市場を示している週もあります。どの週に該当するかは、ファイルに記載された内容だけでは分かりません。空売り残高にも、より長い時間軸で同じ問題があります。空売り残高が公表される時期では公表日程を整理し、空売り残高が二週間前の情報になる理由では遅れの仕組みを説明します。
金曜日の午後3時30分には何が起きるのか
このファイルは、米国株式市場が東部時間午後4時に引ける30分前に届きます。金曜日の一日を通じた取引量の分布を、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米国市場の取引量は、スマイル型の分布になります。最初の15分間がその日の出来高に占める割合は6.98%です。12時の区分では2.72%まで細り、通常取引の最後の15分間では13.17%になります。レポートが取り込む15時30分の区分は4.92%です。このリリースは、取引週の最終日における引けに向けた取引量の増加局面に届きます。これはカレンダー上の事実であり、ファイルに記録された取引内容についての主張ではありません。
Legacy、Disaggregated、TFF:COTレポートの違い
COTの名称を持つレポートは四種類あり、同じ火曜日時点の建玉を異なる区分で示しています。
- Legacyは、各市場を商業部門、非商業部門、報告義務のないポジションに分けます。最も古い形式で、一般に「COTレポート」と呼ぶ場合はこれを指すことが多いです。
- Supplementalは、農産物十三品目を対象とし、指数トレーダーを独立したカテゴリーとして区分します。
- Disaggregatedは、農産物や石油から天然ガス、電力、金属まで、現物コモディティ市場を対象とします。生産者・商社・加工業者・利用者、スワップディーラー、運用マネー、その他の報告義務対象者という四つのカテゴリーで構成されます。
- Traders in Financial Futures(TFFレポート)は、通貨、米国債、株価指数、ボラティリティなどの金融契約を対象とします。売り手側はディーラー・仲介業者、買い手側はアセットマネジャー・機関投資家、レバレッジドファンド、その他の報告義務対象者に区分されます。
ヘッジファンドが原油で数年ぶりの大幅なショートポジションを保有しているという見出しでは、通常、Disaggregatedレポートの運用マネーの系列を指します。同じ内容をS&P 500について述べる場合は、TFFのレバレッジドファンドを意味します。これらのラベルは相互に置き換えられません。
COTレポートで実際に集計されるのは誰か
大口トレーダーだけです。清算会員、先物取引業者、海外ブローカーは、CFTC規則で定められた報告基準以上のポジションを持つすべてのトレーダーについて、日次報告を提出します。市場でその水準のポジションを持つトレーダーが20人以上になると、その市場がCOTに掲載されます。報告対象ポジションは通常、市場の建玉の70~90%を占めます。残りは、カテゴリーもトレーダー数も付されない単一の非報告対象欄にまとめられます。
カテゴリーは戦略ではなく、申告された業種を示します。商業部門、すなわち生産者・商社・加工業者・利用者とは、CFTC Form 40に記載した事業活動を先物ポジションでヘッジする企業です。運用マネーは、顧客に代わって取引するアドバイザー、プール運営者、ファンドなどの投機資金をまとめたものです。穀物エレベーターが在庫をヘッジし、ファンドが価格変動を見込んでポジションを構築する場合、両者は反対の欄に同一の契約を保有することがあります。レポートが示すのは、誰がポジションを保有しているかです。その理由までは示しません。
COTレポートが誤読される二つの理由
過去最高のネットロングは、売買のタイミングを示す指標ではありません。 ネットポジションは、単一のカテゴリーにおけるロングとショートの差を、契約数で示した一つの数値です。過去最高という結果は、火曜日時点でそのカテゴリーのエクスポージャーが極端な水準にあったことを示すだけです。そのポジションがいつ、あるいは解消されるのかについては、何も示しません。投資家のポジションの偏りを測る指標には、資産クラスを問わずこの限界があります。プット/コールレシオと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 DESCSPYの一単位は2026年7月に平均$744.99で取引されました。これに対し、UNGの一単位は$10.52でした。それぞれ1,000単位ずつ取引しても、金額は同じではありません。七つのファンド全体では、SPYが取引単位数の31.75%、金額ベースの50.07%を占めました。一方、UNGは取引単位数の5.41%、金額ベースの0.12%を占めました。すべての単位の価格が同じ場合に限り、単位数の比率と金額の比率は一致します。一つの市場におけるポジションを時系列で比較するか、順位付けする前に契約数を想定元本に換算してください。
COTレポートに関するFAQ
COTレポートは何時に公表されますか?
米東部時間の金曜日午後3時30分に、CFTCのウェブサイトで公表されます。ポジションは前週火曜日の取引終了時点で集計されるため、公表時点では3日遅れのデータです。集計週に連邦祝日がある場合は、1〜2日遅れます。
COTレポートは無料ですか?
はい。CFTCは、閲覧可能な表とダウンロード可能なファイルを無料で公表しています。商業用のポジション分析商品は、同じ公開データにチャートや過去データを付加して提供しています。
旧版COTレポートと分解版COTレポートの違いは何ですか?
旧版は市場を、商業筋、非商業筋、報告対象外のポジションに分類します。分解版は現物コモディティ市場を、生産者・商社・加工業者・利用者、スワップディーラー、マネージドマネー、その他の報告対象に分類します。金融市場では、「Traders in Financial Futures」レポートで同様の分類が用いられます。
COTレポートには全トレーダーのポジションが表示されますか?
いいえ。CFTCの報告基準以上のポジションを持つトレーダーを集計します。通常は、市場の建玉の70〜90%をカバーします。また、報告基準以上のトレーダーが20以上いる市場だけが公表対象となります。基準未満のトレーダーは、匿名の報告対象外という一つの項目にまとめられます。
COTレポートで価格変動を予測できますか?
COTレポートは3日遅れのポジション調査であり、予測ではありません。大口トレーダーが火曜日時点でどのようなポジションを取っていたかを記録するものです。極端な数値が示されても、それがいつ終わるかを示す期限はありません。
このページの数値はすべて、分足の価格・出来高履歴に対する保存済みクエリから取得しています。各パネルの下にはSQLを公開しています。COTファイル自体は従来どおり、毎週金曜日の午後3時30分に無料で提供されます。Strasmoreターミナルで、フォローしている市場に同じパネルを適用してください。