Strasmore Research
Leren Matt ConnorDoor Matt Connor

Wanneer verschijnt het COT-rapport?

De CFTC publiceert het COT-rapport elke vrijdag om 15.30 uur Eastern time, gebaseerd op de slotstand van dinsdag. Bekijk de planning, de vertraging van drie dagen en de interpretatie.

Het Commitments of Traders-rapport, het COT-rapport, wordt elke vrijdag om 15.30 uur Eastern time gepubliceerd door de U.S. Commodity Futures Trading Commission. Het telt posities per het einde van de werkdag op de voorafgaande dinsdag. Tussen de meting en de publicatie zitten drie dagen. Die vertraging en een rapportagedrempel die alleen de grootste traders omvat, bepalen wat dit gratis wekelijkse bestand u betrouwbaar kan vertellen.

Wanneer wordt het COT-rapport elke week gepubliceerd?

Vrijdag om 15.30 uur Eastern time, rechtstreeks gepubliceerd door de toezichthouder. De pagina van de CFTC over Commitments of Traders bevat de bestanden gratis, als tabellen die online kunnen worden bekeken en als downloadbare tekst.

Twee agendapunten zijn belangrijker dan het exacte tijdstip:

  • De datadatum is dinsdag, niet vrijdag. Elk cijfer in het bestand van vrijdag beschrijft de posities aan het einde van de werkdag op dinsdag.
  • Federale feestdagen verschuiven de publicatie. Valt er in de rapportageweek een feestdag, dan wordt de publicatie één of twee dagen uitgesteld. De CFTC publiceert een schema met de feitelijke datum van elke week. De vrijdagregel geldt in een normale week, maar wijkt af rond weken met een federale feestdag.

Diezelfde dinsdag komt ook terug in meer dan één bestand: een versie met alleen futures en een gecombineerde versie met opties en futures. In die laatste versie worden optieposities omgerekend naar een futures-equivalent op basis van deltafactoren die de beurzen aanleveren. Wanneer twee mensen op dezelfde dag verschillende cijfers voor dezelfde markt noemen, lezen zij vaak verschillende versies.

Waarom is het COT-rapport drie dagen oud wanneer u het leest?

De periode tussen snapshot en publicatie is het belangrijkste punt bij positioneringsdata. Wat de grootste traders op woensdag, donderdag of vrijdagochtend hebben gedaan, staat niet in het bestand dat om 15.30 uur wordt gepubliceerd. Om die blinde vlek te kwantificeren, meten de panelen hier exchange-traded funds die de markten volgen waarop het COT betrekking heeft: aandelen, Treasuries, metalen en energie. De fondsen zijn niet hetzelfde als de futurescontracten. Zij vormen wel een bruikbare maatstaf voor de afstand die deze markten in drie dagen afleggen.

QueryHoe ver zeven markten bewegen tussen de slotstand van dinsdag en vrijdag 15:30 ET, aug. 2024 t/m jul. 2026
De exacte SQL achter elk getal
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
Run this yourself

Over twee jaar aan rapportweken liep de mediane afstand van de slotstand van dinsdag tot de print van vrijdag om 15.30 uur uiteen van 2.97% in UNG tot 0.66% in TLT, gemeten over 97 weken. In de helft van de weken bleef de afstand onder deze medianen. Vooral de staartverdeling maakt een dinsdag-snapshot snel verouderd: één op de tien weken bewoog 8.68% of meer in UNG, en in 68% van de weken kwam de beweging boven twee procent uit.

Eén markt laat per week zien hoe ongelijk die vertraging kan zijn.

QuerySPY: de beweging van de slotstand van dinsdag tot vrijdag 15:30 ET, week per week, aug. 2025 t/m jul. 2026
De exacte SQL achter elk getal
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
Run this yourself

In de 48 rapportweken van het jaar tot en met 31 juli 2026 bedroeg de afstand in de eerste weergegeven week, die eindigde op Aug 8, 2025, 1.45%. In de laatste week, die eindigde op Jul 31, 2026, bedroeg zij 0.86%. In sommige weken is het bestand vrijwel actueel. In andere weken beschrijft het een markt die al verder is bewogen. Niets in het bestand zelf vertelt u in welke situatie u zit. Short interest kent hetzelfde probleem, maar met een langere kalender: wanneer short interest wordt gepubliceerd beschrijft die kalender en waarom short interest twee weken oud is legt de vertraging uit.

