Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 | English

a-stock-data

A 股全栈数据工具包 — 10 层架构 · 47 个端点 · 15 个数据源 · 零鉴权

License Python Stars
Layers Endpoints Sources Zero Auth

架构 · 快速开始 · 端点清单 · 使用示例 · FAQ · 更新日志

一个自包含的 Skill 文件,把分散在 15 个数据源里的 A 股原始数据整合成 AI 编程助手直接能用的工具集。你不用再背 mootdx 的 K 线参数、东财的 PDF Referer 头、iwencai 的 X-Claw 鉴权——全部封装好了。主源被封还有「备用源速查」可降级。

兼容 Claude Code · Codex · OpenClaw

Skill 文件本质是结构化 Markdown + 内嵌 Python,任何支持上下文注入的 AI 编程助手都能用。


架构

A 股全栈数据 · 十层架构 · V3.6.0
│  (优先级:mootdx/腾讯 不封IP 优先用;东财仅用于独有数据,已内置限流防封)
├── 行情层    mootdx + 腾讯财经 + 百度K线   K线(带MA5/10/20) + 五档盘口 + PE/PB/市值 + 指数/ETF
├── 研报层    东财 reportapi + 同花顺 + iwencai  个股研报 / 行业研报 / PDF下载 / 一致预期 / NL搜索
├── 信号层    同花顺 + 东财                  强势股 + 题材归因 + 北向资金 + 板块归属
│                                           + 资金流向(push2) + 龙虎榜 + 全市场龙虎榜 + 解禁 + 行业对比 + 板块资金流
├── 资金面    东财 datacenter + push2        融资融券 + 大宗交易 + 股东户数 + 分红送转 + 资金流(分钟+120日)
├── 新闻层    东财 + 财联社                  个股新闻 / 财联社电报(✅V3.4复活) / 全球资讯(互备)
├── 基础数据  mootdx + 东财 + 新浪           季报37字段 / F10九大类 / 财报三表
├── 公告层    巨潮 cninfo + mootdx           沪深北全量公告
├── 打板层    东财 push2ex + 同花顺          涨停池 / 炸板 / 跌停 / 昨涨停 / 涨停原因题材 / 连板梯队
│                                           + 重点监控池 + 日内异动池  ★V3.6
├── 期权层    新浪 hq.sinajs                ETF期权 T型报价 / 希腊字母 / 隐含波动率 IV  ★V3.3
└── 舆情互动  巨潮互动易 + 同花顺 + 东财     互动易问答 / 同花顺热榜 / 东财人气榜 / 概念命中  ★V3.3

★V3.4 十层之外另附备用源速查 & 降级策略:沪深交易所官方 + 新浪 + HKEX——龙虎榜/资金流/公告官方备胎函数 + 各层降级速查表,主源被封时用(见 SKILL.md 对应章节)。


快速开始

3 步,2 分钟。

# 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. 安装依赖(V3.0 不再需要 akshare)
pip install mootdx requests pandas stockstats

启动 Claude Code,说一句「帮我看看 688017 的估值」,自动激活。

Codex / OpenClaw 用户: 把 SKILL.md 的内容贴入你的系统 prompt 或项目上下文文件即可,内嵌的 Python 代码可直接执行。


47 个端点能力清单

计数口径: 下方清单共 48 行,按端点计 47 个——「东财 行业研报」与「东财 reportapi」为同一端点(仅 qType 参数不同)、「同花顺北向(历史)」为本地自缓存(非独立端点),两行不计入;「东财日内异动池」一行含 list / count 两个端点,多计 1 个。48 − 1 − 1 + 1 = 47。

行情层(实时,不封 IP)

端点 数据
mootdx 行情 K线(多周期) + 五档盘口 + 逐笔成交 + 实时报价 46 字段
腾讯财经 PE(TTM) / PB / 总市值 / 流通市值 / 换手率 / 涨跌停价 / 指数 / ETF
百度K线 日K线 + MA5/MA10/MA20 均价直接返回(V3.0 新增)

研报层

