「美国 CPI 超预期了吗?EUR/USD 在公布之后怎么走?」这句话看起来像是在查一条新闻,实际要对齐三份数据:官方公布值、发布前的市场预期,以及以发布时间为起点的汇率行情。核心 CPI 和整体 CPI 可以给出不同的答案,发布后 5 分钟和 1 小时的走势也可能相反。
我做了 FX Context MCP,把这些查询做成 AI 客户端可以调用的工具。MCP(Model Context Protocol)负责把工具接到客户端,服务端负责查找事件、校验预期快照、计算价格变化,再把来源和数据覆盖情况一并返回。
架构设计
这张图展示工具接口和数据之间的关系。
AI 客户端通过 Streamable HTTP 连接 /mcp,按用户的问题选择工具。以 CPI 为例,get_event_context 返回各项指标的公布值、预期和预期差,get_market_reaction 返回指定货币对在各个窗口的收益率和区间高低点。客户端可以单独查其中一项,也可以把两份结果组合成一段回答。
同一场发布有一个事件 ID。 数据所属月份用来定位发布,实际发布时间用来对齐预期截点和行情窗口。以本文查询为例,事件工具返回的 eventId 与行情工具返回的 targetId 一致,客户端可以据此确认两份结果指向同一次发布。分开保存所属月份与发布时间,也让「8 月 CPI 在 9 月发布」这类情况在接口里表达得很清楚。
每个行情窗口有自己的覆盖状态。 工具固定提供 5 分钟、15 分钟、1 小时、4 小时和 24 小时的窗口定义,并返回已经计算的窗口和不可用窗口的原因。客户端可以展示已取得的价格变化,同时解释休市或数据缺失的窗口。
从一次 CPI 发布说起
以 2026 年 8 月美国 CPI 为例。这期数据在 9 月 11 日 12:30 UTC 发布,所以调用 get_event_context 时,referencePeriod 要传数据所属月份 2026-08。
工具返回的整体 CPI 环比公布值为 0.4%,发布前预期为 0.3%,预期差为 +0.1 个百分点。同一次发布里,核心 CPI 环比公布值和预期都是 0.3%。一句「CPI 超预期」会漏掉这个区别。公布值可查阅美国劳工统计局的当期公告。
接着查同一期的 EUR/USD:
{
"targetType": "US_CPI",
"dateOrPeriod": "2026-08",
"instrument": "EURUSD"
}
get_market_reaction 使用 OANDA 行情计算各窗口相对起点的涨跌幅。工具在这次查询中返回的数据如下,涨跌幅四舍五入到小数点后三位。
| 发布后窗口 | EUR/USD 涨跌幅 |
|---|---|
| 5 分钟 | −0.129% |
| 15 分钟 | −0.018% |
| 1 小时 | +0.067% |
| 4 小时 | +0.074% |
| 24 小时 | 不可用,窗口终点处于休市时段 |
只看前 5 分钟会读到下跌,拉长到 1 小时就会看到价格已经回到起点上方。这些窗口描述的是发布后的价格变化,单靠时间上的先后还无法判断各项数据对行情的贡献。
为什么把时间和缺失状态写进工具接口
市场预期必须有一份时间戳早于发布截点的快照。工具通过 capturedAt 和 releaseCutoffAt 暴露这条校验规则,实际值与市场预期也各自保留来源。CPI 示例中,整体环比还有从指数推导出的 0.3960%,这次预期差采用官方公布口径 0.4% 计算,返回的 surprise.basis 会注明采用的口径。
真正的预期差为零,和缺少一份可核验的预期,是两种状态。比如目前 ISM 制造业和服务业 PMI 可以查到官方公布值,consensusStatus 返回 NOT_CAPTURED,预期差字段留空。历史类比也依赖已验证的预期。目标期缺少这项数据时,工具会报出原因,并提供可重新查询的参考期信息。
六个工具分别回答什么
| 问题 | 工具 |
|---|---|
| CPI、非农、PCE 或 ISM PMI 公布了什么? | get_event_context |
| 美联储、欧洲央行、英国央行或日本央行的声明较上次改了什么? | get_central_bank_changes |
| 公布之后,EUR/USD、GBP/USD 或 USD/JPY 在各时间窗口怎么走? | get_market_reaction |
| 哪几次历史发布的预期差与这次接近? | get_historical_analogs |
| 这些相似事件的价格反应整体如何? | get_historical_reaction_context |
| 接下来有哪些已排期的宏观事件? | get_upcoming_risks |
历史类比目前可用于美国 CPI 和非农。CPI 按整体和核心指标的预期差衡量相似性,非农会对不同指标的差异做稳健尺度归一化。逐条查询可以核对样本与目标事件哪里相似,汇总查询可以查看每个窗口的样本量、方向分布和中位数。
接入试试
在支持远程 MCP 的客户端中添加一个 Streamable HTTP 服务,填入以下地址:
https://fx.coco-pier.com/mcp
连接后可以直接问:
查 2026 年 8 月美国 CPI 的整体和核心环比,列出公布值、发布前预期和预期差。再查 EUR/USD 在发布后 5 分钟、1 小时和 24 小时的涨跌幅,并说明缺失窗口的原因。