☰
mootdx A股行情数据快速上手指南:三行代码获取通达信行情、历史K线与财报
2026/10/21 5:02:19 网站建设 项目流程

mootdx A股行情数据快速上手指南:三行代码获取通达信行情、历史K线与财报

【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx

凌晨两点,你的 A 股行情数据脚本又挂了:20 万行日 K 缺了 3 只票,一个库的量能列叫vol,另一个叫volume,换个新接口还活不过早餐。这类通达信数据问题,mootdx 一手接管——在线行情、历史 K 线、财务文件,调方法就拿到 DataFrame。

问题定位:mootdx 解决什么,适合谁

  1. 它解决什么:通达信行情协议解析、.day文件字节对齐、财报 zip 解包全部封装在内,你只选链路——在线行情、本地文件、财务数据——返回的都是规整 DataFrame。
  2. 适合谁:个人 A 股策略开发者、金融分析师,以及需要快速搭本地数据底座的工程师。
  3. 上手成本:要记的只有 3 个入口类 Quotes、Reader、Affair;会用 pandas 就能起步,装完 5 分钟看到第一次真实输出。

mootdx 安装命令与首次运行

不确定依赖怎么配,直接装全量版:

pip install -U 'mootdx[all]'

其他安装变体(最小核心、命令行版)见 docs/setup.md 和 docs/quick.md。然后新建一个test.py:

from mootdx.quotes import Quotes client = Quotes.factory(market='std') print(client.bars(symbol='000001', frequency=9, offset=3)[['open', 'close', 'volume']].to_string())

frequency=9表示日 K 线,offset指定取多少行,股票代码直接传 6 位数字。就这么短:不用查任何协议文档,不用对字节,也不用申请账号。

预期输出:

open close volume 2026-10-16 11.02 11.13 25645800 2026-10-19 11.15 11.27 27590200 2026-10-20 11.25 11.21 21385400

三条主数据链路:从哪个入口拿到什么

该从哪条链路上手?看你的数据在线还是在磁盘里。

在线行情链路:Quotes

入口在 mootdx/quotes.py。Quotes.factory(market='std')建好连接后按需取数:quotes()拿实时盘口(可一次传多只),bars()取 1 分钟到年线的 K 线(frequency 0~11),index()取指数 K 线,minute()取当日分时,xdxr()取除权除息,F10()取公司资料。

离线文件链路:Reader

入口在 mootdx/reader.py。Reader.factory(market='std', tdxdir='C:/new_tdx')指向通达信数据目录后,daily()读完整日线,minute()读 1 分钟,fzline()读 5 分钟。它解析的就是vipdoc下的.day/.lc1/.lc5,断网时分析照样跑。

财务文件链路:Affair

入口在 mootdx/affair.py。Affair.files()列出服务器上全部财报 zip,Affair.fetch(downdir=...)下载(可单个可全部),Affair.parse(downdir=..., filename=...)直接解析成表格。

链路入口能拿到什么
在线行情Quotes.factory(market='std')实时盘口、1 分钟到年线 K 线、指数、分时、除权除息、F10
离线文件Reader.factory(market='std', tdxdir='...')vipdoc 下完整日线/1 分钟/5 分钟 K 线,离线可用
财务文件Affair.files() / fetch() / parse()财报 zip 清单、下载、解析成表格
命令行python -m mootdxquotes / reader / bundle / bestip / affair 快捷操作

实战场景:三种人怎么取通达信数据

量化工程师:批量导出股票池的年线数据

建完股票池要一次性落盘,不用自己写循环,bundle命令负责:

python -m mootdx bundle -s 600036,000001 -a daily -o export -e csv

-s传逗号分隔的股票列表,-o是输出目录,-e指定文件格式。

预期输出:

下载完成 600036 下载完成 000001 [√] 下载文件到 "/home/you/export"

财经博主:早盘复盘脚本

复盘要两组数:指数定调,个股定细节。

from mootdx.quotes import Quotes client = Quotes.factory(market='std') # 上证指数最近 3 根日K idx = client.index(symbol='000001', frequency=9, offset=3) # 贵州茅台最近 5 根日K mt = client.bars(symbol='600519', frequency=9, offset=5) print(idx[['open', 'close', 'volume']].to_string())

预期输出:

open close volume 2026-10-16 3520.45 3541.82 6.82e+08 2026-10-19 3545.10 3560.24 7.05e+08 2026-10-20 3563.02 3558.90 6.91e+08

数据工程师:搭财报库

财报库第一步拿清单,第二步下载解析。

from mootdx.affair import Affair # 拉取服务器上全部财务文件清单 files = Affair.files() print(f'共 {len(files)} 个财报文件可用') # 下载并解析某一期,直接得到 DataFrame df = Affair.parse(downdir='cw', filename='gpcw19960630.zip') print(f'解析完成, 共 {len(df)} 行')

预期输出:

共 512 个财报文件可用 解析完成, 共 5458 行

解析表里的指标编号对照在 docs/api/fields.md。

稳定运行:给长跑脚本加两件事

脚本从跑一次变成夜夜驻场,还缺什么?两样。

连接复用,别反复握手。每次Quotes.factory都是完整建连,轮询场景把 client 建在循环外,并打开保活与断线重连:

client = Quotes.factory(market='std', heartbeat=True, auto_retry=True, timeout=15)

heartbeat 维持长连接避免被服务端踢下线,auto_retry 负责断线后自动接回。

⚡ 测速挑最快的节点。行情服务器不止一台,节点间延迟差肉眼可见。跑一次测速,最快 IP 会写进配置文件,之后 factory 自动连最优节点:

python -m mootdx bestip -vv

命令行跑之前确认装过完整依赖,否则先执行上面那条pip install 'mootdx[all]'。

常见问题解答:三个最容易被问住的问题

不用装通达信客户端也能用吗?在线行情不需要客户端,它直连公开行情服务器。唯一有要求的是用 Reader 读历史文件:你得有一个数据目录,即vipdoc所在的那一层,从任何一台机器拷过来都行。

返回的数据要自己清洗吗?不用。三条链路返回的都是 pandas DataFrame,日期做索引,open/high/low/close/volume 列固定,原始结构的换算内部已完成,取回来就能进分析流程。

Reader 只能在 Windows 上跑吗?tdxdir只是一个路径参数,C:/new_tdx是默认值而不是限制。Linux 服务器上放好vipdoc/sh、vipdoc/sz下的lday目录结构,就能正常读取。

开工:今天把第一根 K 线跑出来

现在打开终端执行安装命令,把test.py那 3 行跑起来——输出里看到 K 线表格就算入坑了,把000001换成你真正跟踪的代码即可。数据来自公开行情接口,请仅用于个人研究与学习,对外分发或商用前注意合规要求。

【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询