a-stock-data

Installation
SKILL.md

📦 项目主页:https://github.com/simonlin1212/a-stock-data — 更新、反馈、支持作者

作者:Simon 林 · X @linsizhen · 邮箱:simonlin0423@gmail.com

A股全栈数据工具包 V3.7.1

十一层数据架构,54 个端点实测可用(51 主端点 + 3 官方备胎,2026-08 验证),覆盖主板/中小板/科创板/ST。每类数据在「备用源速查」列有独立备胎,主源被封时可降级。

V3.7.1(后缀路由修复,2026-08-20):get_prefix() 认显式前缀(sh000016)却不认等价的后缀写法(000016.SH)——而 norm_ticker() 文档明文支持后缀式,且 em_market_code()/em_secid()(V3.7.0 新增)把未归一化的原串直接喂给 get_prefix()000016.SH0 开头落到默认深市分支,secid 拼成 0.000016(深康佳A)而非 1.000016(上证50 指数),静默返回另一只标的的数据。已在 get_prefix() 开头加后缀识别分支(.sh/.sz/.bj 与显式前缀等价透传),号段推断与沪指数白名单逻辑不变。⚠️ 走「前缀+原串拼接」的端点(tencent_quote()、新浪财报等)仍只认纯 6 位或前缀式——后缀式会把 .SH 拼进请求串,先过 norm_ticker() 再传的总原则不变。

**V3.7.0(宏观层 + 筹码分布 + 复权因子 + 估值历史,2026-08-19):**新增 1 个数据层、7 个端点、4 个数据源(baostock / 申万 / 人民银行 / 国家统计局,全部零注册零 key)。全部端点于 2026-08-19 实跑验证。

  • §4.6 筹码分布 CYQ — 补上本层名实不符的窟窿:Layer 4 叫「资金面 / 筹码层」但 §4.1~§4.5 全是资金面数据,一直没有真正的筹码分布。东财没有公开 CYQ 接口(实测 push2/push2hiscyq/get 均 404),本端点用 OHLC + 换手率本地推演,零新增数据源。输出获利比例 / 平均成本 / 90-70 成本区间与集中度 / 筹码峰。⚠️ 初始筹码播种为首日全部流通盘——从全零起步会把窗口前的存量持仓一笔勾销(两个 1% 换手日会被算成 50/50,真实应约 99%/1%)。
  • §6.5 估值历史 — §1.2 腾讯只有当日估值快照,本端点给日频历史序列(实测茅台 2016-01-04 起 2581 行),并一次补齐此前完全缺失的四项:换手率(筹码分布的必需输入)、停牌状态ST 标记(实测 000004 有 276 天 isST=1)、历史 PE/PB/PS/PCF。⚠️ baostock 不支持北交所,服务端报 10004011,本实现在登录前就拦掉抛 ValueError
  • §1.4 复权因子 — §1.1 通达信 bars()不复权数据,跨除权日直接比价必错。新浪 qfq/hfq 因子序列一次 HTTP 约 1.8KB。⚠️ 响应末尾挂着 /* base64 */ 注释块,不能用 $ 锚定正则,须用 raw_decode
  • §6.6 上市/退市日 — 唯一能拿到退市日期的零鉴权源,配合 §1.2 is_stale 可在筛选阶段剔除僵尸标的。
  • §6.7 申万行业变迁史 — §3.7 东财只有当前行业归属,用它做历史研究是前视偏差。本端点给每只股票的行业变迁(实测 12,893 行 / 5,905 只 / 38 个一级行业;有标的历史变更过 10 次)。⚠️ 申万官方只发代码不发中文名。
  • §11.1/§11.2 宏观层(新) — 人民银行社融(月度 12 列)+ 国家统计局 PMI。⚠️ 社融链路是三级跳,未发布月份整行丢弃而非返回 NaN(否则调用方会把 12 行当 12 个月真数据);PMI 正文是全角括号内带空格,空白必须整个删掉才匹配得到。
Installs
8
GitHub Stars
2.1K
First Seen
Jul 6, 2026
a-stock-data — simonlin1212/vibe-research