๐Ÿ“ˆ CFTC COT Enhanced โ€” Position Velocity & Percentile Tracker avatar

๐Ÿ“ˆ CFTC COT Enhanced โ€” Position Velocity & Percentile Tracker

Pricing

from $150.00 / 1,000 cot records

Go to Apify Store
๐Ÿ“ˆ CFTC COT Enhanced โ€” Position Velocity & Percentile Tracker

๐Ÿ“ˆ CFTC COT Enhanced โ€” Position Velocity & Percentile Tracker

Weekly CFTC Commitment of Traders with the percentile + velocity overlay every commodity desk builds in Excel: net position, 3-yr percentile, week-over-week velocity for managed money, swap dealers, commercials, non-reportables. Legacy, disaggregated, TFF families. From publicreporting.cftc.gov.

Pricing

from $150.00 / 1,000 cot records

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

The percentile-and-velocity overlay every commodity desk builds in Excel โ€” sold as a clean weekly API feed. Pulls the CFTC Commitment of Traders (COT) report straight from publicreporting.cftc.gov, then computes net position, 3-year percentile rank, and week-over-week position velocity for every category your desk cares about: managed money, swap dealers, commercials, and non-reportables.

Raw COT JSON is free. The work that turns it into a tradable signal โ€” net-position normalization across long/short/spread fields, 3-year rolling percentile rank vs the trailing 156 weeks, week-over-week velocity calc, and consistent schema across the legacy / disaggregated / financial (TFF) report families โ€” is the value this actor packages. One run, one dataset, one consistent shape.


What you get

  • One row per (contract ร— category ร— week) with commodity_name, contract_market_name, contract_code, report_date, category, long_positions, short_positions, spread_positions, net_position, open_interest_all, percentile_3yr, velocity_week_over_week_pct.
  • All three CFTC report families. legacy (Commercial / Non-Commercial / Non-Reportable for every futures contract), disaggregated (Managed Money / Swap Dealers / Producer-Merchant / Other Reportables for energy, metals, ag), and financial / TFF (Asset Manager / Leveraged Funds / Dealer / Other for rates, FX, equity indices).
  • 3-year percentile rank. For each emitted week, the actor computes the percentile of the current net position vs the trailing 156 weeks for the same contract + category. managed_money long-position percentile of 87 on WTI = positioning is heavier than 87% of the trailing 3-year history.
  • Week-over-week velocity. Signed percentage change in net position vs the prior week, with absolute-value denominator so the metric stays comparable across long-heavy and short-heavy regimes.
  • Flexible commodity matching. Pass an exact contract_market_name (e.g. CRUDE OIL, LIGHT SWEET-WTI) for a tight single-contract pull, or a fuzzier commodity term like GOLD, NATURAL GAS, CORN, SOYBEANS for a multi-contract sweep.
  • No anti-bot risk. The CFTC Socrata API is an explicit public-data endpoint with no auth, no rate-limit auth, and stable JSON. User-Agent: NexGenData CFTC COT Actor hello@thenextgennexus.com per the CFTC fair-access convention.

Use cases

  • Commodity trader / energy desk. Daily check for "are managed money WTI longs at a >90th percentile vs trailing 3 years?" โ€” historically the cleanest mean-reversion signal in crude oil. Pair the velocity column with the percentile to catch the moment the smart money starts unwinding extreme positioning.
  • Macro hedge fund analyst. Cross-commodity positioning regime tracker โ€” pull report_type=financial for rates and FX TFF, disaggregated for energy and ag, and pipe them into your factor model. The percentile + velocity overlay replaces the manual Excel pivot every analyst rebuilds quarterly.
  • Ag merchant / corn-soy hedger. Weekly snapshot of where commercial hedgers and managed money sit on CBOT corn, wheat, soybeans + the basis for futures-vs-cash decisions. The 3-year percentile is the canonical anchor used by every grain elevator risk desk.

Sample input

{
"commodity": "WTI CRUDE OIL",
"report_type": "disaggregated",
"weeks_back": 52,
"category": "all",
"max_records": 100
}