端点 数据
东财 reportapi 个股研报列表 + 评级 + 三年 EPS 预测
东财 行业研报 行业研报列表(qType=1,同端点)+ 行业名/行业码 + 评级(V3.2.3 新增)
东财 PDF 下载 完整研报 PDF(个股/行业通用,已处理 Referer 鉴权)
同花顺一致预期 机构一致预期 EPS(直连 basic.10jqka.com.cn)
iwencai NL 搜索 自然语言跨主题研报检索

信号层

端点 数据
同花顺热点 当日强势股 + 题材归因 reason tags(编辑部人工标注)
同花顺北向(实时) 沪股通分钟级流向(深股通近期上游披露收紧仅供参考,权威北向见 HKEX 备胎)
同花顺北向(历史) 本地自缓存日级历史
东财板块归属 个股所属全部板块(行业/概念/地域混合)+ BK码 + 当日涨跌幅 + 龙头股(V3.2.2 替换百度 PAE,一次请求拿全)
东财资金流向 主力 / 大单 / 中单 / 小单 / 超大单分钟级净流入(V3.1 替换百度 PAE)
龙虎榜席位 上榜记录 + 买卖席位 TOP5 + 机构动向
全市场龙虎榜 每日全市场上榜股票 + 净买额排名 + 上榜原因
限售解禁日历 历史解禁 + 未来 90 天待解禁预警
行业板块排名 东财行业涨跌/上涨下跌家数(V3.0 替换同花顺,零鉴权)
板块资金流向 行业/概念/地域 × 今日/5日/10日 主力净流入额/净占比 + 超大/大/中/小单四档 + 领涨股(V3.5 新增,与行业排名同源)

资金面 / 筹码层(V3.0 新增)

端点 数据
融资融券明细 日级融资余额/买入/偿还 + 融券余额/卖出/偿还
大宗交易 成交价/量 + 买卖方营业部 + 溢价率
股东户数变化 季度股东数 + 环比变化 + 户均持股(筹码集中度)
分红送转历史 每股派息/送股/转增 + 进度状态
个股资金流120日 主力/大单/中单/小单日级净流入

新闻层

端点 数据
个股新闻 东财个股新闻流(直连 search-api-web)
财联社电报 全市场实时快讯(v1 API + 本地签名零 key,✅V3.4.0 复活,与全球资讯互备)
全球资讯 东财全球财经资讯(直连 np-weblist,7×24)

基础数据 + 公告

端点 数据
季报快照 37 字段(EPS / ROE / 净利润 / 主营收入...)
F10 公司资料 9 大类文本(截断优化,-70% token)
东财个股信息 行业/总股本/流通股/市值/上市日期(直连 push2)
新浪财报三表 资产负债表/利润表/现金流量表(直连 quotes.sina.cn)
巨潮公告 沪深北交所全量公告

打板层(V3.3 新增)

端点 数据
东财涨停池 连板数 / 几天几板 / 封板资金 / 炸板次数 / 首末封板时间 / 所属行业
东财炸板池 曾涨停后开板 + 振幅 / 涨速
东财跌停池 封单资金 / 连续跌停天数 / 开板次数 / 板上成交额
东财昨日涨停池 昨涨停今表现(自算晋级率 / 赚钱效应)
同花顺涨停揭秘 涨停原因题材 / 封板成功率 / 一字·换手·T字板 / 封单额
东财重点监控池 交易所风险警示 / 重点监控名单 + 生效时间窗(V3.6 新增)
东财日内异动池 严重异常波动明细 + 按标的聚合异动统计 + 12 条异动规则解释(V3.6 新增)

ETF 期权层(V3.3 新增)

端点 数据
期权合约清单 50ETF / 300ETF / 科创50ETF / 500ETF 各月份认购认沽合约
T型报价 买卖五档 / 持仓量 / 行权价 / 最新价 / 成交量额
希腊字母 + IV Delta / Gamma / Theta / Vega / 隐含波动率 / 理论价值(交易所预算,免本地算 BSM)

舆情互动层(V3.3 新增)

端点 数据
互动易问答 投资者提问 + 公司官方回复(AI 问答独家信源:公司如何回应某传闻/利好)
同花顺热榜 人气值 / 概念标签 / 排名变化
东财人气榜 排名 + 排名变化 + 名称价格
东财个股概念命中 这只票当下被市场归到哪些概念在炒 + 热度值

