Commitment of Traders
Obtains the CFTC Commitment of Traders (COT) report for the tickers the Toolkit was initialized with. Published weekly by the U.S. Commodity Futures Trading Commission, it breaks down open interest in futures markets by trader type – Non-Commercial (large speculators), Commercial (hedgers) and Non-Reportable (small traders) – and is widely used to gauge positioning and sentiment in commodity, currency, interest rate and stock index futures markets.
Note that this data is only available for CFTC-tracked futures markets. Tickers without a corresponding futures contract (e.g. most individual equities) return no data.
Positioning is usually read from the net position of the non-commercial traders (long minus short), often as a share of open interest and against its own history: an extreme reading means a crowded trade. Commercial traders are mostly hedgers whose positions mirror their physical business, so a large commercial net short in a commodity is normal rather than a bearish view. The report shows the positions of Tuesday and is published on Friday.
Also known as: COT report, CFTC positioning data, speculator/hedger positioning.
Commitment of Traders in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_commitment_of_traders as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["GC"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2025-01-01",
end_date="2025-12-31",
)
toolkit.get_commitment_of_traders()[["Non-Commercial Long", "Non-Commercial Short"]].tail()
Or, after setting up the Finance Toolkit MCP, ask:
How many long and short gold futures positions did non-commercial traders hold in the last five weekly reports of 2025?
Which returns:
| date | Non-Commercial Long | Non-Commercial Short |
|---|---|---|
| 2025-12-02 00:00:00 | 261331 | 43771 |
| 2025-12-09 00:00:00 | 268485 | 44599 |
| 2025-12-16 00:00:00 | 280920 | 46942 |
| 2025-12-23 00:00:00 | 290161 | 49461 |
| 2025-12-30 00:00:00 | 275592 | 44419 |
Parameters
get_commitment_of_traders accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
overwrite | bool | Defines whether to overwrite the existing data. Defaults to False. | True |