让 AI 助手直接取到 A 股原始数据(a-stock-data)

a-stock-data 是一份 Python 写的 A 股全栈数据工具包,把 34 个公开数据源的调用封进一个 Skill 文件,覆盖行情 K 线、研报、资金面、打板、期权、宏观等 15 类数据,共 87 个入口。这篇文章讲清它怎么装、怎么被 AI 编程助手调用、和同类项目比处在什么位置,以及哪些活它干不了。

A 股公开数据散在几十个来源里。腾讯的 K 线要记分段参数,通达信官网盘后包是二进制格式,东财的研报 PDF 要带 Referer 头,iwencai 走 X-Claw 鉴权。写一次取数脚本,光是搞清楚每个源的调用姿势就要花掉大半天;源一改版,脚本跟着失效,而且常常不抛异常,只是返回空。

a-stock-data 是一份用 Python 写的 A 股全栈数据工具包,把 34 个公开数据源封成 87 个调用入口,让 AI 编程助手直接取到行情、研报、资金面等原始数据。

项目的交付形态是一个 Skill 文件。SKILL.md 有 424.5 KB,本身是结构化 Markdown,里面嵌着可直接执行的 Python 代码;兼容 Claude Code、Codex、OpenClaw、WorkBuddy、Muse、Grok Bot,任何支持上下文注入的 AI 编程助手都能用。输入是一句自然语言提问,或者一段直接调用的 Python,输出是 pandas DataFrame 或原始数据。整个仓库 Apache-2.0 开源,主语言 Python 占 100%,Star 10863、Fork 1966、Watcher 70,开放 Issue 数 0,仓库地址是 simonlin1212/a-stock-data。

a-stock-data 项目封面,A 股全栈数据工具包的十五层架构示意

这件事以前怎么做

做 A 股量化投研,取数这一步通常有两种起手方式。

一种是拿现成的聚合库,先跑起来,缺什么再自己补。聚合库的麻烦在于上游一改,只能等库发新版。有用户就在 Issue 里问,akshare 的个股新闻接口不能用,还有别的接口吗。

另一种是自己按源写脚本。腾讯 K 线的分段参数、通达信盘后包的二进制格式、东财的 PDF Referer 头、iwencai 的 X-Claw 鉴权,每一个源都要单独摸一遍调用姿势,摸完还要处理返回格式不一致的问题。

维护成本在后面才显现。通达信公开服务器的 K 线、盘口、逐笔命令从 2026 年 9 月起返回空,有人实测 10 次 TCP 可达但 0 次验活通过,而 stocks、xdxr、finance 仍然正常。这类失效不会抛异常,数据空着往下走,要等你自己发现。

换成它之后

把这个工具包接进来,动作是固定的几步。

  1. 建 Skill 目录:mkdir -p ~/.claude/skills/a-stock-data
  2. 把 SKILL.md 拉到目录里:curl -o ~/.claude/skills/a-stock-data/SKILL.md https://raw.githubusercontent.com/simonlin1212/a-stock-data/main/SKILL.md
  3. 装依赖:pip install mootdx requests pandas stockstats numpy baostock xlrd openpyxl。V3.0 起不再需要 akshare,V3.9 没有新增依赖。
  4. 启动 AI 编程助手,用一句自然语言触发,例如「帮我看看 688017 的估值」。
  5. Codex、OpenClaw 这类没有 Skill 目录约定的助手,把 SKILL.md 的内容贴进系统 prompt 或项目上下文文件,内嵌的 Python 代码可以直接执行。
  6. 主源失效时,按文档里的「备用源速查」换成备胎源。

装上之后能拿到的东西按层组织,目前是 15 层、87 个入口(82 个主入口加 5 个备胎)、34 个数据源,除 iwencai 外都不需要 Key。主要的几层:

  • 行情层。腾讯财经给实时价、PE(TTM)、PB、总市值、流通市值、换手率、涨跌停价;腾讯 K 线给沪深日/周/月前后复权,以及 1、5、15、30、60 分钟 K 线,三个入口轮换,不含北交所。通达信盘后包给某个交易日的沪深北全市场日线,含成交额,单个 zip 约 2~3 MB,实测 2022-01-04 和 2023-01-03 可取,2021-01-04 已经没有了,仓库没有说明逐日验证的结果。V3.10.1 还更正过腾讯 K 线的成交量单位:科创板(688 / 689)返回股,其余是手,按旧文档换算会大 100 倍。
  • 逐笔成交。tencent_ticks() 取腾讯当日逐笔,覆盖沪深个股与 ETF。V3.10.1 起改走复用连接、自动重试的会话,一次耗时从约 70 秒降到约 25 秒,并新增 frame.attrs["complete"],15:31 以后可以核对盘后定价段有没有缺笔。
  • 研报层。东财 reportapi、同花顺、iwencai、新浪四个来源,取个股与行业研报、PDF、评级、三年 EPS 预测、一致预期,也支持自然语言检索。
  • 信号层。强势股与题材归因、北向资金、板块归属、资金流向、龙虎榜、限售解禁、行业排名、板块资金流。
  • 资金面与筹码。融资融券、大宗交易、股东户数、分红送转、120 日资金流、筹码分布 CYQ、ETF 份额,其中筹码分布由本地计算。
  • 打板层。涨停池、炸板、跌停、昨涨停池、涨停原因题材、连板梯队、重点监控池、日内异动池。
  • 期货与大宗商品。futures_kline() 取新浪期货日 K,分主力连续和具体合约两种,覆盖到大商所;另有商品与股指期权、会员持仓排名、实时期货、A50 期指、上海金现货。
  • 宏观与利率。社融、PMI、国债与信用债收益率曲线、回购定盘利率、LPR、全球宏观日历。