备用源(V3.4 新增 · 主源被封时降级)

端点 数据
官方龙虎榜备胎 上交所 + 深交所官方接口,零鉴权权威一手,含营业部席位(东财被封时用)
资金流备胎 新浪日度四档单净额(超大/大/中/小单 + 净流入)
公告备胎 深市走深交所官方、沪市走东财,均带 PDF 直链(巨潮被封时用)

另附十层主源 → 独立备胎速查表(交易所官方 / 同花顺 F10 / HKEX / 巨潮 webapi / 金十等,全部不同风控面)与「已死透别用」名单,见 SKILL.md「备用源速查 & 降级策略」章节。

鉴权要求

除 iwencai 外,其余所有数据源完全免费无 Key。仅 iwencai 语义搜索需要 API Key(申请地址)。


使用示例

跟你的 AI 助手说这些话就能激活:

场景 说什么
个股估值 「帮我估一下 688017,给我 PE / PEG / 消化时间」
题材归因 「今天哪些股票走强,主要是什么题材」
研报检索 「人形机器人产业链最近的研报,特别是丝杠和减速器」
北向资金 「今天北向资金流入流出怎么样」
概念板块 「688017 属于哪些概念板块」
资金流向 「000858 今天主力资金流入还是流出」
龙虎榜 「002475 最近上过龙虎榜吗,哪些营业部在买」
全市场龙虎榜 「今天龙虎榜哪些票净买入最多」
解禁预警 「这只股票未来 3 个月有没有限售解禁」
行业轮动 「今天哪些行业涨幅最大」
板块资金流 「今天主力资金在流入哪些行业/概念板块,近 5 日趋势呢」
融资融券 「600519 最近的融资余额变化趋势」
大宗交易 「这只票最近有没有大宗交易,溢价还是折价」
股东户数 「000858 股东户数在增加还是减少,筹码集中吗」
分红送转 「茅台历年分红派息多少」
ETF 行情 「510050 上证50ETF 现在什么价、今天涨跌多少」
涨停打板 「今天涨停多少家、最高几连板、炸板率多少」
涨停归因 「今天涨停的票都是什么题材,哪些是几天几板」
重点监控池 「现在哪些标的被交易所列入重点监控,监控到什么时候」
日内异动 「今天有哪些严重异常波动的票,触发的是哪条异动规则」
异动 × 监控交叉 「今天异动的票里,有没有已经在重点监控名单上的」
ETF 期权 「50ETF 平值期权的隐含波动率和 Delta 是多少」
互动易 「比亚迪最近投资者都在问什么,公司怎么回应的」
市场热度 「今天哪些票最热门,被归到什么概念在炒」
新闻公告 「拉一下 300476 最近的新闻和公告」
市场快讯 「用财联社电报看看现在市场上有什么大新闻」
批量对比 「帮我对比这 5 只半导体股的估值」

内置 4 套调研流程

流程 做什么 耗时
单票估值 实时价 → 一致预期 EPS → 前向 PE / PEG / PE 消化年数 30 秒
批量对比 多只股票横向估值排列 1 分钟
主题研报 iwencai 多关键词 NL 搜索 + 东财 PDF 交叉补充 2 分钟
新标的调研 机构覆盖 → 估值 → 概念板块 → 资金流向 → 龙虎榜 → 解禁 → 两融 1 分钟

数据源优先级(V3.2 重排,按封 IP 风险)

原则:行情/K线/实时价/市值/财务能从 mootdx 或腾讯拿到的,一律优先用它们(不封 IP)。东财只用于它独有、别处拿不到的数据,且全部走 em_get() 内置限流。

优先级 数据源 协议 封 IP 风险 用途
1(首选) mootdx(通达信) TCP 7709 不封 IP K线/五档/逐笔/财务快照/F10
2(首选) 腾讯财经 HTTP 不封 IP 实时价/PE/PB/市值/换手率/涨跌停/指数/ETF
3 同花顺热点/北向 HTTP 极低(零鉴权) 强势股/题材归因/北向资金
4 百度股市通 HTTP 极低 K线(带 MA5/10/20)
5 新浪财经 HTTP 财报三表
6 巨潮 cninfo HTTP 公告全文
7 同花顺一致预期 HTTP 低(需 UA) EPS 一致预期
8 iwencai OpenAPI 低(需 Key) NL 语义搜索
末位(仅独有数据) 东财 datacenter/push2/reportapi/search/np-weblist HTTP 中 — 有风控会封 IP 龙虎榜/解禁/两融/大宗/股东户数/分红/资金流/研报/个股新闻/全球资讯(已统一走 em_get() 限流)

