The COT index, explained

The formula, the lookback question, and a bias correction most sites skip.

The COT index normalizes a trader category's net position against its own recent history, so "large" and "small" mean something across markets of very different sizes. It answers: where does this week's net position sit inside its historical range?

The formula

For a lookback window of N weekly reports, ending with the current week:

COT index = 100 × (net − min) / (max − min)

where net is the current net position (long − short) and min/max are the lowest and highest net values inside the window. The result is 0–100: 0 means the most net-short reading of the window, 100 the most net-long. When every value in the window is identical (max = min) we report 50, and when a market has published fewer than 60% of the window's weeks we report nothing at all — a confident number computed from missing data would be worse than a blank.

Which lookback?

There is no single standard. FuturesBench publishes three, side by side:

An index value only means something alongside its window, which is why every table on this site labels all three rather than publishing one unlabeled number.

The open-interest bias — and the corrected variant

The classic COT index has a structural problem over long windows: it is computed on raw contract counts. Many futures markets have grown for decades, so the recent years dominate the min/max range simply because positions (long and short alike) are bigger — not because positioning is more extreme. A 3-year index on a growing market drifts upward even when positioning, proportionally, is unchanged.

FuturesBench therefore also computes the same formula on net position as a percent of open interest instead of raw contracts. Dividing by open interest removes the growth term and leaves pure positioning intensity. We publish both — raw, because it is what everyone else quotes and you need it for comparison; %-of-OI, because it is the better-behaved number. Where the two disagree sharply, the disagreement itself is the interesting fact: it means the "extreme" in the raw index is mostly market growth.

Worked example

Suppose gold's commercial net position this week is −214,788 contracts, and over the trailing 26 reports the commercial net ranged from −385,612 (min) to −150,000 (max). Then:

100 × (−214,788 − (−385,612)) / (−150,000 − (−385,612)) = 72.5

Commercials are in the 73rd percentile of their 6-month range — nearer their least net-short reading than their most. Every market page shows this computation's inputs (current net, and the window's range is recoverable from the chart and the full history download), so any value we publish can be checked by hand.

Related: What is the COT report? · Full methodology — including percentiles, z-scores, and how records are dated.