美国商品期货交易委员会每周都会发布一个关于全球最大市场参与者在货币期货市场的位置的快照. 谁 在下一个大举之前,
对于外汇交易者来说,COT数据不是一个水晶球.它是一种定位地图.正确阅读的定位图,揭示了往往会导致急剧反转,持续趋势和共识成为自身风险的时刻.
你将学习的
- 什么是CFTC COT报告,它是如何结构化的,以及哪些数字是重要的
- 如何解释净非商业定位作为情绪指标
- 为什么极端定位信号可能在外汇对的转折点
- 如何通过FXMacroData API访问和分析COT数据
- 实际框架,将COT信号与宏观基本面结合起来
机械设备报告的解剖
对于外汇交易者来说,最相关的是"期货交易所"报告的三种版本. 传统的COT报告 (仅针对期货),将仓位分为三个组:
- 商业贸易商 公司,进口商,出口商和跨国公司,主要使用货币期货进行对冲.他们的立场反映了企业级的货币风险管理,而不是投机性的方向观点.商业公司通常具有相反的性质,随着价格上而增加短期风险 (对冲即将到来的应收款) 并且随着價格下跌而减少.
- 非商业交易者 (大型投机者) 对冲基金,资产管理者和CTA,他们以货币期货为投机利交易.这是外汇交易者最密切关注的群体.非商业者基于宏观观点,趋势信号和利率差异,以信念定位.当他们积极地长或短货币时,这是因为他们有一个论点,当这个论点变得拥挤时,逆转风险会增加.
- 没有报告的仓位 (小投机者) 零售交易者和小参与者,其仓位低于CFTC报告门.
关键概念:非商业净仓位
非商业净仓位 = 非商用长期合约 − 非商用的短期合同. 这一单一数字是大多数外汇交易员每周跟踪的. 欧元期货的净长期上升意味着大型投机者正在增加对欧元的看风险. 日元期貨的持续净短期意味着对冲基金社区对日元有结构性的下行观点.
为什么COT数据对外汇交易者很重要
货币市场是世界上最大和最流动的市场,但它们并不透明.你无法看到谁在1.1050购买欧元/美元或在亚洲过夜短卖日元期货.COT报告是少数几个提供你每周对总方向信念的来源之一,这使其对三种特定类型的分析具有独特的价值.
1. 识别拥挤的行业
当货币的非商业定位与其历史范围相比达到极端水平时,交易会拥挤.拥挤的交易并不是本质上错误的,它们通常是合理的宏观论点的结果.但它们带有不对称的风险:交易越拥挤,参与者需要同时退出时的动作就越暴力.
简单的例子是日元短期交易.在2022年和2023年大部分时间里,日元期货的非商业短期定位达到多十年的极限,反映了日本银行和其他主要央行之间的广泛和持久的利率差异.日元大大下滑.但日本银行每一次政策惊喜和几次引发日元的急剧,快速的短包收购暴动,迫使拥挤的短仓持有人陷入压缩.基本论点在大部分时间内都是正确的,但由于拥挤程度,该位置定期危险.
据外汇行业数据显示,在8个主要货币期货 AUD,CAD,CHF,EUR,GBP,JPY,NZD和USD上,交易的COT定位是直接的,可以跟踪哪些交易正在走向历史极端.
curl "https://fxmacrodata.com/api/v1/cot/jpy?api_key=YOUR_API_KEY&start=2022-01-01"
{
"data": [
{
"date": "2024-04-02",
"noncommercial_long": 28341,
"noncommercial_short": 198076,
"noncommercial_net": -169735,
"commercial_long": 213540,
"commercial_short": 47832,
"open_interest": 287450
}
]
}
根据任何历史标准,JPY的净非商业仓位为-169,735合同. 绘制这个系列的时间立即显示了当前位置与过去极限相比的位置,以及人群是否有进一步扩张的空间或接近结构性逆转风险区.
2. 追踪趋势确认和恶化
交易数据不是一个定时工具. 拥挤的交易在逆转之前可以持续几个月. 但它是一个很好的制度标识器. 当非商业定位持续朝着一个方向趋势时,它证实宏观货币在趋势后面保持一致. 当价格继续朝着同一个方向发展时,当这种趋势开始平原或逆转时,这往往是消退信念的早期警告.
价格与定位之间的差异是外汇市场中最可靠的基于COT的信号之一.如果欧元/美元升,但欧元期货的非商业净长期期货每周都在缩小,大投机者正在将风险暴露降低到强势,并且这种分布模式往往会在顶点之前出现.
信号框架:价格与定位差异
- 率差异: 价格下跌,但非商业净长期持平或增加 销售压力得到新的长期信念.支持长期趋势的延续.
- 低迷差异: 价格上,但非商业净长期收缩 投机者正在分发到强势.
- 趋势确认: 价格和净定位都朝着同一个方向发展 最小阻力路径是明确的.
3. 结宏观观点与市场定位
结合宏观基本面,COT数据变得最强大.利率差异可能强烈有利于一种货币,但如果该论点已经被定价为极端净长仓,增长的上可能会受到限制.相反,与宏观基础面进行货币交易,并拥挤大量的短仓,是一个值得仔细观察的设置:任何挑战熊本论点的基本惊喜都将迫使缩短覆盖规模.
想象一下,在瑞士人民银行政策决定时, 瑞方政策利率终点如果宏观数据显示,瑞方正汇率差异正在扩大,但非商业期货中瑞方的定位仍然非常短,当基本情况最终变得不可否认时,定位背景是迎合反弹的建设性.
阅读COT报告:要追踪的关键指标
原始合同数量是有信息性的,但以下衍生指标显著提高信号的精度.
净仓位占开放利息的百分比
净非商业仓位对总开放利息进行规范,可以给出一个标准化的方向偏差量.在一个有10万合约的货币中,净长50万合同意味着非常不同的东西,而一个有50万的合约则是非常不同的.通过开放利益来除净仓位,产生了在货币和时间之间直接可比的-1和+1之间的比率.
import requests
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
def cot_series(currency: str, start: str = "2020-01-01") -> list[dict]:
r = requests.get(
f"{BASE}/cot/{currency}",
params={"api_key": KEY, "start": start}
)
r.raise_for_status()
return r.json()["data"]
def net_oi_ratio(record: dict) -> float:
"""Net non-commercial position as fraction of open interest."""
if record.get("open_interest", 0) == 0:
return 0.0
return record["noncommercial_net"] / record["open_interest"]
eur_cot = cot_series("eur")
ratios = [(r["date"], net_oi_ratio(r)) for r in eur_cot]
print(ratios[-5:]) # most recent five weeks
网络定位的Z分数
时差指数 (z-score) 衡量当前定位与历史平均值有多少标准偏差.超过+2或低于-2的z-scor标志着统计上极端的情况.对于外汇,通常使用滚动52周窗口,以便基准反映当前市场结构而不是十年的定位制度.
import statistics
def rolling_zscore(series: list[dict], window: int = 52) -> list[dict]:
"""Compute z-score of net non-commercial positioning on a rolling window."""
results = []
values = [r["noncommercial_net"] for r in series]
for i, record in enumerate(series):
start_i = max(0, i - window + 1)
window_vals = values[start_i : i + 1]
if len(window_vals) < 4:
results.append({**record, "zscore": None})
continue
mu = statistics.mean(window_vals)
sig = statistics.stdev(window_vals)
z = (record["noncommercial_net"] - mu) / sig if sig > 0 else 0.0
results.append({**record, "zscore": round(z, 2)})
return results
gbp_cot = cot_series("gbp", start="2018-01-01")
gbp_scored = rolling_zscore(gbp_cot)
extremes = [r for r in gbp_scored if r["zscore"] is not None and abs(r["zscore"]) > 2.0]
print(f"Extreme positioning weeks in GBP: {len(extremes)}")
净位置的每周变化
定位变化的速度往往与绝对水平一样重要.货币从20,000净长期移动到80,000净长度在四周内表明了信念的加速.货物在同一时期从120,000到60,000反转表明了活跃的分布,即使净定位仍然是积极的.
通过FXMacroData访问COT数据
通过一个清洁的REST终点,FXMacroData提供了所有八个主要货币期货合约的每周CFTC COT数据.每个记录包括完整的细分:非商业长期,短期和净期,加上商业長期和短期,以及总开放利息.
支持货币: 澳元,加元,瑞郎,欧元,英,日元,新西兰元,美元现在我们要做什么?
# EUR net positioning since 2023
curl "https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY&start=2023-01-01"
# GBP full history
curl "https://fxmacrodata.com/api/v1/cot/gbp?api_key=YOUR_API_KEY"
# AUD recent 12 months
curl "https://fxmacrodata.com/api/v1/cot/aud?api_key=YOUR_API_KEY&start=2024-01-01"
答案以最新数据为首次进行日期排序,并使用所有货币的一致字段名称,因此单个分析脚本在所有八个对中工作,而无需修改.
其他非商业长期
投资基金和CTA持有的投机性利合约.
非商业短片
投机性下行合约. 逐周上升:下行增加. 极端水平:短缩风险.
非商业网络
长期减短条. 头条号码. 零以上:投机界是净. 追踪趋势和z分数.
开放式兴趣
已出售合同总数:开放利息的增加与净长期的上升证实了这一趋势的强参与.
实用多货币COT扫描
报价数据的最有用应用之一是每周跨货币扫描,根据其z分数定位排名所有主要货币. 这立即显示哪些货币是最长的,哪些是最短的,以及哪些坐落在中性附近,并为识别一边定位相对极端的对提供基础.
import requests, statistics
from datetime import datetime, timedelta
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
CURRENCIES = ["aud", "cad", "chf", "eur", "gbp", "jpy", "nzd"]
def cot_series(ccy: str) -> list[dict]:
r = requests.get(f"{BASE}/cot/{ccy}", params={"api_key": KEY, "start": "2019-01-01"})
r.raise_for_status()
return r.json()["data"]
def zscore_latest(records: list[dict], window: int = 52) -> dict:
vals = [r["noncommercial_net"] for r in records]
latest = vals[0]
sample = vals[:window]
mu = statistics.mean(sample)
sig = statistics.stdev(sample) if len(sample) > 1 else 1.0
z = (latest - mu) / sig if sig > 0 else 0.0
return {
"net" : latest,
"zscore" : round(z, 2),
"oi_ratio" : round(latest / records[0]["open_interest"], 3) if records[0].get("open_interest") else None,
"date" : records[0]["date"],
}
results = {}
for ccy in CURRENCIES:
data = cot_series(ccy)
results[ccy.upper()] = zscore_latest(data)
# Rank by z-score
ranked = sorted(results.items(), key=lambda x: x[1]["zscore"], reverse=True)
print(f"{'CCY':<6} {'Net':>12} {'Z-Score':>9} {'OI Ratio':>10} {'Date'}")
print("-" * 56)
for ccy, r in ranked:
flag = " ← EXTREME" if abs(r["zscore"]) > 2.0 else ""
print(f"{ccy:<6} {r['net']:>12,} {r['zscore']:>9.2f} {str(r['oi_ratio']):>10} {r['date']}{flag}")
输出结果提供如下图的快照 (说明值):
CCY Net Z-Score OI Ratio Date
--------------------------------------------------------
EUR +94,320 +2.31 +0.31 2024-04-02 ← EXTREME
GBP +38,150 +1.45 +0.22 2024-04-02
AUD -4,200 -0.18 -0.03 2024-04-02
NZD -8,900 -0.62 -0.15 2024-04-02
CAD -21,300 -1.08 -0.18 2024-04-02
CHF -44,100 -1.95 -0.38 2024-04-02
JPY -172,400 -2.64 -0.60 2024-04-02 ← EXTREME
当欧元处于2标准偏差极长,日元处在2标准差极短时,欧元/日元对在一边坚定地与群众定位.任何破坏欧元势或日元下跌势的宏观冲击都将导致快速,大规模的放松,在这些条件下,欧美日元/ 日元在单个会议中可以移动34%.
结合COT与宏观基础知识
考量数据回答了这个问题: 谁是处于位置,以及有多积极? 宏观基本数据回答了这个问题: 根据利率,通货膨胀和增长, 最强大的外汇框架使用两者.
一个简单的四方体模型清楚地构建了相互作用:
| 剧情 | 宏信号 | 机器人位置 | 影响 |
|---|---|---|---|
| 坚定的信念长期 | 势 (增长率,强数据) | 没有人满;z分数 < +1 | 趋势可能有扩张空间. |
| 晚期长期 | 势但正在放缓 | 拥挤;z分数 > +2 | 趋势完整但脆弱,减少位置大小,收紧停摆. |
| 逆转设置 | 转向下行 (意外下跌,数据疲软) | 极长;z分数> +2.5 | 强力卖出放大了动作,最好的不对称短入口. |
| 隐形积累 | 美国的经济状况 | 极短;z分数 < −2 | 任何积极的惊喜都会引发超大短压力反弹. |
为了使宏观列运行,从相关央行终点点抽取政策利率历史,并与COT数据一起. 央行政策利率 现在我 澳大利亚通货膨胀 投资者们是否与宏观情况一致或领先,
需要记住的局限性
基于COT的交易框架建立之前,需要明确承认五个限制.
- 发布时间延迟. 截至周二收盘,并于周五发布数据,截至公开时,交易已经发生了三到四天.在测量和发布之间可能发生重大位置变化.
- 期货 ≠现货外汇 机构外汇流主要发生在OTC现货和期货市场,它们比较大,完全不受监管.COT仅捕捉到交易所期货层,这是对总投机定位的重要但不完全的替代品.
- 拥挤的行业可以保持拥挤. 超过+2的z分数标志着统计极端,而不是即将发生的逆转.由于日本央行保持了其极度宽松的政策框架,日元的短交易持续了多个季度.极端定位缩小了风险回报;它不保证转折日期.
- 广告不是无可置信的反面. 对于对冲者来说,当他们有应收的需要保护时,他们会增加空头仓位,并非因为他们认为货币将下跌.使用商业定位作为相反的信号需要仔细了解驱动对冲活动的潜在业务流动.
- 开放式兴趣可能会扭曲合同数量. 随着净利率上升的开放利息大幅增加可能表明新资金进入,而随着网利率的上升,稳定或下降的开张利息可能只是反映了空头侧覆盖.
建立一个每周的COT仪表板
通过FXMacroData API,构建个人COT监控仪表板是一个周末项目.主要组件是:
- 获取所有七个G10货币期货的过去52周COT数据
- 在滚动的52周窗口上计算净定位z-scores
- 从最极长到最极短的货币排名
- 确定存在相反极端的货币对 (例如,欧元极长 + JPY极短 → 焦点在EUR/JPY)
- 政策利率差异从 相关的利率终点 确定定位是否与基本背景一致或偏离
- 标记任何一个位置偏差超过一个标准偏差的周 快速重新定位本身就是一个信号
据外汇行业数据 机器人机器人的仪表板页面 提供所有支持货币的视觉视图,每周更新CFTC发布后.用于定量或编程使用,API终点以直接输入Python,R或任何分析环境的形式返回底层数据.
快速参考:COT API终点
- 欧元:
https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY - 英:
https://fxmacrodata.com/api/v1/cot/gbp?api_key=YOUR_API_KEY - 没有任何问题.
https://fxmacrodata.com/api/v1/cot/jpy?api_key=YOUR_API_KEY - 澳元:
https://fxmacrodata.com/api/v1/cot/aud?api_key=YOUR_API_KEY - 没有.
https://fxmacrodata.com/api/v1/cot/cad?api_key=YOUR_API_KEY - 没有人知道.
https://fxmacrodata.com/api/v1/cot/chf?api_key=YOUR_API_KEY - 美国人民币:
https://fxmacrodata.com/api/v1/cot/nzd?api_key=YOUR_API_KEY
总结
报道给外汇交易者提供了几乎没有其他东西提供的窗口:每周审计的衡量世界最大的投机账户如何在货币期货中定位.单独使用,这些信息是有暗示性的,但不完整的.结合宏观基本面央行政策利率,通胀读数和通过FXMacroData API出现的经济惊喜,它成为一个真正的分析优势.
最危险的外汇交易不是基本情况错误的交易.它们是基本情况正确的交易,但交易如此拥挤,以至于单个数据惊喜引发了一系列强迫退出.COT数据是这些条件的早期预警系统.
追踪位置与宏观日历相对应,知道群众何时紧张,