架构原则: 除 mootdx(TCP 二进制协议)外,全部直连 HTTP API,零第三方数据封装依赖。东财系接口有访问频率风控,所有调用统一经 em_get() 串行限流防封;批量任务请调大 EM_MIN_INTERVAL

降级原则(V3.4 新增): 任一主源被封/失效时,查 SKILL.md「备用源速查 & 降级策略」——每类数据都备有一条不同域名、不同风控面的独立备胎(沪深交易所官方 / 新浪 / 同花顺 / HKEX),东财被封时它们不受牵连。


FAQ

Q: 查北交所股票拿不到研报 / 行情价格明显不对? 北交所老号段(43x/83x/87x)已基本作废。2026-07-31 实测:在市 342 只中 336 只已迁至 920xxx(锦波生物 832982920982、贝特瑞 835185920185)。老码最坑的地方是不报错——东财研报静默返回 0 篇(看着像"这票没研报"),腾讯行情返回定格在迁移日的僵尸报价(成交量 0,与真实价差 17%~100%+)。V3.6.0 起:tencent_quote() 返回 is_stale / stale_reason 标志,eastmoney_reports() 遇老码直接抛 ValueError 而不是返回空。拿新码:用 push2 北交所全量清单 fs=m:0+t:81+s:2048 按名称反查。

Q: 传 SH600519 / 600519.SH 查不到数据? V3.6.0 前研报层确实如此(reportapi 只认纯 6 位数字,带前缀静默返回 0 篇)。现已新增 norm_ticker() 并在研报层接入,四种写法结果一致;解析不出 6 位数字时抛 ValueError 而非返回空,避免把"代码写错"误读成"这票没数据"。

