MethodologyUpdated October 2026

How COT Edge calculates every number

Everything on COT Edge comes from the CFTC's public Commitments of Traders reports. Nothing is estimated, smoothed or predicted. This page explains exactly how each figure is built, so you can check any of them yourself.

1. The data and when it updates

The CFTC publishes the Commitments of Traders report every Friday at 3:30 PM Eastern. It shows positions as of the Tuesday of the same week, so the data is always three days old when it comes out. Holidays can push the release back a day or two. COT Edge refreshes automatically after each release, and the dashboard shows both dates at the top: "positions as of" (Tuesday) and "published" (Friday).

The main dashboard uses the Legacy, futures-only report and its non-commercial category (large speculators such as hedge funds and CTAs). Every market is requested by its official CFTC contract market code, which stays the same when the CFTC renames a contract. You can check every figure against the CFTC's own pages, linked from the dashboard.

2. Net positioning

Net = non-commercial long contracts − non-commercial short contracts

Shown in thousands of contracts ("k"). The weekly change ("1W Δ") is this week's net minus last week's net, in contracts.

3. The percentile gauge (positioning index)

Index = (this week's net − lowest net in window) ÷ (highest − lowest) × 100

The gauge shows where this week's net position sits inside its own range for the selected window: 12 weeks, 1 year (52), 3 years (156) or 5 years (260 weekly reports). 0 means the lowest reading in the window, 100 the highest. Strictly speaking this is a range index (the classic "COT Index"), not a statistical rank percentile. We call it a percentile on the dashboard because that is the word most traders use. Above 70 is labelled historically high, below 30 historically low. The weekly emails use exactly the same 3-year calculation.

4. The pair COT Position Index

Pair index = 50 + (base index − quote index) × 0.5, limited to 1–99

For EUR/USD the base is EUR and the quote is USD. A reading above 65 is labelled Positioning High (base crowded long relative to the quote), below 35 Positioning Low, and 35 to 65 Balanced. For commodities and indices the quote is the US Dollar aggregate.

5. The US Dollar aggregate

USD net = −(EUR + GBP + JPY + AUD + CAD + CHF + NZD net)

The CFTC has no single "US Dollar" contract in this set, so the dollar is built from the seven major currency futures. Every one of those contracts is priced against the dollar, so speculators who are net short the seven currencies are, in effect, net long the dollar. The Mexican Peso is shown as its own market and is not part of the aggregate.

6. Weekly flow and open interest

Open interest is the total number of open contracts in a market. Comparing the change in net positioning with the change in open interest gives a common reading of what drove the week:

Net changeOpen interestTypical reading
UpUpLongs added: new long positions opening
UpDownShort covering: shorts closing rather than new buying
DownUpShorts added: new short positions opening
DownDownLong liquidation: longs closing rather than new selling

Open interest includes every trader, not only speculators, so this is a rule of thumb, not a precise decomposition.

7. Who's positioned: trader groups

The CFTC also publishes more detailed reports that split traders into finer groups. COT Edge reads them straight from the CFTC's public data service:

Each group's net position gets its own 3-year index, calculated as in section 3. When leveraged funds and asset managers sit 50 or more points apart, the dashboard notes that fast and slow money are far apart.

8. Historical extremes study

This card rebuilds the pair COT Position Index for every week since 2015 (each week uses its own trailing 3-year window, starting from CFTC data back to mid-2012). It then lists every episode: the first week the index moved above 65 or below 35 after at least 4 weeks outside that zone.

For each episode it shows how the price moved over the following 4, 8 and 12 weeks. The starting point is the weekly close of the week the report was published, because that is the first moment anyone could have seen the data. Prices are weekly closes from Yahoo Finance: spot rates for currencies and Bitcoin, front-month continuous futures for commodities and Treasuries, and cash index levels for the stock indices. The summary shows the median change and how many episodes ended higher.

Read this carefullyThese are small samples, usually 5 to 15 episodes per zone. Past behaviour does not predict future moves, and crowded positioning can stay crowded for a long time. The study shows what happened, not what will happen. It is not a trading signal.

9. Alerts

Pro members can set up to 10 alerts on the 3-year positioning index of any market, for example "EUR falls to or below 10". An alert email goes out on the Friday the market crosses your level, meaning this week meets the condition and last week did not. You won't get the same alert every week while a market stays there.

10. Markets covered

MarketCFTC contractCodeExchangeGroup report*
EUREuro FX099741CMETFF
GBPBritish Pound096742CMETFF
JPYJapanese Yen097741CMETFF
AUDAustralian Dollar232741CMETFF
CADCanadian Dollar090741CMETFF
CHFSwiss Franc092741CMETFF
NZDNZ Dollar112741CMETFF
MXNMexican Peso095741CMETFF
XAUGold088691COMEXDisaggregated
XAGSilver084691COMEXDisaggregated
XCUCopper #1085692COMEXDisaggregated
WTIWTI crude oil (physical)067651NYMEXDisaggregated
NGNatural gas (Henry Hub)023651NYMEXDisaggregated
SPXE-mini S&P 50013874ACMETFF
NDXNasdaq mini209742CMETFF
DJIDJIA x $5124603CBOTTFF
BTCBitcoin133741CMETFF
ZNUST 10Y Note043602CBOTTFF

*TFF = Traders in Financial Futures. These 18 futures markets, plus the US Dollar aggregate, make up the 21 pairs and markets on the dashboard (for example EUR/USD uses EUR and USD, and GBP/JPY uses GBP and JPY).

11. Limits

Questions about a number? Email support@cot-edge.com and we'll show you how it was calculated.

Open the analyzer →