Same name, different data: the CoT goes twice per week

Data··cot, data, data-quality, backtesting, futures, calendars

On 27 October 2026 the CFTC announced that it will, by the end of 2026, publish the Commitments of Traders report twice per week instead of just once per week.1 It hasn’t said anything about the files that will be published when this change is made. It’s probably reasonable to assume that they’ll keep their names, their market codes, and most of their columns. Still, it’s prudent to be ready to deal with breaking changes in any CoT ingestion pipeline. Ideally, we’d find out about any changes before they happen, but there’s no guarantee that the CFTC will provide sufficient clarity first.

We do know that the reports will describe different days, arrive after a different delay, and put twice as many data points into each year. This means that an indicator written for the weekly report may start producing numbers that no longer mean what they were designed to mean.

A backtest tests a rule against a set of values, and it also tests the rule against the structure of the data: how often it arrives; which day each value describes; when it became public; and what each column means. When that structure changes, two separate things go wrong: the history gets a seam, so one series name covers two regimes that the backtest silently blends; and the strategy that was validated on the old structure goes live on the new one. The CoT change is a clean example because so much changes at once: the cadence; the as-of day; the publication delay; and probably the meaning of some of the columns.

What the CFTC announced

Today the report describes positions at the close of business on Tuesday and comes out on Friday at 3:30 pm Eastern. Under release 9316-26 there will be two reports per week, with Monday’s positions published on Wednesday and Wednesday’s positions published on Friday, both at 3:30 pm Eastern. The delay from the as-of date to publication drops from three days to two. The CFTC’s target is “by the end of 2026”, and it hasn’t given an exact date or said anything yet about the files themselves.

The Commitments of Traders week, before and after the changeTwo rows across a week from Monday to the following Monday. Top, the weekly report: positions as of Tuesday, published on Friday, three days later. Bottom, the twice-weekly report: positions as of Monday, published on Wednesday, and positions as of Wednesday, published on Friday, each two days later. Under the bottom row, the gaps between as-of days alternate between two days, Monday to Wednesday, and five days, Wednesday to the next Monday.MonTueWedThuFriSatSunMonweeklyuntil the change3 daystwice per weekby the end of 20262 days2 days2 days5 daysgaps betweenas-of dayspositions as of the closereport published, 3:30 pm Eastern
The reporting week before and after the change. The weekly report describes Tuesday and comes out on Friday; the twice-weekly reports describe Monday and Wednesday and come out two days later, so the gaps between as-of days alternate between two days and five.

The announcement followed a request for comment, published in April and May 2026, that also asked about changes to what the reports contain.2 Frequency may turn out to be the first of several changes.

CoT reporting changes are not without precedent. The CFTC published the report monthly from 1962, in mid-month and month-end editions from 1990, every two weeks from 1992, and weekly from 2000, and the delay to publication shortened from the sixth business day after the as-of date in 1990 to the third in 1992.3 A CoT history that starts before 2000 already mixes cadences, and anything that counts its lookback in rows has been measuring different spans of time in different decades all along.

Lookbacks counted in reports

Most CoT indicators normalise the current net position against its range, or its distribution, over the past 26, 52, 104, or 156 weeks. Code nearly always implements that as the last N rows, because for a quarter of a century a row has been a week. After the change, a 26-row lookback covers 13 weeks and the 104-row “two-year” range covers one year. Nothing raises an error, since the arithmetic is still valid, and the indicator just becomes a different indicator. Whether a CoT index then reaches 0 and 100 more often is a question for the data, since the shorter span can drop old extremes while the extra weekday can catch ones that the weekly report missed.

For a year after the cutover, any 104-row window that spans it mixes weekly and twice-weekly rows, and a mean or a percentile taken over it gives the newer part twice the weight per calendar week.

Lines showing the calendar weeks covered by the last 26, 52, 104, and 156 reports, from 26 weeks before the first twice-weekly report to 104 weeks after it. Each line is flat at its full length until the change, then falls as twice-weekly rows replace weekly ones, and levels off at half its length: the 104-report range falls from 104 weeks to 52 a year after the change, the 26-report range reaches 13 weeks after a quarter, and the 156-report range reaches 78 weeks after a year and a half.

Tuesday goes away

The CoT has described Tuesday for so long that plenty of code assumes it, and day-of-week filters written around Tuesday will stop matching when positions start to describe Monday, straight after the weekend, or Wednesday. A strategy that compares positioning with the price on its as-of day has to find a different bar, and one that measures the price change between consecutive reports will find the gaps alternating between two days and five, where they used to be a steady seven.