Q: SKILL.md 这么大,agent 每次加载很费 token? 单文件自包含是本项目的有意产品决策——拷一个文件就能用、离线可携、便于分发,这个形态会长期保持,不做目录化拆分(相关讨论见 #21 / #22 / #29)。两个降耗建议:① v3.3.1 起 description 已收窄触发范围,无需取数的 A 股话题不会再误加载整个文件;② token 敏感的用户可以不把它装成自动触发 skill,改为放进项目目录、需要取数时让 agent 按需读取——文件按十层组织、章节标题清晰,v3.4.0 起顶部还有「端点路由速查」总表(§→函数→用途→源),agent 按表定位后只读对应层,通常只花几 K token。

Q: 东财接口 403 / 连接重置,是被封了怎么办? 东财系接口(datacenter/push2/push2ex/reportapi/search/np-weblist)共用同一套风控,IP 被封会成片失联。三步:① 停止请求等 30-60 分钟(IP 级临时封通常自动解除),或换网络(手机热点)立刻恢复;② 长批任务确认全部走 em_get() 并调大 EM_MIN_INTERVAL;③ 数据不能等 → 用 SKILL.md「备用源速查 & 降级策略」的独立备胎(交易所官方/新浪/同花顺,不同风控面)。

Q: 财联社快讯不是 V3.2 标注下线了吗? 已复活(V3.4.0)。2026-05 死的是旧 nodeapi 系接口;官方新版 v1/roll/get_roll_list 一直可用,只是强制 sign 校验——sign 纯本地可算(md5(sha1(按 key 字典序拼接的 query 串))),零 key。与东财 7×24 全球资讯互为独立备份。

Q: mootdx 库听说停更了,还能用吗? 库确实烂尾(最后 commit 2024-07,BESTIP bug 无官方修复),但通达信 TCP 协议本身照常运行——烂尾的是封装库,不是数据源。内置的 tdx_client() 已绕开 BESTIP bug,继续用没问题;若未来装不上,社区活跃替代是 easy_tdx(同协议)。

Q: pip install mootdx 把 httpx 降到 0.25.2,和 MCP(要 httpx≥0.27.1)冲突?(#30) mootdx 上游锁了 httpx<0.26,与 MCP 等工具的 httpx≥0.27 硬冲突,skill 层改不动它的依赖声明。但可以绕过——关键点:mootdx 取行情走的是 TCP 二进制协议(通达信 7709 端口),运行时根本不经过 httpxhttpx<0.26 只是它声明的一个用不到的保守上限。两个务实解法:

  1. --no-deps 升 httpx(推荐):装完 mootdx 后 pip install --no-deps "httpx>=0.27.1",既满足 MCP,mootdx 也照常工作。pip 会留一条 incompatible 警告,但不影响运行(实测 mootdx 0.11.7 在 httpx 0.28.1 下取数正常)。
  2. 独立 venv 隔离:把跑 mootdx 的部分和跑 MCP 的主环境分到不同 venv,彻底互不干扰。

Q: mootdx 和腾讯有什么区别? 互补。mootdx = 交易层(价格 + 盘口 + K 线),腾讯 = 估值层(PE / PB / 市值 / 换手率 / 涨跌停价)。两者都不封 IP。

Q: 在海外服务器跑,mootdx 超时? mootdx 走 TCP 直连通达信行情服务器,需国内 IP 才稳定。海外环境建议走代理或切换到 yfinance。

Q: 腾讯 API 字段 43 是 PB 吗? 不是。43 = 振幅%,46 = PB。网上大量教程写错了,这里是实测校准结果。

Q: V3.0 为什么移除 akshare? akshare 本质是对东财/同花顺/新浪等公开 API 的封装,中间层增加了故障点(版本兼容 bug、pandas 3.0 ArrowInvalid 等)。V3.0 直连底层 HTTP API,零中间依赖,更稳定可控。

Q: 行业板块为什么从同花顺换成东财? 同花顺 stock_board_industry_summary_ths 接口 2026 年初加了反爬 401。东财 push2 行业板块(m:90+t:2)是完美替代,零鉴权且字段更丰富。

Q: iwencai 返回 401? 检查:(1) API Key 有效性 (2) 是否携带了 X-Claw-* Headers。SkillHub 2.0 后强制要求。

Q: 同花顺热点 reason 字段为空? 盘后数据还没更新,15:30 之后再调。个别 ST 股没有人工标注,dropna 过滤即可。

Q: 百度股市通 ResultCode 不稳定? 已知坑——有时返回 int 0,有时返回 string "0"。代码里用 str() 统一比较即可。

Q: 东财资金流/个股新闻偶尔返回空或 HTTP 000?(#18) 部分大陆住宅宽带 IP 会被东财 push2/search-api 连接级间歇风控(表现 HTTP 000 连接被拒、或新闻只返回 passportWeb 无文章)。这不是代码问题——同一代码在其他网络/时段实测正常。对策:隔几分钟重试、换网络环境(手机热点)、调大 EM_MIN_INTERVAL 降频。日级资金流也可用 mootdx 量价数据务实替代。

Q: 北向资金历史只有几天? V2.1 改为本地自缓存。每次调用自动积累,越跑越丰富。首次运行只有当天数据。

Q: 不用 Claude Code,能用吗? 能。SKILL.md 本质是 Markdown + 内嵌 Python 代码。Codex、OpenClaw 或任何 AI 编程助手都能读取。你也可以直接把 Python 代码段复制出来在自己的脚本里跑。


更新日志

CHANGELOG.md


免责声明

本项目仅提供数据获取工具,不构成任何投资建议。股市有风险,投资需谨慎。


赞赏

如果这个工具帮到了你的投研工作流,欢迎请作者喝杯咖啡 ☕

Buy Me a Coffee

想要什么数据端点?欢迎开 Issue 提需求,赞助者的 Issue 优先处理。


License

Apache License 2.0 — 自由使用,注明出处即可。

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

About

A股全栈数据工具包 · 10层架构 · 43端点(含3官方备胎) · 15数据源 · 行情/研报/资金面/筹码/公告/打板/ETF期权/舆情互动全覆盖+备用源降级 | China A-Share full-stack data toolkit (43 endpoints)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors