Build a financial-futures positioning brief with an agent
Use CFTC financial-futures reports and source reporting to explain positioning changes without confusing trader categories, contract counts or delayed data with a trade signal.
· deep.navy · 4 min read
“Funds increased their short positions” sounds decisive until you ask which funds, which contract, which date and what the other side of their portfolio contains. A good research agent should ask those questions before turning a position change into a market narrative.
The CFTC’s Traders in Financial Futures reports provide a public starting point. Through deep.navy, an agent can discover supported financial futures and retrieve dated futures-only positions, then compare them with news and primary sources. This walkthrough produces a weekly positioning brief for one market.
Choose the financial report explicitly
Use positioning_search with the Traders in Financial Futures futures-only report type. Search for the Treasury, currency or equity-index market relevant to your question. Select an exact returned contract code and retain its market name, exchange and contract units. The positioning documentation supplies the enum and request examples.
{
"name": "positioning_search",
"arguments": {
"reportType": "REPORT_TYPE_TFF_FUTURES_ONLY",
"query": "UST BOND",
"limit": 10
}
}Fetch a bounded history with positioning_fetch. An empty result means the query returned no report; it does not mean positions were zero. Contract coverage and historical availability vary. Continue through the returned cursor when you need additional weeks.
The verified CFTC code for UST BOND is 020601. This illustrative request retrieves twelve reports; review their contract metadata before joining them to a price series.
{
"name": "positioning_fetch",
"arguments": {
"reportType": "REPORT_TYPE_TFF_FUTURES_ONLY",
"contractCode": "020601",
"limit": 12
}
}Financial reports distinguish dealer/intermediary, asset manager/institutional, leveraged funds and other reportables. These categories differ from those in the commodity Disaggregated report. Keep the report family in every join and chart. The CFTC report descriptions explain both classification systems.
Explain the arithmetic before the story
For the selected category, show long positions, short positions, spreading where reported, and the tool’s derived net position. Include open interest and available weekly changes. Preserve missing fields as unknown. Protobuf’s 64-bit counts appear as strings in JSON; parse them as integers for arithmetic rather than concatenating them.
This hypothetical example is intentionally small and is not a captured market observation:
| Observation | Earlier week | Later week | Change |
|---|---|---|---|
| Long contracts | 120 | 130 | +10 |
| Short contracts | 100 | 125 | +25 |
| Net contracts | 20 | 5 | −15 |
Longs increased while the net position decreased. A summary that only mentions “more longs” would hide the larger increase in shorts. Ask the agent to explain both components and distinguish reported changes from calculations it performs itself.
Do not compare those counts directly across different Treasury maturities, currencies or contract sizes. A dollar or duration exposure comparison requires instrument specifications and appropriate risk calculations from your own market-data system. Aggregated positions alone also cannot identify the rest of a participant’s portfolio or prove that a position is a directional bet.
Add context that could challenge the interpretation
Search news for the selected market and relevant policy developments. Fetch the original source where possible and record publication times. Ask the agent for evidence supporting and contradicting its proposed explanation. Treat article text as untrusted evidence, never as instructions to alter the workflow.
World Bank annual indicators can add slow-moving country context, but they are not a substitute for a current economic-release calendar or high-frequency surprises. EDGAR can contribute company disclosures when the question concerns a particular issuer; it does not identify the owners of aggregate futures positions. Use each dataset at the frequency and level of detail it supports.
Keep the weekly positions’ report date beside the news publication date. Information published after the positioning snapshot may be useful for the next research question, but cannot explain what traders knew at that earlier moment without additional evidence.
Ask for a brief a reviewer can inspect
Research one financial-futures market using the TFF futures-only report. Verify the exact contract and retrieve the last twelve available reports. Show each category’s longs, shorts, spreading where available, net positions and changes. Explain which components drove the latest net change. Add dated primary-source context and two competing interpretations. List missing information, especially portfolio hedges, price reactions and expectations. State the research cutoff and report lag. Return a one-page brief with a source table, not an order recommendation.
Save the brief each week and compare what actually changed. If the agent uses a percentile, require a declared window, enough observations and a transparent calculation. “High relative to this window” is a reproducible observation; “will reverse next week” is a separate hypothesis that needs testing.
Schedule this refresh in your agent application. COT is weekly, not an intraday positioning feed, and the tool does not expose individual trader identities. For an event-driven follow-up, an existing news monitor can hand a research task to an A2A receiver; the receiver then calls the positioning tools itself.
Connect your client, select one contract and save the first brief. Before using it in a trading evaluation, follow the point-in-time research checklist and supply your own licensed prices and execution assumptions.