如何快速获取 A 股通达信行情数据?mootdx 完整指南
【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx
mootdx 是一个纯 Python 编写的通达信数据获取封装库:它把通达信的在线行情协议、本地 .day 历史文件和上市公司财务报表,统一解析成 pandas DataFrame。装一个库,实时盘口、K 线、离线数据、财务资料就走同一套接口,不用碰字节解析。
为什么要折腾数据清洗半天
写过数据管道的人都懂:行情接口拿到的 DataFrame 列名五花八门,同一字段这个库叫vol、那个库叫volume;免费接口说不准哪天就超时;本地.day文件还得自己算字节偏移。光是把数据洗干净,就比写策略本身还费时间。
mootdx 想省掉的就是这部分。它封装了通达信的完整数据协议,你只负责调用方法,剩下的对齐、解析、字段标准化都由它完成。
安装后第一次取数
pip install 'mootdx[all]'不确定的话装[all]最省事,核心依赖、命令行工具、扩展依赖一次到位(支持 Python 3.8+,Windows / macOS / Linux 均可运行)。
第一次取实时行情,新建脚本:
from mootdx.quotes import Quotes client = Quotes.factory(market='std') # std 标准市场,ext 为扩展市场 df = client.quotes(symbol='000001') # 实时盘口 print(df)预期结果:一张 DataFrame,包含代码、名称、最新价、昨收、成交量、买卖五档等列,字段固定,拿到就能直接用。
一个实用建议:先跑一次python -m mootdx bestip -w(见 快速上手文档),测出最快的行情节点并写入配置,之后每次建连都会自动走它,能省不少等待时间。
能力拆解:mootdx 能帮你拿到哪些数据
在线行情(Quotes)
- 实时盘口:
quotes(symbol=...)支持一次传入多个代码,返回完整快照 - K 线:
bars(..., frequency=9)取日 K,5/15/30 分钟到季 K 年 K 都支持;加adjust='qfq'/'hfq'自动前复权、后复权 - 指数、当日分时与历史分时(
minutes)、分笔成交(transaction) - 除权除息(
xdxr)、财务速览(finance)、F10 公司概况(F10C/F10)
离线历史文件(Reader)
- 直接读通达信安装目录(
vipdoc)下的.day/.lc1/.lc5文件:daily()、minute()、fzline()分别对应日线、1 分钟线、5 分钟线,离线也能分析 - 分钟线两种文件后缀(
.1/.5与.lc1/.lc5)接口会自动识别,不用操心 - 板块数据:
block()按分组读取,block_new()还能写入自定义板块
财务数据(Affair)
files()列出服务器上全部财报 zip 清单(含大小和哈希,方便判断本地是否需要更新)fetch()下载单期或全部,parse()直接解析成 DataFrame,营收、净利润等字段按 字段对照表 取用
工程能力
- 连接心跳(
heartbeat=True)、自动重连,适合长时间轮询 - 全平台支持,返回值统一为 DataFrame,可直接
to_csv/to_excel - 附带命令行工具(
mootdx quotes、mootdx bestip、mootdx affair),不写代码也能导出 CSV / Excel
参数细节可查 docs/api/quote1.md、docs/api/reader.md 与 docs/api/affair.md,可运行的脚本在 sample/basic_quotes.py、sample/basic_reader.py。
场景实战:两个常见小任务
任务一:回测前拿全前复权日线
回测最怕复权处理出错。用bars取日 K 并加前复权参数,结果直接落盘:
from mootdx.quotes import Quotes client = Quotes.factory(market='std') df = client.bars(symbol='600036', frequency=9, offset=800, adjust='qfq') # 日 K,前复权 df.to_csv('600036_qfq.csv')结果是一份干净的 CSV:日期索引加 open / high / low / close / vol 列,除权除息已由复权因子处理完毕,喂给回测框架即可。若本地已有通达信数据目录,也可以用 Reader 读离线日线,效果一样。
任务二:跑一个盯整天的监控脚本
长脚本最怕掉线。先在终端执行python -m mootdx bestip -w,测速结果会写入~/.mootdx/config.json(用法见 docs/cli/bestip.md),之后建连自动走最优节点:
client = Quotes.factory(market='std', heartbeat=True, auto_retry=True) # 心跳保活 + 自动重连建连放在循环外面复用,之后每次quotes(...)就是轻请求,正常频率下连接能稳定撑过整个交易日。😄
常见疑问
- 需要本机安装通达信吗?实时行情走的是公开行情服务器,不需要装软件;只有 Reader 读离线历史文件时,需要一个
vipdoc数据目录(之前装过通达信留下的,或拷贝一份都行)。 - 拿到的数据还要清洗吗?不用。所有接口统一返回规整的 DataFrame,列名固定、索引是日期,可以直接进分析流程。
- 要手动挑服务器 IP 吗?不用。
bestip工具自动测速,配合heartbeat与自动重连,多数情况下开箱即连。
mootdx 把在线行情、离线文件和财务数据收拢到了同一个 Python 工作流里:pip install装好,把上面的三行代码换成你真正关注的股票代码,数据管道就算搭起来了。项目定位是学习与研究用途,数据请遵守交易所使用规范,不要用于商业场景。
【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考