hindcast

Use cases & endpoints

CFTC COT report API — weekly positioning data

The COT report answers a question no other public source does: how is open interest distributed across kinds of participants. Commercial hedgers, managed money and other reportables behave differently, and the composition of a market's open interest is often more informative than its level.

Using it well requires respecting two details that are easy to skip. The report describes positions as of Tuesday but is released the following Friday afternoon, and the legacy and disaggregated formats define categories differently, with the newer format available only from its introduction onward.

Hindcast exposes COT with both formats normalized into one schema, category definitions labeled rather than merged where they genuinely differ, and the release timestamp on every record so an as-of query cannot see a report before it was published. Contracts resolve through the shared identifier graph, so positioning sits beside prices and fundamentals in the same question.

hindcast — session

preview

hindcast> positioning by category for a contract, as of a past date

→ tool: cot_positioning { contract:"...", as_of:"..." }

the most recent report published by that date

source: CFTC Commitments of Traders, release timestamp retained

Preview of the shape of an answer — endpoints open to the waitlist first.

What's covered

Join the waitlist — this page's dataset is already selected.

Need this one?votes for Positioning & Flows
Optional — helps us build in the right order. All skippable.

Role

Company

Datasets you need

Questions

Why is the Tuesday-to-Friday gap such a problem?

Because three days is enough for the market to move substantially. A study that timestamps positions to Tuesday is implicitly assuming its strategy could act on data that had not yet been published, which inflates results in a way that disappears in live trading.

Which categories are comparable across formats?

Some map cleanly and some do not, and the schema says which is which. Where the definitions diverge the series stay separate rather than being stitched into a continuous line that never existed.

Join the waitlist. Vote the roadmap. First in, first served.

← Back to the data catalog