Tight single-category single-commodity run:

{
"commodity": "CRUDE OIL, LIGHT SWEET-WTI",
"report_type": "disaggregated",
"weeks_back": 4,
"category": "managed_money",
"max_records": 4
}

Financial (TFF) report for the S&P 500 E-Mini:

{
"commodity": "E-MINI S&P 500",
"report_type": "financial",
"weeks_back": 26,
"category": "managed_money",
"max_records": 50
}

Sample output

{
"commodity_name": "CRUDE OIL",
"contract_market_name": "CRUDE OIL, LIGHT SWEET-WTI",
"contract_code": "067411",
"market_and_exchange_names": "CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE",
"report_date": "2026-05-26",
"report_week": "2026 Report Week 22",
"report_type": "disaggregated",
"category": "managed_money",
"long_positions": 158420,
"short_positions": 41880,
"spread_positions": 52310,
"net_position": 116540,
"open_interest_all": 1782430,
"percentile_3yr": 87.18,
"velocity_week_over_week_pct": 4.21,
"source_url": "https://publicreporting.cftc.gov/resource/disaggregated",
"data_source": "live"
}

Each emitted record is one dataset row. The percentile is in 0โ€“100 and is null when there are fewer than 4 trailing reference weeks for that contract ร— category (typical only for very recently listed contracts). The velocity is null when the prior week's net position is unavailable or zero.


How the data flows

StageWhat happens
1. FetchOne Socrata GET /resource/{dataset_id}.json?$where=โ€ฆ&$order=report_date DESC&$limit={weeks_back + 156} against the chosen report family (6dca-aqww legacy, 72hh-3qpy disaggregated, gpe5-46if financial / TFF).
2. GroupRows are bucketed by contract_market_name so multi-contract commodity queries (e.g. CRUDE OIL matches WTI + Brent + heating-oil cross-spreads) get independent percentile / velocity lineages per contract.
3. NormalizePer category, long / short / spread fields are pulled from the correct columns for that report family (e.g. m_money_positions_long_all for disaggregated managed money, lev_money_positions_long for financial TFF leveraged money).
4. Computenet_position = long - short. percentile_3yr = classical rank of current net vs the trailing 156 weeks. velocity_week_over_week_pct = signed % change in net with absolute-value denominator.
5. EmitMost-recent weeks_back rows per (contract ร— category), capped at max_records. Each emitted record is also charged via cot-record PPE so cost scales linearly with dataset rows.

NexGenData publishes a deep finance + regulatory cluster โ€” pair this COT tracker with any of these for end-to-end positioning + filings + enforcement intelligence:

ActorWhat it does
SEC EDGAR SearchFull-text EDGAR filing search across every form type โ€” pair with COT positioning to cross-check insider activity vs futures-desk positioning.
SEC Form 4 Insider TradingDaily insider buy/sell filings โ€” the equity-market counterpart to COT futures positioning.
SEC Form 13F Holdings TrackerQuarterly institutional 13F holdings โ€” pair with COT financial (TFF) for a complete view of managed-money positioning across equities and rates.
SEC Form 8-K Material EventsMaterial-event filings โ€” overlay on commodity-name-mentioning issuers to catch supply / earnings shocks before they move COT positioning.
SEC Form D ScraperReg D private offerings โ€” useful for tracking commodity-fund and CTA capital formation that feeds managed-money positioning.
SEC Litigation ReleasesDaily SEC enforcement press releases โ€” the regulatory companion to commodity-market positioning intelligence.
SEC Schedule 13D/G Activist TrackerActivist-investor 13D/G filings for cross-referencing with COT positioning in commodity-linked equities.

About NexGenData

NexGenData publishes a deep catalogue of Apify actors covering financial regulators, IP offices, government registries, sanctions lists, and corporate filings across the US, EU, UK, APAC, and beyond. Engineered for daily compliance pipelines, M&A diligence, and quant research. Every actor links back to an authoritative public source.

Contact: hello@thenextgennexus.com