查找下一次 CPI 发布日期

下一次美国消费者价格数据将于2026年11月10日星期二 13:30 UTC 发布,数据所属期为2026年10月。经济日历列出计划发布的数据及其确切 UTC 时间,请从中筛选消费者价格主题。

使用 API 完成操作

使用 GET /v1/economics/calendar 请求指定国家和日期范围的发布时间表。请求不支持主题筛选,因此 Python 代码会从日历响应中选取消费者价格数据发布。省略国家参数时,筛选出的消费者价格数据发布可能来自多个国家,因此需要美国时间表时,请保留 countries=USA。

  1. 获取密钥 获取免费 API 密钥,并将其保存在名为 NARWHAL_API_KEY 的环境变量中。请求发送至 https://api.narwhalapi.com,密钥放在 Authorization: Bearer YOUR_KEY 请求头中;脚本从环境中读取该密钥。
  2. 选择国家和日期范围 查询美国日历时,将 countries 设为 USA,并用 start_date 和 end_date 定义请求范围;脚本使用运行当天的日期和 120 天后的结束日期。查询多个国家时,可重复传入参数,如 countries=USA&countries=GBR,也可省略 countries 以返回所有国家的数据发布。
  3. 筛选计划中的消费者价格数据发布 请求日历后,保留 topic 为 consumer_prices、status 为 scheduled 且有 at 值的数据发布。脚本从匹配项中选择 at 最早的一项,并输出其数据所属时期、UTC 发布时间和发布机构的时区。
    Python,下一次美国消费者价格数据发布
    import os
    from datetime import date, timedelta
    import requests
    
    r = requests.get(
        "https://api.narwhalapi.com/v1/economics/calendar",
        params={
            "countries": "USA",
            "start_date": date.today().isoformat(),
            "end_date": (date.today() + timedelta(days=120)).isoformat(),
            "limit": 100,
        },
        headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"},
        timeout=10,
    )
    r.raise_for_status()
    cpi = [
        x
        for x in r.json()["releases"]
        if x.get("topic") == "consumer_prices" and x["status"] == "scheduled" and "at" in x
    ]
    nxt = min(cpi, key=lambda x: x["at"])
    print(nxt["period"], nxt["at"], nxt["timezone"])
  4. 读取数据发布字段 每次数据发布都有 release_id、country、name 和 topic,其中 period 标识数据所属月份,status 描述计划发布的状态。对于美国消费者价格,series_id 为 usa-consumer-prices;若存在,at 提供 UTC 时刻,timezone 提供发布机构的 IANA 时区 America/New_York。
  5. 继续读取其余分页 每页最多包含 100 次数据发布,脚本读取当前响应页中的数据发布。如果响应包含 next_cursor,请使用它读取其余分页,再从全部日历结果中选择最早的匹配项;日历端点详情请见经济数据发布 API 文档。

请求超时时间为 10 秒。脚本在读取 JSON releases 数组前调用 raise_for_status(),因此 HTTP 错误会在筛选消费者价格数据发布之前中止该流程;筛选逻辑从响应数组中读取数据发布字段。

无需代码查找日期

打开经济数据页面,在相应国家的通胀页面查看即将发布的消费者价格数据。各国通胀页面包含下一次发布日期,经济日历页面则按国家列出即将发布的数据。

如果只想查看日期,无需将日历请求接入模型或仪表盘,可以使用国家页面。先按国家缩小时间表范围,再结合数据所属月份查看发布日期,以区分数据对应的月份和计划发布的日期。

如需在手机上接收提醒,请使用日历订阅。订阅源将数据发布安排添加到 Google Calendar、Outlook 或 Apple Calendar;具体操作请参阅经济数据发布提醒指南。

不同情况应选哪种方法

情况最合适的方法原因
查看单个日期该国的经济数据页面通胀页面包含下一次发布日期
模型或仪表盘需要日期API 调用响应包含数据所属时期和计划发布的 UTC 时间
手机提醒日历订阅订阅源将数据发布安排添加到日历

CPI 发布日期已确定吗?

数据发布前保持 status: scheduled,其 at 时间可能变动。在模型、仪表盘或使用计划发布时间的提醒中采用该日期前,请重新读取日历。

Basic 和 Pro 的 webhook 通过 release.rescheduled 事件通知时间表变更。需要计划发布的确切时刻时,仍应读取日历的 at 字段获取 UTC 发布时间,timezone 则标识发布机构的 IANA 时区。

为什么数据所属月份早于发布月份?

period 是数据所属月份,因此计划于 2026 年 11 月 10 日发布的数据对应 2026 年 10 月。其 period 为 2026-10,尽管发布日期在 11 月。

使用 period 确定 CPI 数据所属月份,使用 at 确定计划发布时间。分别读取这些字段,可在将发布日期接入模型或仪表盘时保留数据对应的月份。

如果数据发布没有具体时间怎么办?

当发布条目只有 date 时,将其视为日期。有些日历发布条目只有日期,没有时间,或只有日期范围,因此并非每个日历条目都有精确的 UTC 发布时间。

Python 筛选要求条目包含 at,因此这些条目不会被选中。如果需要只有日期或范围的发布条目,请将它们与有精确时间的条目分开读取;仅凭日期无法确定可转换到其他时区的时刻。

示例:2026年10月美国 CPI

对于2026年10月美国 CPI 发布,先查看 period: 2026-10。计划的 at 值为 2026-11-10T13:30:00Z,发布方时区为 America/New_York。

该 UTC 值表示2026年11月10日星期二的 13:30。纽约在11月使用 EST,即 UTC-5,因此从 13:30 减去五小时,得到同一天的 08:30。

对于2026年10月参考期,输出值依次为参考期、计划的 UTC 时间戳和发布方时区:

2026年10月美国 CPI 发布
2026-10 2026-11-10T13:30:00Z America/New_York
字段或换算数值
参考期间2026-10
计划的 UTC 时间2026-11-10T13:30:00Z
发布方的 IANA 时区America/New_York
纽约时间换算13:30 减去 5 小时 = 2026年11月10日星期二 08:30 EST

2026年11月参考期的数据计划于2026年12月10日 13:30 UTC 发布。2026年12月参考期的数据计划于2027年1月13日 13:30 UTC 发布。

发布于。

后续步骤