Wat gebeurt er op vrijdag om 15.30 uur?

Het bestand verschijnt een half uur voordat de Amerikaanse aandelenmarkt om 16.00 uur Eastern time sluit. Hieronder ziet u hoe een volledige vrijdaghandelssessie over de dag wordt verdeeld, in intervallen van vijftien minuten.

QueryWaar het vrijdagvolume op de klok staat: SPY, blokken van 15 minuten, volledige vrijdaghandelssessies over het afgelopen jaar
De exacte SQL achter elk getal
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
Run this yourself

Het volume tijdens een Amerikaanse handelssessie heeft de vorm van een glimlach. Het eerste kwartier vertegenwoordigt 6.98% van de aandelen van de dag. Het interval van 12.00 uur daalt naar 2.72%. Het laatste kwartier van de doorlopende handel vertegenwoordigt 13.17%. Het interval van 15.30 uur, waarin het rapport verschijnt, vertegenwoordigt 4.92%. De publicatie valt binnen de slotrally op de laatste handelsdag van de week. Dat is een gegeven over de kalender, geen uitspraak over de trades in het bestand.

Legacy, disaggregated of TFF: welk COT-rapport is welk?

Vier rapporten dragen de naam COT en verdelen dezelfde open interest op dinsdag elk op een andere manier.

  • Legacy verdeelt elke markt in commerciële, niet-commerciële en nonreportable posities. Dit is het oudste format en het rapport dat de meeste mensen bedoelen met „het COT-rapport”.
  • Supplemental omvat 13 agrarische commodities en vermeldt indextraders als afzonderlijke categorie.
  • Disaggregated omvat fysieke commoditymarkten, van landbouw en petroleum tot aardgas, elektriciteit en metalen. Het gebruikt vier categorieën: producer/merchant/processor/user, swap dealers, managed money en other reportables.
  • Traders in Financial Futures, het TFF-rapport, omvat financiële contracten, waaronder valuta, Treasury securities, aandelenindices en volatiliteit. De categorieën zijn aan de sell side dealer/intermediary en aan de buy side asset manager/institutional, leveraged funds en other reportables.

Wanneer een headline meldt dat hedgefondsen hun grootste shortpositie in crude oil in jaren aanhouden, is de onderliggende reeks meestal managed money in het disaggregated-rapport. Dezelfde zin over de S&P 500 verwijst naar leveraged funds in het TFF-rapport. De labels zijn niet uitwisselbaar.

Wie wordt daadwerkelijk meegeteld in het COT-rapport?

Grote traders, en niemand anders. Clearing members, futures commission merchants en buitenlandse brokers rapporteren dagelijks over elke trader met een positie op of boven het rapportageniveau dat in de CFTC-regels is vastgesteld. Een markt verschijnt alleen in het COT wanneer 20 of meer traders posities op die niveaus aanhouden. Reportable posities omvatten doorgaans 70 tot 90 procent van de open interest in een markt. De rest wordt samengevoegd in één nonreportable-regel, zonder categorie en zonder vermelding van het aantal traders.

De categorieën zijn opgegeven bedrijfsactiviteiten, geen strategieën. Een commercial, of producer/merchant/processor/user, is een onderneming waarvan de bedrijfsactiviteit door de futurespositie wordt gehedged, zoals vermeld op het CFTC Form 40. Managed money is gebundeld speculatief kapitaal: adviseurs, pool operators en fondsen die namens cliënten handelen. Een graanopslagbedrijf dat zijn voorraad hedget en een fonds dat op een prijsbeweging positioneert, kunnen identieke contracten aanhouden maar in tegengestelde kolommen staan. Het rapport vermeldt wie een positie aanhoudt. Het vermeldt nooit waarom.

Twee manieren waarop het COT-rapport verkeerd wordt geïnterpreteerd

