Adjusting COT analysis for twice-weekly data
A working checklist for COT index windows, net-change reads, seasonal comparisons and alerts once the CFTC publishes Monday and Wednesday snapshots.
The CFTC plans to publish the Commitments of Traders report twice a week from December 2026 (background and sources on the announcement page). Most COT tooling, spreadsheets included, was built on the assumption that one observation equals one week. This page lists what breaks under that assumption and the fix for each, using the schedule as reported: Monday-close data released Wednesday, Wednesday-close data released Friday.
1. Windows: count days, not rows
A COT index is the current net position placed inside its range over a lookback. If the lookback is "the last 156 rows", two reports a week turn a 3-year index into an 18-month one, and the index values shift on the day the cadence changes even though nothing in the market did. Define every window in days instead:
| Stated window | Old definition (rows) | Calendar definition | Rows after the change |
|---|---|---|---|
| 26 weeks | 26 | report date > latest minus 182 days | about 52 |
| 52 weeks | 52 | report date > latest minus 364 days | about 104 |
| 3 years | 156 | report date > latest minus 1,092 days | about 312, mixed with weekly rows at the far end |
With calendar windows the index is continuous across the transition: the window simply starts to contain more points. The mixed-frequency period lasts as long as the window (three years for the 3-year index) and is harmless for range-based metrics, because a range does not care how densely it was sampled. It matters more for percentiles and z-scores, where recent twice-weekly points get double the weight of old weekly ones; if that bothers you, resample to one point per week before computing.
2. Net change: name the interval
Today "change" means seven days. After the switch, Monday minus the prior Wednesday spans five days and includes a weekend; Wednesday minus Monday spans two sessions. Three ways to keep changes comparable:
- Same-weekday change. Compare each Monday report with the prior Monday and each Wednesday with the prior Wednesday. Every change is seven days again, and you get two independent weekly tracks.
- Per-session change. Divide the change by the number of trading sessions in the interval. Useful for ranking movers across markets on the same day.
- Label it. If you publish a change, print the interval next to it ("+37,481 since Mon Dec 7, 2 sessions"). FuturesBench market pages will do this.
3. Movers and extremes: expect more of them
Lists of the largest weekly moves and of new positioning records will be computed twice as often. The size of a typical two-session move is smaller than a typical weekly move, so thresholds tuned on weekly data ("a move of more than 10% of open interest is notable") will fire less often on the Wednesday report and about as often on the Friday one. Re-tune per interval, or rank on the same-weekday change.
4. Seasonal and year-ago comparisons
Comparing "this week" with "the same week last year" needs a rule for which of the two snapshots stands in for last year's Tuesday. Nearest-by-date works: the Monday report is one day earlier than the old Tuesday, the Wednesday report one day later. For charts that overlay several years, resampling every year to a weekly series on a fixed weekday is the cleanest.
5. The transition itself
The first twice-weekly report will follow the last Tuesday report by an odd number of days (six, if a Tuesday snapshot is followed by the next Monday's). Treat that single change as its own interval; do not let it flow into a weekly-change series or an average. If the CFTC publishes a transition note or a bridging release, the special announcements page is where it will appear.
6. Ingest and alerting
- Any job that runs "Friday at 3:30" needs a Wednesday twin, or better, a watcher that polls the CFTC files for a new report date on any day.
- Anything deduplicated per report date keeps working, since the two reports in a week carry different dates. Anything deduplicated per ISO week will drop the second report.
- Storage keyed by Tuesday dates (or that validates a date is a Tuesday) will reject Monday and Wednesday rows. Drop the weekday check.
- Email or feed recaps should go out after each release; subscribers who want one a week can pick the Friday report, which will carry the mid-week snapshot anyway.
7. What to leave alone
Net position (longs minus shorts), the trader categories, open interest and the report formats are unchanged. Percent-of-open-interest reads are unaffected by cadence. Long histories are not invalidated; they just become weekly rows followed by twice-weekly rows in the same series.
FuturesBench status (October 27, 2026): calendar-day windows are live, the ingest accepts Monday and Wednesday report dates and polls on both release days, and the change column is labelled "since prior report"; a same-weekday change follows with the first twice-weekly release. The API stays additive. See what the CFTC has announced, how the COT index is built and the methodology.