macro 适配器

August 15, 2026 · View on GitHub

路径:src/cnequity/adapters/macro/

宏观经济指标采集,写入 macro_indicators 数据集。


文件

文件职责
indicators.py日频利率 + 月度序列,各自直连发布方
__init__.py导出

指标

indicator_id说明频率source上游
cnbond_yield_10y10 年期国债收益率eastmoneyRPTA_WEB_TREASURYYIELD
shibor_3m3 个月 SHIBOReastmoneyRPT_IMP_INTRESTRATEN
lpr_1y1 年期 LPReastmoneyRPTA_WEB_RATE
pmi_manufacturing制造业 PMIeastmoneyRPT_ECONOMY_PMI
m2_yoyM2 同比增长(%)eastmoneyRPT_ECONOMY_CURRENCY_SUPPLY
social_financing社会融资规模增量pbocpboc 适配器

PMI 与 M2 曾经走 AkShare。它的两个包装函数请求的正是上表里同一个东财 datacenter 端点,所以直连没有换发布方,只是去掉了一层解析,并接上本项目自己的 重试 / 限速 / TLS 处理。见 issue #3

m2_yoy 必须读 BASIC_CURRENCY_SAME。AkShare 路径用中文列名做子串匹配、 匹配不上时回落到「最后一列」,而它的关键词 M2-同比增长 从来匹配不上真实列名 货币和准货币(M2)-同比增长(括号断开了子串),于是长期把 M0 环比增长写成了 m2_yoy。按字段名读取不会有这种失效模式。

具体 ID 列表见 indicators.py 内注册与 schema.md


溯源

行级 source 由适配器写入,不取 step 的统一值:东财行为 eastmoney, 社融行为 pbocwith_provenance 只在缺列时填充,故适配器的标注会保留。


观测日期

月度指标统一落在月末。东财的 REPORT_DATE 是月初(2026-07-01),会转换; 改动这个约定会让 curated 里已有的每个月份多出一把主键。


与权威发布方的对照(2026-08-01 实测)

#9 只验证了「直连东财 == AkShare 包装」,没验证东财本身是否可信。 issue #10 补上了这一步:

指标本项目取值权威发布结论
pmi_manufacturing 2026-0749.2国家统计局 49.2%一致
m2_yoy 2026-068.0央行 同比增长 8%一致
M2 余额 2026-063 567 108.43 亿央行 356.71 万亿一致
M1 / M0 2026-06118.48 万亿 / 4%、14.74 万亿 / 11.8%央行同口径一致
social_financing 2026 前四月累计154 507 亿央行 15.45 万亿一致(差额为取整)

东财在这几个字段上是忠实转载,不是自行加工。

国家统计局的 data.stats.gov.cn/easyquery.htm 查询接口在非大陆出口会被 WAF 以 UrlACL 拒绝(站点根路径正常,仅该路径被拦)。所以上表是对着官方发布稿核的, 没有做成常驻适配器——同样的出口限制也意味着直连 NBS 不能作为默认数据路径。 这与 ths 适配器记录的东财 push2his 情况是同一类问题。

持续监控落在 quality/macro_checks.py:真正会发生的失效不是 「东财算错」,而是某个源停更或改版后静默丢行,这由 macro_indicator_stale 覆盖。


分区与主键

  • 分区:obs_date
  • 主键:(indicator_id, obs_date)

相关文档