资讯中心

Vibe-Trading 实战:使用 Tushare `cn_cpi` 接口获取中国居民消费价格指数(CPI)数据

📅 2026/9/26 7:47:20
Vibe-Trading 实战:使用 Tushare `cn_cpi` 接口获取中国居民消费价格指数(CPI)数据
Vibe-Trading 实战使用 Tusharecn_cpi接口获取中国居民消费价格指数CPI数据【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading导读本文以 Vibe-Trading 仓库内置的 Tushare 技能文档.md) 为骨架系统讲解如何通过 Tushare Pro 的cn_cpi接口获取中国居民消费价格指数CPI数据——包括全国、城市与农村三个口径的当月值、同比、环比与累计值。你将掌握接口的权限要求、输入/输出参数语义、Python 调用写法与字段筛选技巧并了解 CPI 数据在 Vibe-Trading 的宏观分析技能macro-analysis中如何被解读为资产配置信号。接口概览cn_cpi是什么cn_cpi是 Tushare Pro 数据接口中「宏观经济 → 国内宏观 → 价格指数」分类下的月度宏观指标接口在技能文档索引中的接口 ID 为228参见 SKILL.md 数据接口列表。其核心能力为数据内容CPI 居民消费价格数据覆盖全国nt_*、城市town_*、农村cnt_*三个统计口径数据粒度月度月份格式YYYYMM单次限量单次最大 5000 行按该接口的数据体量一次即可提取全部数据权限要求用户需积累600 积分方可调用积分获取方法参见 Tushare 官方积分说明。与同目录下的 工业生产者出厂价格指数(PPI) 接口文档.md)接口cn_ppiID 245互为姊妹接口二者权限门槛600 积分与输入参数完全一致仅输出字段不同。环境准备在 Vibe-Trading 中配置 Tushare Token在调用任何 Tushare 接口前需要先完成 token 配置。Vibe-Trading 仓库对 Tushare 的接入方式如下环境变量定义在 env_schema.py 中定义了tushare_token: str Field(aliasTUSHARE_TOKEN, default)即通过TUSHARE_TOKEN环境变量注入密钥行情加载器接入tushare.py 加载器 通过get_env_config().data.tushare_token读取 token并以ts.pro_api(token)初始化 Pro 接口实例当 token 为空或为占位符your-tushare-token时加载器判定为不可用is_available()返回False技能层标准写法Tushare 技能 SKILL.md 给出了通用的环境配置流程pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple export TUSHARE_TOKENyour_tokenimport os import tushare as ts # 读取环境变量中的 token, 或者读取本地记录的 token token os.getenv(TUSHARE_TOKEN) or ts.get_token() # 初始化 pro 接口实例 pro ts.pro_api(token)仓库内的 示例脚本 展示了相同的初始化模式token get_env_config().data.tushare_token or ts.get_token()随后pro ts.pro_api(token)。本文后续的cn_cpi调用均基于该初始化后的pro对象。输入参数详解cn_cpi接口共支持三个输入参数全部为可选必选列均为 N名称类型必选描述mstrN月份YYYYMM支持多个月份同时输入逗号分隔start_mstrN开始月份end_mstrN结束月份使用要点月份格式固定为 6 位字符串YYYYMM例如201801代表 2018 年 1 月m与start_m/end_m是两种互斥的查询方式m适合精确查询指定月份可一次传入多个逗号分隔start_mend_m适合拉取一段连续区间三个参数均不传时默认返回全部历史数据在 5000 行限量内可一次取完。输出参数详解cn_cpi返回 12 个字段按统计口径分为三组每组均含当月值、同比、环比、累计值四个维度名称类型默认显示描述monthstrY月份 YYYYMMnt_valfloatY全国当月值nt_yoyfloatY全国同比%nt_momfloatY全国环比%nt_accufloatY全国累计值town_valfloatY城市当月值town_yoyfloatY城市同比%town_momfloatY城市环比%town_accufloatY城市累计值cnt_valfloatY农村当月值cnt_yoyfloatY农村同比%cnt_momfloatY农村环比%cnt_accufloatY农村累计值字段语义速记*_val价格指数当月值以基期 100 为基准的指数水平如 102.30 表示当月价格较基期上涨 2.3%*_yoy同比year-on-year与上年同月相比的涨跌幅单位为 %*_mom环比month-on-month与上月相比的涨跌幅单位为 %*_accu累计值当年年初至当月的累计指数nt/town/cnt前缀分别对应全国national、城市town、农村countryside三个口径。接口调用示例原文档给出的标准调用方式如下可通过fields参数只提取所需字段pro ts.pro_api() df pro.cn_cpi(start_m201801, end_m201903) # 获取指定字段 df pro.cn_cpi(start_m201801, end_m201903, fieldsmonth,nt_val,nt_yoy)注意原文档中「获取指定字段」一行的示例误将参数写成了start_q/end_qdf pro.cn_cpi(start_q201801, end_q201903, fieldsmonth,nt_val,nt_yoy)。按输入参数表定义正确写法应为start_m/end_m上文已作修正。实际编码时若遇到KeyError或参数不被识别请优先核对月份参数名。更完整的实战写法结合 SKILL.md 快速上手 与仓库示例脚本的初始化模式推荐使用如下完整流程import os import tushare as ts # 方式一环境变量推荐与仓库配置一致 token os.getenv(TUSHARE_TOKEN) or ts.get_token() pro ts.pro_api(token) # 方式二仓库内通过配置读取参见 env_schema.py # from src.config.accessor import get_env_config # token get_env_config().data.tushare_token or ts.get_token() # pro ts.pro_api(token) # 1. 按区间拉取2018 年 1 月至 2019 年 3 月全部字段 df pro.cn_cpi(start_m201801, end_m201903) print(df.head()) # 2. 指定多个月份逗号分隔 df pro.cn_cpi(m201901,201902,201903) print(df[[month, nt_yoy, nt_mom]]) # 3. 只取全国口径字段减少传输量 df pro.cn_cpi(start_m201801, end_m201903, fieldsmonth,nt_val,nt_yoy,nt_mom,nt_accu) # 4. 加工转化为 pandas Series / 供下游分析 import pandas as pd nt_yoy_series df.set_index(month)[nt_yoy]调用返回结果为 pandas DataFramemonth字段为字符串格式如201903可直接作为索引或与trade_cal等交易日历类数据对齐使用。数据样例解读原文档附带了 2018 年 1 月至 2019 年 3 月的真实返回样例节选如下month nt_val nt_yoy nt_mom nt_accu town_val town_yoy town_mom town_accu cnt_val cnt_yoy cnt_mom cnt_accu 0 201903 102.30 2.30 -0.40 101.80 102.30 2.30 -0.40 101.90 102.30 2.30 -0.30 101.80 1 201902 101.50 1.50 1.00 101.60 101.50 1.50 1.00 101.60 101.40 1.40 0.90 101.50 2 201901 101.70 1.70 0.50 101.70 101.80 1.80 0.50 101.80 101.70 1.70 0.40 101.70 ... 13 201802 102.90 2.90 1.20 102.20 103.00 3.00 1.30 102.20 102.70 2.70 1.10 102.10 14 201801 101.50 1.50 0.60 101.50 101.50 1.50 0.60 101.50 101.50 1.50 0.60 101.50从样例中可以观察到几个分析要点行序数据按月份倒序返回最新的月份在最前如果需要按时间升序排列可自行df.sort_values(month)三口径联动nt_*全国、town_*城市、cnt_*农村三组数值在同一月份通常十分接近但环比_mom存在细微差异如 201903 城市环比 -0.40%、农村环比 -0.30%可用来观察城乡价格走势的分化同比与环比的季节性1–2 月受春节错位影响波动明显201802 全国环比高达 1.20%这与 macro-analysis 技能 中「CPI 受猪肉周期影响显著核心 CPI 更可靠」的判断逻辑相吻合——解读月度环比时务必考虑春节因素。在 Vibe-Trading 宏观分析中的用法cn_cpi接口返回的数据是 Vibe-Trading 宏观分析链条的输入之一。仓库内置的 macro-analysis 技能 定义了 CPI 的解读阈值与框架指标频率关键阈值解读CPI 同比月度3% 通胀压力0% 通缩风险受猪肉周期影响大核心 CPI 更可靠PPI 同比月度0% 企业利润改善0% 通缩传导领先 CPI 3–6 个月核心 CPI月度2% 需求驱动型通胀剔除食品与能源在美林时钟四阶段模型复苏/过热/滞胀/衰退中CPI 同比的方向上升/回落/见顶/见底与 GDP 趋势共同决定当前经济周期所处阶段进而推导大类资产配置倾向详见 macro-analysis/SKILL.md 的四阶段模型与资产表现表。实际使用时可将pro.cn_cpi()拉取的nt_yoy序列作为该框架中「通胀趋势」维度的数据源。此外Vibe-Trading 还内置了 FRED 宏观序列工具get_macro_series用于获取美国 CPI 等海外宏观序列国内 CPI 数据则可经由本仓库的cn_cpi技能文档 Tushare 通道补齐两者配合即可覆盖中美两大经济体的通胀观测。最佳实践与注意事项积分门槛cn_cpi要求 600 积分未达门槛时调用会报权限错误需先通过 Tushare 官方积分机制提升参数名纠错文档中个别示例存在start_q的笔误请以输入参数表为准使用start_m/end_m字段裁剪若只关心全国口径用fieldsmonth,nt_val,nt_yoy,nt_mom,nt_accu显式声明字段可显著减小响应体数据排序接口默认倒序返回做时序分析前先sort_values(month)季节性解读春节错位会扰动 1–2 月环比数据跨年对比时应优先使用同比_yoy与累计值_accu配套数据源如需同时分析生产端价格可调用姊妹接口 cn_ppi.md)将 CPI消费端与 PPI生产端结合判断通胀传导路径。延伸阅读Tushare 技能总览与数据接口索引查看cn_cpi在全部接口中的定位ID 228及 token 配置规范PPI 工业生产者出厂价格指数文档.md)CPI 的姊妹接口Tushare 行情加载器实现仓库内部对 Tushare 的封装方式与 token 可用性判定逻辑环境变量 schemaTUSHARE_TOKEN的定义位置macro-analysis 宏观分析技能CPI 阈值、美林时钟与经济周期定位框架FRED 宏观序列工具海外美国CPI 等宏观数据的获取通道。【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案