估值计算里有两个函数值得单独说。full_valuation() 和 pe_digestion() 都算 PE 消化年数。V3.10.2 修掉过一个坑:前向 PE 高于 30x 而预测盈利不增长、或下一年预测缺失时,full_valuation() 原来返回 0 年,读起来像已经消化到 30x,实际是永远消化不到;现在改为调用 pe_digestion(),得不出有限年数时返回 None,当年 EPS 缺失或不为正时同样返回 None。

和同类项目放在一起看

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
a-stock-data用 Claude Code、Codex 这类 AI 编程助手做 A 股投研,需要一次拿到多类原始数据的个人开发者把 SKILL.md 放进 ~/.claude/skills/a-stock-data/,再 pip 装 7 个依赖;除 iwencai 外不需要 Key只取数据,不下单、不做回测;SKILL.md 有 424.5 KB,读一次占用上下文不小;上游接口失效时静默返回空,要自己按备用源降级你要的是一条能被 AI 助手直接调用的原始数据管道a-stock-data
TradingAgents-astock想要多 Agent 辩论产出的投研结论、不满足于原始数据的 A 股研究者仓库没有说明未逐一核实你需要的是分析结论与决策流程,数据只是它的输入TradingAgents-astock
LLMQuant/skills已经在支持 Skill 的助手里攒了一批技能、想扩到量化场景的人仓库没有说明未逐一核实你更看重技能的可复用形态,不想绑定单一 A 股数据源LLMQuant/skills

只看数据覆盖面,a-stock-data 在 A 股这一侧铺得更宽,15 层里连期货、可转债、宏观利率都收进来了。它短在不出结论:TradingAgents-astock 把 7 位分析师基于 A 股规则的辩论决策流程写好了,你拿到的是结论和论据;LLMQuant/skills 是可复用技能的集合,不锁死在 A 股数据这一件事上。想要结论的人不该从这里起步,想要数据管道的人用它更省事。

怎么接进现有流程

它在流程里的位置是数据入口,上游是公开接口,下游是 AI 助手的上下文或者你自己的 Python 脚本。输入只有标的与时间:股票代码、板块名、日期区间,不需要预先导入数据文件,仓库也没有说明要建本地数据库。

输出形式取决于怎么调。走 AI 助手时,数据落在对话上下文里,由助手接着做分析和写作;直接在 Python 里调时拿到的是 DataFrame,可以自己接进 pandas 的后续处理。同花顺北向历史这类数据是本地自缓存,其余都是按需实时拉取。

定时任务方面,仓库没有说明调度能力。通达信盘后包是盘后数据,天然只在收盘后取;逐笔的 frame.attrs["complete"] 适合放在 15:31 以后做一次完整性核对。

依赖上要注意 mootdx 的定位变了。2026 年 9 月通达信公开服务器的行情命令失效后,mootdx 在行情层已经移到最后留档,现在只用于财务与 F10。行情层的可用来源顺序是腾讯财经 → 腾讯 K 线 → 通达信盘后包 → 腾讯逐笔。

它替代不了的部分

它是一个数据工具包,不接券商交易接口,也不下单,仓库里没有说明任何交易相关能力。策略回测、组合管理、风控这类活不在它的范围内,它给的是原始数据,判断要你自己做。

上游可用性它管不了。通达信公开服务器失效那次,10 次 TCP 可达、0 次验活通过,函数不报错,只是返回空;东财的接口也有用户反馈过「是不是项目太火了,太多人用了,最近东财接口北向资金接口都没用了」。遇到这种情况只能按备用源降级,判断哪一层挂了得靠你自己。

上下文成本是另一个门槛。SKILL.md 有 424.5 KB,有用户在 Issue 里提到 read 一次 token 就消耗不少,也有人建议把 skill 拆开。这些 Issue 的状态都是已解决,但 SKILL.md 目前仍是 424.5 KB。依赖版本上也踩过坑:pip 默认拉最新的 mootdx,V3.2.2 搭配 mootdx 0.11.7 出现过不兼容,这条已标记为已解决。

数据来源是公开接口,用法上要守住边界。取数频率得自己控制,东财那类接口仓库里已经内置限流;把高频抓取或批量爬取用在他人服务上,可能触发封禁,也可能带来法律与平台风险。自有资产与已获授权的目标才适合接进来跑。

值不值得换

满足下面几条,换过来是划算的。

  • 你已经在用 Claude Code、Codex 这类 AI 编程助手做 A 股研究,需要一个能被助手直接调用的数据入口。
  • 你要的是原始数据而不是现成结论,愿意自己写判断逻辑。
  • 你不想为研报 PDF、盘后包这类格式麻烦的源单独处理鉴权和参数。

不适用的情况只有一条:你要的是端到端的投研结论和组合建议,没有精力自己写分析层,那就该去看把决策流程也做进去的项目。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.0 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)7.1 / 10
社区响应(权重 15%)10.0 / 10
文档质量(权重 15%)8.5 / 10
发布节奏(权重 10%)9.9 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

这篇的价值在于把 34 个公开数据源、87 个入口的调用姿势与失效情况一并交代,包括腾讯 K 线成交量单位、mootdx 定位变化、通达信行情命令失效这类容易踩的坑,并划清「只取数、不出结论、不接交易」的边界。适合已在用 Claude Code、Codex 做 A 股研究、愿意自己写判断逻辑的开发者;想要现成投研结论的人不必看。

Star、Fork、Watcher、Issue 数等仓库指标与焚.com 评分来自作者公开披露,诀.com 未独立验证;逐笔耗时降至约 25 秒、通达信 10 次 TCP 可达 0 次验活、盘后包个别日期可取出等实测均出自原作者或 Issue 提交者自述,结果不保证复现。

项目来源与说明

开源项目:simonlin1212(simonlin1212)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库