计算非商业净多头(Net Long)处于过去 3 年的分位数,识别极端拥挤信号。
CommitmentOfTraders(交易者持仓)
此类接口提供 CFTC 持仓报告信息,包括商业套保者、非商业投机者与小型交易者的多空头寸及其变化,可按品种和报告日期查询,也能取回历史分析结果。常用来观察原油、黄金、股指等品种的拥挤程度与情绪拐点;数据按周更新,适合中期观察而非日内择时。
典型使用场景
4 个场景观察生产商与贸易商的套保净头寸变化,辅助大宗商品中长期拐点判断。
横向汇总美元、黄金、美债、标普 500 期货的机构持仓周度增减。
将 COT 投机净持仓极值与价格突破信号结合,提高商品期货策略胜率。
接口怎么选?
3 项选型对照COT(Commitments of Traders)报告由 CFTC 每周五公布(反映截至当周周二的持仓),是宏观对冲、商品期货、外汇与股指期货观察“聪明钱(商业套保商 vs 投机基金)”头寸拥挤度的核心数据源。
本类别提供三个接口:先用 COT Report List(COT 报告清单) 查合约代码,再用 COT Report(COT 持仓报告) 取 128 个原始持仓字段,或直接用 COT Analysis By Dates(COT 报告分析) 获取计算好的多空净持仓与情绪判断。
| 你的需求 | 推荐接口 | 选择理由 |
|---|---|---|
| 查询支持 COT 报告的全部期货/商品/外汇合约代码 | COT Report ListCOT 报告清单 | 获取合法的合约 symbol 与名称映射 |
| 获取 CFTC COT 原始持仓报告全部细分字段 | COT ReportCOT 持仓报告 | 含非商业(投机)、商业(套保)、未报告等 128 个完整字段 |
| 直接获取多空持仓对比与市场趋势信号 | COT Analysis By DatesCOT 报告分析 | 已提炼多空比例与变化方向,省去手动聚合 |
数据覆盖与参数口径
- 覆盖品种:大宗商品(黄金/原油/农产品)、外汇期货、美股股指期货、国债期货
- 发布节奏:周频(通常反映每周二收盘持仓,周五美东下午披露)
- 核心分组:Non-Commercial(非商业/投机基金)、Commercial(商业套保)、Nonreportable(散户小单)
- 核心返回字段:symbol、date、name、openInterestAll、noncommPositionsLongAll、noncommPositionsShortAll、commPositionsLongAll
- 入库幂等主键:按 (symbol, date) 唯一去重;回测信号生效时点需由周二 date 顺延至周五收盘后
调用示例
Python 关键代码示例场景:拉取指定合约的 COT 持仓报告明细 · 对应接口:COT Report(COT 持仓报告)
resp = requests.get(
"https://quote-fmp.com/stable/commitment-of-traders-report",
params={"symbol": "GC", "from": "2024-01-01", "to": "2024-03-01", "apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 按 date 升序重排并数值化 openInterestAll(未平仓合约(全部))
df["openInterestAll"] = pd.to_numeric(df["openInterestAll"], errors="coerce")
df = df.sort_values("date").reset_index(drop=True)- 先通过 COT Report List(COT 报告清单) 确认目标品种在 COT 体系里的代码。
- 回测时注意周二持仓截面与周五公开披露日之间有 3 天滞后。
数据注意事项
4 条实盘要点- COT Report(COT 持仓报告) 返回的
date为周二持仓统计截止日,而 CFTC 实际在周五美东收盘后才公布;量化回测切勿在周二当天触发信号,以防引入未来函数。 - 跨品种横向比较持仓拥挤度时,应将 COT Report(COT 持仓报告) 中的非商业净持仓除以总未平仓量(
openInterestAll)做百分比标准化,或直接读取 COT Analysis By Dates(COT 报告分析)。 - 先通过 COT Report List(COT 报告清单) 获取各品种在 CFTC COT 体系下的专用
symbol(如黄金GC、原油CL),它与现货或普通行情代码未必完全一致。 - COT 数据为周频时间序列,拉取长周期历史时建议显式传入
from与to日期区间并按(symbol, date)幂等落库。
常见问题
4 个问题COT 报告里的 Non-Commercial 和 Commercial 代表什么?
Non-Commercial(非商业持仓)主要指对冲基金与大型投机机构,以博取价差为目的;Commercial(商业持仓)指矿商、农户、跨国企业等现货产业方,以套期保值锁定风险为主。
为什么用 COT 数据做回测不能直接用返回的 date 字段当信号触发日?
返回的 date 是持仓统计截止日(周二),而 CFTC 实际在当周周五收盘后才向市场公布。实盘回测应将信号生效日推迟到周五收盘或下周一开盘。
COT Report(COT 持仓报告) 和 COT Analysis By Dates(COT 报告分析) 怎么选?
需要构建自定义因子(如净持仓占总未平仓合约 Open Interest 比例)时用 COT Report(COT 持仓报告) 拿全量 128 个字段;只需快速查看多空强弱概要时用 COT Analysis By Dates(COT 报告分析)。
如何衡量某个期货品种当前的投机多空拥挤度?
可从 COT Report(COT 持仓报告)提取非商业多头(noncommPositionsLongAll)减去非商业空头(noncommPositionsShortAll)得到净投机头寸,再除以总未平仓量(openInterestAll),或直接调用 COT Analysis By Dates(按日期分析 COT 报告)查看过去 52 周/3 年的分位水平。
接口一览(3个)
1 个功能模块Commitment Of Traders
3 个接口该接口返回美国商品期货交易委员会(CFTC)每周发布的交易者持仓承诺(COT)原始报告明细。涵盖股指期货、国债、外汇、能源、贵金属及农产品等核心品种的未平仓合约总数,并详细拆解商业头寸(产业套保商)、非商业头寸(大型投机基金)与散户头寸的多空持仓张数及周度增减变化。
/stable/commitment-of-traders-report该接口提供按日期区间计算的交易者持仓承诺(COT)深度衍生分析指标。它在原始持仓报告基础上,直接提炼出当前市场多空情绪定性、净持仓(Net Position)规模与变动率,以及当前多空结构相对历史极值区间的所处位置与潜在趋势反转信号。
/stable/commitment-of-traders-analysis该接口返回平台支持查询 CFTC 交易者持仓承诺(COT)报告的全部期货与期权品种代码目录。完整列出能源、贵金属、工业金属、农产品、软商品、外汇、利率国债及股指等各大类期货合约的标准代码与品种短名称,是调用 COT 报告与分析接口的前置枚举字典。
/stable/commitment-of-traders-list