The Wednesday-as-of report is the nearer of the two to the old one, and it’ll still come out on Friday, so a strategy that only uses it keeps most of its timing, and its positions are a day fresher than Tuesday’s were.

Observed versus published

Every CoT observation has two dates: the as-of date, which is the day whose closing positions the report describes; and the publication date, when anyone outside the CFTC could first see the figures. The CFTC’s files carry only the first. They have two date columns, As_of_Date_In_Form_YYMMDD and Report_Date_as_YYYY-MM-DD, and despite its name the second holds the Tuesday too, so most databases and vendors key their rows on the as-of date, and the publication date has to come from somewhere else.

If you backtest on the as-of date, then the strategy sees Tuesday’s positions on Tuesday, three days before anyone could have, and every CoT backtest keyed that way has had this look-ahead built in. We wrote about it in Why market data is harder than you think. In our release calendar, which gives a source for every date, 112 of the 1,063 reports with as-of dates from 13 June 2006 to 20 October 2026 came out later than the Friday after their as-of date, and none came out earlier. The fix is to store both dates and to backtest on the publication date, and the hard part is getting the publication date right.

You can get it from a rule (publication is the as-of date plus three days, or the Friday after), which is cheap and usually right, or from a release calendar, which is a table of actual publication dates built from the CFTC’s published schedule and its announcements of changes, and which someone has to maintain.

Juneteenth 2021 was observed by federal agencies, the CFTC included, on Friday 18 June, but the exchanges traded that day, so there was a full Friday session with no report, and the report for positions on 15 June came out on Monday 21 June, where a “plus three days” rule would put it on the Friday.

During the 2025 government shutdown no reports were published from 1 October to 12 November. The CFTC then published the backlog in date order from 19 November, moved to a faster schedule from 9 December, and was current again by 29 December,4 so some positions became public as much as seven weeks after their as-of date, against the usual three days. The 2018–19 shutdown was handled the same way.

Dots for every Commitments of Traders report from June 2006 to October 2026, showing the calendar days from its as-of date to its publication. Most sit on a line at three days, with holiday weeks scattered just above it, mostly at six days, and four spikes: the 2013 shutdown, up to 24 days; the 2018–19 shutdown, up to 39; the ION cyber attack in 2023, up to 24; and the 2025 shutdown, up to 50. A dashed line at two days marks the delay planned for the twice-weekly reports.

The values can change after publication, too. On 24 October 2019 the CFTC updated data for five contracts in the report that a reporting firm had not submitted for the 15 October 2019 deadline.5 A history downloaded today has the corrected figures, but a backtest that stamps them 18 October is looking ahead by six days, using a signal that didn’t exist at the time. The CFTC’s special announcements list dozens of corrections like this since 2008.

Some history was published years after the date it describes. The disaggregated report, which splits traders into producers, swap dealers, managed money, and other reportables, first appeared on 4 September 2009, and the CFTC released its history for the first 22 markets, back to June 2006, on 20 October 2009. It kept no record of how traders had been classified in those years, so it applied the 2009 classifications to the old positions.6 Dated correctly, that history can feed decisions made after 20 October 2009, but not a simulated trade in 2008, when it didn’t exist.

The time of day matters as well, since the 3:30 pm Eastern release lands at 2:30 pm in Chicago, after the CBOT grain markets have closed for the day at 1:20 pm, but half an hour before the E-mini S&P 500 settles at 3:00 pm.7 A grain strategy can’t act on a Friday report until the Sunday evening session opens at 7:00 pm, while an equity index strategy could, in principle, act on it the same afternoon, so “Friday” is a different trading opportunity in different markets.

The twice-weekly change breaks the rule again, because “plus three days” becomes “plus two” from a date the CFTC hasn’t announced yet, and a calendar copes only once someone has added the new dates.

Change columns

The report’s “Change in …” columns have always been changes since the previous week. Once the report is twice-weekly, they might become changes since the previous report, which would mean uneven gaps, with five days of change in the Monday-as-of report and two in the Wednesday-as-of report, or they might stay seven-day changes, measured twice per week over overlapping windows. The CFTC hasn’t said which. A threshold fitted to the weekly change needs checking against the new data in either case, before anyone decides whether to fit it again.

Going back to weekly