Een record net long is geen timinginstrument. Een nettopositie is één getal dat uit twee componenten bestaat: longs minus shorts, in contracten en binnen één categorie. Een recordstand betekent dat de exposure van die categorie op dinsdag extreem was. De stand zegt niets over het moment waarop die exposure wordt afgebouwd, of zelfs of dat gebeurt. Positioneringsindicatoren voor beleggersmassa's hebben in alle asset classes dezelfde beperking: de put/call ratio en FINRA short interest data beschrijven beide een positie die al is ingenomen.

Ruwe aantallen contracten zijn niet vergelijkbaar tussen producten. Een COT-tabel telt contracten, en een contract vertegenwoordigt een bepaalde hoeveelheid. Een COMEX gold-contract heeft betrekking op 100 troy ounces. Een NYMEX crude-contract heeft betrekking op 1.000 barrels. Wie markten rangschikt op basis van het aantal contracten, rangschikt ze op basis van eenheden die de beurzen tientallen jaren geleden hebben vastgesteld. Dezelfde rekenkundige beperking geldt voor aandelen, waar het aandeel de eenheid is.

QueryUnits versus dollars: zeven fondsen die de markten volgen waarop de COT betrekking heeft, juli 2026
De exacte SQL achter elk getal
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
Run this yourself

Eén eenheid van SPY wisselde in juli 2026 gemiddeld van eigenaar voor $744.99, tegenover $10.52 voor één eenheid van UNG. Duizend eenheden van elk product vertegenwoordigen niet hetzelfde bedrag. Van de zeven fondsen nam SPY 31.75% van de verhandelde eenheden voor zijn rekening en 50.07% van de dollars. UNG nam 5.41% van de eenheden voor zijn rekening en 0.12% van de dollars. Het aandeel in de eenheden is alleen gelijk aan het aandeel in de dollars wanneer elke eenheid hetzelfde kost. Vergelijk positionering binnen één markt door de tijd, of zet contracten eerst om naar notional value voordat u iets rangschikt.

Veelgestelde vragen over het COT-rapport

Hoe laat wordt het COT-rapport gepubliceerd?

Vrijdag om 15.30 uur Eastern time op de website van de CFTC. De posities worden gemeten aan het einde van de werkdag op de voorafgaande dinsdag. Daardoor is het bestand bij publicatie drie dagen oud. Een federale feestdag in de rapportageweek vertraagt de publicatie met één of twee dagen.

Is het COT-rapport gratis?

Ja. De CFTC publiceert het kosteloos, als tabellen die online kunnen worden bekeken en als downloadbare bestanden. Commerciële positioneringsproducten verpakken dezelfde openbare data opnieuw, met grafieken en historische reeksen.

Wat is het verschil tussen het legacy- en het disaggregated COT-rapport?

Legacy verdeelt een markt in commerciële, niet-commerciële en nonreportable posities. Disaggregated verdeelt fysieke commoditymarkten in producer/merchant/processor/user, swap dealers, managed money en other reportables. Financiële markten krijgen een vergelijkbare indeling in het Traders in Financial Futures-rapport.

Laat het COT-rapport de positie van elke trader zien?

Nee. Het telt traders op of boven de rapportageniveaus van de CFTC. Daarmee wordt doorgaans 70 tot 90 procent van de open interest van een markt gedekt. Een markt wordt alleen gepubliceerd wanneer 20 of meer traders zich op die niveaus bevinden. Iedereen onder de drempel wordt samengevoegd in één anonieme nonreportable-regel.

Kan het COT-rapport prijsbewegingen voorspellen?

Het is een census van posities met een vertraging van drie dagen, geen prognose. Het registreert waar grote traders op dinsdag stonden. Een extreme stand bevat geen datum waarop die stand eindigt.


Elk getal op deze pagina is een opgeslagen query over prijs- en volumegeschiedenis op minuutniveau. De SQL staat onder elk paneel. Het COT-bestand blijft waar het altijd heeft gestaan: gratis, elke vrijdag om 15.30 uur. Voer dezelfde panelen uit op de markten die u volgt via de Strasmore-terminal.

#cot report#cftc#positioning#futures#release schedule