2026 年 9 月的 103.95 美元,购买力相当于 2025 年 11 月的 100 美元,所用 CPI 指数分别为 336.940 和 324.122。调整价格时,将原价乘以后一个月的 CPI 指数除以前一个月指数的比值。
用 API 调整价格
计算公式为 adjusted = price x CPI(to month) / CPI(from month)。金额要与其原始月份对应,再选择要换算到的月份。后一个月的指数放在分子,前一个月的指数放在分母。
- 设置你的 API 密钥 获取免费密钥,并保存在环境变量
NARWHAL_API_KEY中。请求会把该值放在Authorization: Bearer YOUR_KEY请求头中发送。 - 选择价格对应的月份 以美国为例,请求
GET /v1/economics/USA/cpi/observations?start=2025-11&end=2026-09。以 2025 年 11 月为原始月份,以 2026 年 9 月为要换算到的月份。 - 读取指数并计算金额 使用与价格币种对应国家的 CPI。脚本按期间读取返回的观测值,将 2026 年 9 月的指数除以 2025 年 11 月的指数,再把原始金额乘以该比值。
import os import requests r = requests.get( "https://api.narwhalapi.com/v1/economics/USA/cpi/observations", params={"start": "2025-11", "end": "2026-09"}, headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"}, timeout=10, ) r.raise_for_status() cpi = {o["period"]: float(o["value"]) for o in r.json()["observations"]} def adjust(amount: float, from_period: str, to_period: str) -> float: """Express an amount from one month in the money of another month: amount x CPI(to) / CPI(from).""" return amount * cpi[to_period] / cpi[from_period] print(round(adjust(100, "2025-11", "2026-09"), 2)) - 读取所选期间的结果 脚本会输出
103.95,即相当于 2025 年 11 月 100 美元的 2026 年 9 月美元金额。如果只需要某个月的指数,请使用GET /v1/economics/USA/cpi?period=2025-11。
响应中的 observations 列表包含每个观测值的 period 和 value。脚本把这些值转换为数字,并按月份存储。adjust 函数接收金额和月份标签,再从该字典中读取对应的指数。两个月份标签都必须出现在返回的观测值中。除法使用完整的 CPI 数值,并像脚本处理 2026 年 9 月的结果那样,对最终的美元金额进行四舍五入。
请求历史数据时,请查看返回的第一个日期。所有账户都可读取完整历史。晚于请求日期才开始的序列会从其第一个观测值开始,因此响应的起点可能比你要求的更晚。
在表格或计算器中调整价格
如果只需计算有计算器页面的国家的单个金额,请使用通胀计算器。选择与货币对应的国家以及要比较的月份。金额仍属于原始月份,结果表示它在另一个月份的购买力。
在表格中,把较早月份的 CPI 指数放在 B1,较晚月份的 CPI 指数放在 B2。对于 100 美元,使用下面的公式。B1 填 2025 年 11 月的美国指数,B2 填 2026 年 9 月的美国指数,计算所用的比值与 Python 脚本相同。
=100*B2/B1单元格的顺序很重要,因为公式是乘以较晚月份的指数、再除以较早月份的指数。请把月份标签与 CPI 数值放在一起,使金额、起始月份和结束月份保持关联。
如果有一列带日期的价格,请使用脚本。每次计算都需要原始金额及其月份,以及要换算到的月份。该函数可以对返回的观测值使用不同的金额和月份标签;CPI 比值取决于每个价格所选的月份。
年度价格应该用哪个月?
使用价格所属的月份;如果价格是年度数据,则使用年度平均值。整个比较过程中要保持这一选择一致。对应 2025 年 11 月的价格使用该月的 CPI,年度数据则可以使用年度平均值。
选择指数之前,先确定价格对应的是某个月还是某一年。这决定了哪个 CPI 数值放在计算的前一部分,哪个放在后一部分。
可以用美国的通胀调整其他货币的价格吗?
使用价格所用货币所属国家的 CPI。对于欧元价格,使用欧元区或你选定国家的指数。在选择较早和较晚月份的 CPI 值时,要保持这一选择一致。
美元示例对 2025 年 11 月和 2026 年 9 月都使用美国 CPI。对于其他货币的价格,在把比值应用到金额之前,先确定国家。
可以把价格调整到未来的月份吗?
调整到未来需要你自己的假设,因为 CPI 只会公布过去月份的数据。公式需要你要换算到的那个月的指数,而未来月份的 CPI 属于预测假设。
预测金额要始终标明对应的期间。2025 年 11 月到 2026 年 9 月的示例使用这些月份的 CPI 值,而以未来月份货币价值表示的金额则取决于你选择的假设。
计算示例:2025 年 11 月 100 美元的购买
从 2025 年 11 月的价格 100 美元开始。美国 CPI 指数在 2025 年 11 月为 324.122,2026 年 9 月为 336.940。两者的指数基期都是 1982-84=100。
| 步骤 | 计算 | 结果 |
|---|---|---|
| 用 2026 年 9 月的指数除以 2025 年 11 月的指数 | 336.940 / 324.122 | 1.03955 |
| 将 2025 年 11 月的价格乘以 CPI 比值 | 100 x 336.940 / 324.122 | 2026 年 9 月的 103.9547 美元 |
| 对调整后的金额四舍五入 | 103.9547 四舍五入后 | 2026 年 9 月的 103.95 美元 |
从 2025 年 11 月到 2026 年 9 月,通胀调整幅度为 10 个月 3.95%。该百分比描述的是所选两个月份之间的变化,不是年率。
发布于。