The obvious response is to resample the new report to weekly and carry on, but that’s a choice with consequences. Keeping only the Wednesday-as-of report gives the row that’s nearest the old Tuesday, still published on Friday, so the strategy’s timing hardly moves, although the as-of day shifts by one and the Monday-as-of report is thrown away. Using both reports means converting every lookback to calendar time, deciding how the reports inside it count, and accepting that the newest part of the history is denser than the rest. Neither policy reproduces the old indicator, since one changes the weekday and the other the sampling, and both leave a seam that needs writing down somewhere a future reader of the backtest will find it.

A lookback in calendar time also has to say whether it counts position dates or publication dates. The two windows can disagree at their edges in any week, and they disagree by weeks of reports while a backlog is coming out, as one was in November and December 2025.

The plumbing

The weekly cadence is also built into the software that collects the report, and a CoT fetcher typically has it in four places that the change breaks: a polling schedule of seven days after the last report, which picks up the Monday-as-of report two days late if it downloads the year’s file, as ours does, and may miss it altogether if it only fetches the latest report; a strict release calendar, which fails on the first Monday-as-of report because that date isn’t in it; a fallback rule of “the Friday after” for dates beyond the calendar’s end, which stamps the Monday-as-of report with the Friday, two days after it was published; and a staleness alarm tuned to weekly data, which has to allow for holiday delays and so will sit quietly through several missed twice-weekly releases.

The fallback rule exists because a release calendar only runs as far ahead as the publisher’s schedule. In an ordinary week its stamp is later than the truth, which avoids look-ahead but makes the Monday-as-of report look two days staler than it is. In the holiday, shutdown, and outage weeks above, the same rule stamps reports before they came out, so a stamp from a rule is worth storing as an inference.

Ours had all four problems. Our staleness alarm fires when the newest report was published more than 12 days ago, which on the weekly schedule allows one missed release, and on the twice-weekly schedule would let two or three go by before it said anything. If you take the CoT from a vendor, then the same questions apply to the vendor’s pipeline, including how it plans to date the Monday-as-of report.

Recommendations

  1. Store three times for every observation: the date it describes; when that version of its values became public; and when your pipeline received it. Backtest on the second, from a release calendar where one exists, or on the third, plus processing time, to reproduce your own system.
  2. Keep each released version of the values where you can, and where you can’t, say that the history may include later corrections.
  3. Express CoT lookbacks in calendar time, count weeks rather than rows, and say which date the window counts.
  4. Keep a log of the report’s eras, with the cadence, the as-of day, the publication delay, and the meaning of the change columns in each, and either test across the seams or stay inside one era on purpose.
  5. Treat release calendars as data: versioned; with a source for each date; and updated when the publisher changes its schedule.
  6. Derive staleness thresholds and polling schedules from the report’s current cadence, so that they change when it does.
  7. When the twice-weekly reports start, check the thresholds and rules against the new data before refitting anything, and run the Wednesday-as-of-only and both-reports policies over the same months after the cutover, which holds the markets fixed while the policy changes.

The CFTC still hasn’t said when the first twice-weekly report will appear, or whether the change columns will measure two-day and five-day gaps, and both answers will probably appear on its release schedule page with little fanfare. Whatever date it picks, the first Monday-as-of report is the one most likely to break a pipeline written for the weekly report.


  1. CFTC release 9316-26, 27 October 2026, on publishing the Commitments of Traders reports twice per week. ↩︎

  2. CFTC release 9223-26, 30 April 2026, and the request for comment in the Federal Register, 5 May 2026. ↩︎

  3. About the COT reports and the CFTC’s 2006 review of the reporting program. ↩︎

  4. CFTC releases 9138-25 and 9147-25, and the CFTC’s historical special announcements. The delays are from our own release calendar for the report, built from those announcements. ↩︎

  5. The CFTC’s historical special announcements, 24 October 2019, for the positions added to the reports published on 18 October 2019 in CBOT corn, soybeans, soybean oil, and soybean meal, and ICE canola. ↩︎

  6. About the COT reports, and CFTC release 5737-09, 19 October 2009, which describes the history as “backcasting” current classifications onto past positions. ↩︎

  7. CME Group, corn futures contract specifications, for the CBOT grain hours on CME Globex (Sunday to Friday 7:00 pm to 7:45 am, and Monday to Friday 8:30 am to 1:20 pm, Chicago time), and CME Group, E-mini S&P 500 futures settlement procedure, for the normal daily settlement window of 2:59:30 pm to 3:00 pm Chicago time. ↩︎