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:
- 26 weeks — six months. Reactive; this is the window many commercial COT tools use for their headline number.
- 52 weeks — one year, one full seasonal cycle.
- 156 weeks — three years. Slow and strict: readings above 90 or below 10 on this window are genuinely rare and are what our extremes screener lists.
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.