Skip to main content
Skip to main content

CFTC Commitment Of Traders — Weekly, 10y (2016–2026)

DatasetCSV.GZOpenFuturesCFTCCotPositioningSentimentCommoditiesFree

Ten years of weekly Commitment of Traders (COT) reports from the CFTC for 65 futures contracts (E-Mini S&P, Nasdaq 100, gold, oil, natural gas, grains, metals, currency futures, Treasury futures, VIX, and more). 31,976 weekly rows in a single gzipped CSV with ~128 columns covering: long/short positions for commercial hedgers, non-commercial speculators (managed money), other reportables, and non-reportables (small specs/retail), plus net positioning, open interest, and percentage breakdowns. Read with pandas.read_csv(path, compression='gzip', parse_dates=['date']). The classic positioning dataset for futures traders — useful for sentiment extremes, contrarian setups (commercial vs spec divergence), and macro-overlay strategies. Pair with the Macro Bundle's commodities OHLCV to combine price action with positioning shifts.

Use Cases

  • Spec vs commercial positioning extremes as contrarian signals
  • Net-position-change z-scores for macro overlay strategies
  • Sentiment factor construction across commodities, currencies, equities futures
  • Pair with Macro Bundle commodities OHLCV for price + positioning combined signals
  • Backtest 'smart money' (commercial) vs 'dumb money' (small spec) regime models

Methodology

64 contracts from FMP commitment-of-traders-list. For each, fetched full weekly history from commitment-of-traders-report covering 2016-01-01 through build date.

Update Schedule

Static snapshot. CFTC publishes weekly on Friday for the prior Tuesday's data — refresh weekly if needed.

Attribution

Source: CFTC Commitment of Traders Reports via Financial Modeling Prep.

Schema

nametype
symbolstring
datestring
cftcCommodityCodestring
cftcContractMarketCodestring
cftcMarketCodestring
cftcRegionCodestring
changeInCommLongAllstring
changeInCommShortAllstring
changeInNoncommLongAllstring
changeInNoncommShortAllstring
changeInNoncommSpeadAllstring
changeInNonreptLongAllstring
changeInNonreptShortAllstring
changeInOpenInterestAllstring

Sample Data

datesymbolcftcMarketCodecftcRegionCodecftcCommodityCodechangeInCommLongAllchangeInCommShortAllcftcContractMarketCodechangeInNoncommLongAllchangeInNonreptLongAllchangeInNoncommShortAllchangeInNoncommSpeadAll
2022-02-08 00:00:00NGNYME123-5924-834023651-18702062-6791-23147
2022-02-15 00:00:00NGNYME123176362884023651-6151-200710184-45311
2022-02-22 00:00:00NGNYME123-28451084023651723541966440426

Get this via API

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'CFTC Commitment of Traders — Weekly, 10y (2016–2026)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'CFTC Commitment of Traders — Weekly, 10y (2016–2026)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls
Free

one time · open license

Details

Date Range2016-01-012026-09-05
Rows31,976
Size5.4 MB
Files1
FormatCSV.GZ

Available formats

CSV.GZ5.4 MB
Freeopen