The CFTC publishes the Commitments of Traders (COT) reports, normally each Friday with holiday exceptions. They aggregate reported positions in covered US futures and, depending on the report, options markets. The data are public; they do not identify every fund or all currency-market participants.

What the COT report actually is

COT means Commitments of Traders, plural. It reports open interest, not weekly trading volume, for covered markets with 20 or more traders holding positions at or above reporting levels. Data normally describe Tuesday positions and are released Friday at 15:30 US Eastern time; check the dated schedule for holiday exceptions. In a historical test the report becomes usable at publication, not at its position date.

Keep one report format and category throughout a comparison. TFF distinguishes Dealer/Intermediary, Asset Manager/Institutional, Leveraged Funds and Other Reportables. These roles are not interchangeable with Legacy commercial/non-commercial classifications. Staff classify traders, not the motive of each trade; leveraged funds can hedge other exposures. Nonreportable positions are the remainder after subtracting reportable positions from open interest for each side, not an identified retail-client group.

Choose Futures Only or Futures and Options Combined separately. Combined converts options into futures equivalents using exchange delta factors. Do not add raw option counts to futures counts or treat the difference between report variants as an option count.

COT Index needs its window

Positions need not change for a custom normalized indicator to change. Adding an older extreme changes the reference scale.

Scroll sideways to see the full diagram

COT Index needs its windowFictional net positions: 200, zero, 20, 60, 80. Over the last four observations, minimum 0 and maximum 80 give a current custom index of 100. Adding the older 200 changes the range to 0–200 and the index to 40. Net remains 80. Both index lines run from 0 to 100.Same position, different windowNet: arbitrary contracts • our normalizationOlder: 200 | recent: 0, 20, 60, 80Window 4: min 0, max 80Mapping: 100 × (80 − 0) / (80 − 0)0100Window 5: min 0, max 200Mapping: 100 × (80 − 0) / (200 − 0)040100Net stays 80 in both calculations.
Our five consecutive net observations: 200, 0, 20, 60, 80. The short window includes the last four; the long window all five, with the current observation in both. Same group, contract, futures-only format and retained vintage. Index = 100 × (net − minimum) / (maximum − minimum): our normalization, not an official CFTC reading. When maximum = minimum, mark it undefined. It is neither a percentile nor a probability. CFTC describes report coverage and data dates. Diagram observations and normalization are fictional.
A window-induced index change is not a position change.

Record position date, release date, report group, contract, vintage and window with the number. CFTC generally releases Tuesday positioning on Friday; check the schedule for exceptions. This example’s longer window proves neither capital outflow nor a 40% probability of a currency move.

How a retail trader reads the positioning

An extreme net position is an extreme within the selected category and historical window. It does not count all willing buyers or sellers and does not establish that further buying or selling capacity is exhausted. Treat any crowding interpretation as a hypothesis rather than a reversal forecast.

A week-on-week change describes the difference between two reported snapshots. It need not identify the same firms adding or closing positions: category changes, entry and exit of reporting traders and offsetting gross changes can affect the total. A COT index normalizes the selected position measure within a stated historical range; it is not a reversal probability.

Scope, delay and classification

The release is a historical snapshot, not a live record of fund purchases. Holiday delays can change the normal Tuesday-to-Friday gap. Retain the actual release timestamp and data vintage rather than assuming a fixed three-day lag or one permanent local publication hour.

COT is not a census of global spot, forward and CFD exposure. Covered futures positions may be useful for a particular hypothesis but are not proof of the whole currency market’s stance. Compare instrument construction in spot versus futures contracts; do not replace outstanding-position coverage with an unsupported turnover-size comparison or call exchange positioning a representative sample of OTC positions.

Commercial classification does not prove that every position is solely a hedge or carries no directional profit exposure. Read the applicable reporting categories and distinguish trader classification from a position's purpose. Extremes can persist; they do not specify when or whether a trend reverses.

Where to find the data and how to view it

CFTC provides reports and downloadable data. Save the market name/code, format, trader category, position date, release timestamp and vintage before calculating a series. TFF is a relevant financial-futures format, not a universally most-readable one. Classification changes can affect comparisons; an anonymous “fund position” without a named category is incomplete.

Positioning is one input to a hypothesis. Compare it with other fundamental information and distinguish participant roles. A correct aggregate does not reveal every participant’s portfolio or risk limits. The fundamental analysis section supplies further context; agreeing observations are not automatically independent evidence.

Higher net with fewer Long contracts

All figures are hypothetical contract counts for one unchanged TFF category, market and Futures Only format. Week A: Long 120,000, Short 80,000, whole-market open interest 400,000. Week B: Long 110,000, Short 60,000, open interest 450,000. Net Long minus Short rises 40,000 → 50,000, although Long falls 10,000, because Short falls 20,000. Calling this “funds bought 10,000 contracts” misreads snapshot differences.

Our auxiliary net/open-interest measure rises from 10.00% to about 11.11%, or 1.11 percentage points. It is not the fraction of investors expecting higher prices. An extra 30,000 of spreading in B enters both sides: (110,000 + 30,000) − (60,000 + 30,000) remains 50,000. Spreading is offsetting positions, not bid–ask spread. Whole-market open interest counts one side, not total longs plus shorts.

Next hypothetical Long 105,000 and Short 70,000 gives net +35,000, down 15,000 from B but still positive. A smaller net long is not a net short. For a declared 52-observation window including the current value, our custom index is 100 × (net − minimum) / (maximum − minimum). Net +50,000, minimum −50,000 and maximum +150,000 yields 50: midpoint of the range, not a median, percentile or probability. If maximum equals minimum, mark it undefined.

Combined adds another distinction. Keep 10,000 bought call options unchanged and change only their assigned positive delta from 0.20 to 0.60. Long futures equivalent rises 2,000 → 6,000, or 4,000, with no additional options purchased. Real aggregates can change deltas and positions together, so this model does not identify a particular weekly cause.

CME 6J yen futures are quoted in USD per JPY, opposite to spot USD/JPY’s JPY per USD. A long yen futures position is not long USD/JPY. Different maturities mean the futures price is not necessarily the exact reciprocal of current spot.

What to do tomorrow

  1. Identify the record. Save market code, format and category before writing Long, Short, spreading and whole-market open interest.
  2. Keep two dates. Retain position date, publication timestamp and vintage; use only information available at each historical decision.
  3. Calculate changes explicitly. Show both gross columns and net, state each denominator and normalization window, and flag undefined ratios.
  4. Separate interpretation. Document a hypothesis, contradictory evidence and costs. Neither an extreme nor a later chart break confirms a guaranteed reversal or outcome.