news 2026/10/21 1:40:44

mootdx 教程:如何快速读取通达信行情与K线数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mootdx 教程:如何快速读取通达信行情与K线数据

mootdx 教程:如何快速读取通达信行情与K线数据

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

mootdx 是一个通达信数据读取的 Python 简洁封装,它能连接通达信线上服务器获取实时股票行情与 K 线数据,也能读取通达信客户端保存的本地历史K线和财务数据,全部以 pandas DataFrame 返回,不需要自己理解底层协议。

和手动对接协议相比,mootdx 差在哪里

这一节用一张表对比"自己做"和"用 mootdx"的差别。

场景手动对接协议用 mootdx
实时行情 / K 线要研究通达信行情协议细节几行Quotes代码
本地历史K线要自己解析.day二进制文件一行Reader.daily()
财务数据要自己找数据文件并解析Affair三步下载解析
连接稳定性重试、重连、选服务器自己写内置重试、自动重连

除 Python API 外还附带命令行工具,返回的数据都是pd.DataFrame,可直接接入 pandas 生态。

安装后 5 分钟拿到第一份数据

这一节按"安装 → 初始化 → 第一次调用"推进,照做即可在几分钟内看到数据。

先安装(Python 3.8+;需要命令行工具用mootdx[cli],依赖不确定时直接mootdx[all]):

pip install 'mootdx'

下面的例子获取 600036 最近 10 根日K线:Quotes.factory初始化后,client 上就能发起各类请求:

from mootdx.quotes import Quotes client = Quotes.factory(market='std', multithread=True, heartbeat=True) df = client.bars(symbol='600036', frequency=9, offset=10) print(df)

返回的df包含 open、high、low、close、vol 等字段,索引是 datetime,可以直接做指标计算。

三种最常用的数据用法拆解

这一节把最常用的三个能力拆开讲:什么时候用、怎么调用、返回什么。

获取实时行情与K线

Quotes负责所有线上数据,适合盘中监控、信号计算等需要最新数据的场景。market传std是股票市场,ext是扩展市场(期货、黄金等);frequency控制K线粒度:9 日K、8 一分钟、4 周K、6 月K。

client.quotes(symbol='000001') # 实时日行情 client.index(symbol='000001', frequency=9) # 指数K线 client.finance(symbol='000001') # 财务信息

除bars外还有get_k_data(code, start_date, end_date)按日期区间取数,内部按 800 条分页请求并处理了非交易日。

用 Reader 读取本地历史K线

Reader直接读通达信客户端vipdoc目录下的.day文件,不走网络、不受频率限制,适合全市场回测和离线场景。tdxdir是通达信安装目录,必须真实存在,否则初始化就抛异常:

from mootdx.reader import Reader reader = Reader.factory(market='std', tdxdir='C:/new_tdx') df = reader.daily(symbol='600036') # 日线 reader.minute(symbol='600036') # 1分钟 reader.fzline(symbol='600036') # 5分钟

市场(sh/sz)和文件路径由代码自动推断,不用关心文件放在sh/lday/还是sz/lday/。

下载并解析财务数据

Affair处理通达信财务报表,三步走:看文件列表、下载、解析;下载的文件会做 MD5 校验,已存在的文件不会重复下载:

from mootdx.affair import Affair Affair.files() # 远程财务文件列表 Affair.fetch(downdir='tmp') # 下载全部 df = Affair.parse(downdir='tmp', filename='gpcw20231231.zip')

parse在文件不在本地时会自动触发下载,返回解析好的财务报表 DataFrame。

服务器选择、重试与几个常见坑

这一节列出项目里真正常用、能少走弯路的几点。

  • 先测最优服务器:Quotes默认连配置文件里的服务器,可先跑mootdx bestip -v -w测试延迟并把最快的写入~/.mootdx/config.json,详见 docs/cli/bestip.md;代码里传bestip=True则自动选优。
  • 重连不用自己管:行情请求已带 tenacity 重试和空结果自动重连,heartbeat=True保持心跳,timeout控制连接超时。
  • 扩展市场记得用ext:期货、黄金等扩展市场用Quotes.factory(market='ext'),数据源端口与股票市场不同。
  • 复权数据两条路:自行计算复权看mootdx/utils/adjust.py与mootdx/tools/reversion.py;想直接用同花顺复权数据,调用mootdx/contrib/adjust.py的get_adjust_year(symbol, year, factor)。
  • M1 Mac 注意 PyMiniRacer:财务数据解析依赖 mini-racer,在 M1 系统上有已知问题,详见 docs/faq/py_mini_racer.md。

继续往下挖

mootdx 覆盖了线上行情、离线文件和财务数据的完整链路,拿到 DataFrame 之后,后面全是 pandas 的活。

  • 快速参考:docs/quick.md
  • 示例代码:sample/
  • API 细节:docs/api/

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 1:40:43

mootdx:一行命令拿到通达信 A 股 K 线,免费开源

mootdx:一行命令拿到通达信 A 股 K 线,免费开源 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx mootdx 是一个 MIT 协议的开源 Python 通达信数据接口封装库,直…

作者头像 李华
网站建设 2026/10/21 1:40:43

Docker 跑 Firefox:容器化浏览器全解

Docker 跑 Firefox:容器化浏览器全解 【免费下载链接】docker-firefox Docker container for Firefox 项目地址: https://gitcode.com/GitHub_Trending/do/docker-firefox docker-firefox 是一个容器化浏览器项目:把当前 Firefox 151 正式版装进 …

作者头像 李华
网站建设 2026/10/21 1:40:33

把安卓手机变成企业微信机器人:WorkTool 7×24 无人值守群管理教程

把安卓手机变成企业微信机器人:WorkTool 724 无人值守群管理教程 【免费下载链接】worktool 一款安全稳定的Android无障碍服务工具,支持控制企微/微信来运行的无人值守群管理企业微信机器人 项目地址: https://gitcode.com/GitHub_Trending/wo/worktoo…

作者头像 李华
网站建设 2026/10/21 1:39:17

原神小助手:自动战斗、秘境与委托,一份完整使用指南

原神小助手:自动战斗、秘境与委托,一份完整使用指南 【免费下载链接】genshin_impact_assistant 原神小助手 Genshin Assistant (CN/EN) | 自动战斗,秘境,领日常,半自动委托 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin_impact_assista…

作者头像 李华