让 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 股量化投研,取数这一步通常有两种起手方式。
一种是拿现成的聚合库,先跑起来,缺什么再自己补。聚合库的麻烦在于上游一改,只能等库发新版。有用户就在 Issue 里问,akshare 的个股新闻接口不能用,还有别的接口吗。
另一种是自己按源写脚本。腾讯 K 线的分段参数、通达信盘后包的二进制格式、东财的 PDF Referer 头、iwencai 的 X-Claw 鉴权,每一个源都要单独摸一遍调用姿势,摸完还要处理返回格式不一致的问题。
维护成本在后面才显现。通达信公开服务器的 K 线、盘口、逐笔命令从 2026 年 9 月起返回空,有人实测 10 次 TCP 可达但 0 次验活通过,而 stocks、xdxr、finance 仍然正常。这类失效不会抛异常,数据空着往下走,要等你自己发现。
换成它之后
把这个工具包接进来,动作是固定的几步。
- 建 Skill 目录:
mkdir -p ~/.claude/skills/a-stock-data - 把 SKILL.md 拉到目录里:
curl -o ~/.claude/skills/a-stock-data/SKILL.md https://raw.githubusercontent.com/simonlin1212/a-stock-data/main/SKILL.md - 装依赖:
pip install mootdx requests pandas stockstats numpy baostock xlrd openpyxl。V3.0 起不再需要 akshare,V3.9 没有新增依赖。 - 启动 AI 编程助手,用一句自然语言触发,例如「帮我看看 688017 的估值」。
- Codex、OpenClaw 这类没有 Skill 目录约定的助手,把 SKILL.md 的内容贴进系统 prompt 或项目上下文文件,内嵌的 Python 代码可以直接执行。
- 主源失效时,按文档里的「备用源速查」换成备胎源。
装上之后能拿到的东西按层组织,目前是 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 提交者自述,结果不保证复现。用户反馈摘要
根据仓库 Issue 来看,反馈集中在两处。一是 SKILL.md 体积过大,多位提交者提到读一次就吃掉大量上下文,建议拆成轻量主文件加 references 与 scripts,改成脚本调用并统一 JSON 输出,同时收窄 description 避免误触发。二是接口缺口与失效报告,包括新增 ETF 期权、板块资金流、连板梯队与重点监控池的请求,以及 akshare 个股新闻、V3.2.1 三个接口、K 线 category 取不到分钟数据的现象。上述 Issue 状态均为已解决。
基于该仓库公开 Issue 整理,只反映提交者报告的现象与诉求,不代表诀.com 立场,也不代表问题已被确认。项目来源与说明
开源项目:simonlin1212(simonlin1212)
本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。
查看项目仓库