Skip to content

COTQuery Builder

Victor Kaiuki edited this page Jun 16, 2026 · 1 revision

COTQuery Builder

The COTQuery class provides a fluent interface for building SODA2 queries.

from cftc_cot import COTClient
client = COTClient()

df = (
    client.legacy()
    .market("Gold")
    .last_n_weeks(12)
    .select("report_date_as_yyyy_mm_dd", "noncomm_positions_long_all")
    .order_by_date(desc=True)
    .execute()
)

Methods

  • .where(condition)
  • .select(*columns)
  • .order_by(column, desc=False)
  • .limit(n)
  • .offset(n)
  • .order_by_date(desc=True)

Filtering

  • .date_range(start, end) (YYYY-MM-DD)
  • .date_after(date)
  • .date_before(date)
  • .last_n_weeks(n=52)
  • .market(name, exact=False) (Case-insensitive)
  • .markets_in(*names)

Dataset-Specific Helpers

  • Legacy: .noncomm_long_gt(), .noncomm_short_gt(), .comm_long_gt(), .comm_short_gt()
  • Disaggregated: .swap_dealers_long_gt(), .managed_money_long_gt(), .producer_merchant_short_gt()
  • TFF: .dealer_long_gt(), .asset_manager_long_gt(), .leveraged_funds_long_gt()
  • Universal: .long_positions_gt(), .short_positions_gt()

Execution

  • .execute(): returns pd.DataFrame
  • .count(): returns int
  • .fetch_all_pages(): returns full pd.DataFrame
  • .to_soda2(): returns query string

Clone this wiki locally