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

6

Total users

0

Monthly active users

14 hours ago

Last modified

Categories

Share

πŸ“ˆ CFTC COT Enhanced β€” Position Velocity & Percentile Tracker

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.


πŸ“Š Sample Output

6 real rows delivered by CFTC COT Enhanced β€” Position Velocity & Percentile Tracker β€” run Ook9KtQoy0vZDfD8h on build 0.0.8

commodity_namecontract_market_namecontract_codemarket_and_exchange_namesreport_datereport_week
CRUDE OILCRUDE OIL, LIGHT SWEET-WTI067411CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE2025-09-232025 Report Week 38
CRUDE OILCRUDE OIL, LIGHT SWEET-WTI067411CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE2025-09-302025 Report Week 39
CRUDE OILCRUDE OIL, LIGHT SWEET-WTI067411CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE2025-10-072025 Report Week 40
CRUDE OILCRUDE OIL, LIGHT SWEET-WTI067411CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE2025-10-142025 Report Week 41
CRUDE OILCRUDE OIL, LIGHT SWEET-WTI067411CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE2025-10-212025 Report Week 42
CRUDE OILCRUDE OIL, LIGHT SWEET-WTI067411CRUDE OIL, LIGHT SWEET-WTI - ICE FUTURES EUROPE2025-10-282025 Report Week 43

Real rows from run Ook9KtQoy0vZDfD8h on build 0.0.8 (2026-09-25), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.

πŸ”§ Input reference

FieldTypeDefaultWhat it does
commoditystring"WTI CRUDE OIL"Which CFTC futures market to pull positioning history for. Matching is case-insensitive and runs in this order: (1) exact match on contract_market_name (e.g. `CRUDE OIL, LIGHT S…
report_typestring (legacy, disaggregated, financial)"disaggregated"Which CFTC COT report family to query. legacy = the classic Commercial / Non-Commercial / Non-Reportable breakdown (every futures contract, all commodity groups). `disaggregated…
weeks_backinteger52Number of weekly COT reports (most recent first) to emit per (contract Γ— category). Minimum 1, maximum 260 (= 5 years of weekly history). Default = 52 (one year). The actor ALWAYS…
categorystring (managed_money, swap_dealers, commercials, non_reportable, all)"all"Which trader bucket to emit positions for. all = emit one row per category that the chosen report_type exposes (5 categories for disaggregated/financial, 3 for legacy). `managed…
max_recordsinteger100Hard ceiling on dataset rows emitted across all (contract Γ— category Γ— week) combinations. Default = 100 (good for one commodity Γ— one category Γ— 52 weeks, or one commodity Γ— 5 ca…

🧾 JSON sample record

One real record from run Ook9KtQoy0vZDfD8h (emails/phones masked, long text shortened):

{
"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": "2025-09-23",
"report_week": "2025 Report Week 38",
"report_type": "disaggregated",
"category": "managed_money",
"long_positions": 2741,
"short_positions": 36935,
"spread_positions": 40492,
"net_position": -34194,
"open_interest_all": 807783,
"percentile_3yr": 45.51,
"velocity_week_over_week_pct": 4.72,
"source_url": "https://publicreporting.cftc.gov/resource/disaggregated",
"data_source": "live"
}

πŸ’° Pricing

EventPrice (USD)When it is charged
Actor Start (apify-actor-start)$0.005Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).
COT record (cot-record)$0.15Per week-commodity-category record with percentile + velocity overlay

Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 Γ— $0.15 = $15.00 plus the start fee.

More from the NexGenData US government, courts & regulators family:

48 more in this family on the NexGenData Store page.

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

Part of the NexGenData Financial Markets suite β€” pair this Actor with: