news 2026/10/21 1:37:21

A股K线、日线、财务数据怎么从通达信一次取齐:mootdx 取数路径拆解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
A股K线、日线、财务数据怎么从通达信一次取齐:mootdx 取数路径拆解

A股K线、日线、财务数据怎么从通达信一次取齐:mootdx 取数路径拆解

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

mootdx 是一个通达信数据读取的 Python 封装库,把离线文件、在线行情、财务数据统一成 DataFrame 接口,适合做量化回测和 A 股数据研究的工程师取数用。

场景切入:取数卡在哪

做 A 股量化的人大概率遇到过同样的处境:通达信客户端里行情、K 线、财务信息一应俱全,但这些数据要么是散落在 vipdoc 目录下的二进制 .day 文件,要么得去网上找文档零散、时好时坏的在线接口。自己手写的解析脚本,换台机器就要改路径,换个人接手就看不懂。mootdx 的价值在于把这三类数据源收进同一个 Python 入口:离线文件用 Reader 读,在线行情用 Quotes 取,财务数据用 Affair 拉,输出都是现成的 DataFrame,字节解析、字段对齐这类脏活它替你做了。官方给了一份很短的速查表,可以对着写:docs/quick.md(快速上手)。

📦 环境与安装

装之前先确认环境:mootdx 安装需要 Python 3.8 及以上版本,Windows、macOS、Linux 三个平台都能跑,没有额外的系统级依赖。

# 新手建议 all 模式,依赖一次装齐 pip install -U 'mootdx[all]' # 已有环境时升级 pip install -U 'mootdx'

推荐 all 模式,因为核心功能里混着 tqdm、tenacity 这类依赖,新手缺哪个包都得来回查文档;如果你只用它附带的命令行工具,装mootdx[cli]就够了。

📊 三条取数路径

取数路径按任务选,而不是按 API 名字找:要实时的 A股行情Python接口走路径一,要历史全量数据走路径二,要财报字段走路径三。三条路径的入口类不同,但输出形态一致。

路径一:在线拉实时行情与 K 线

需要盘中实时价或最近几根 K 线时用这条路径,不依赖本地装通达信。

from mootdx.quotes import Quotes client = Quotes.factory(market='std', multithread=True, heartbeat=True) # 实时快照 client.quotes(symbol='600036') # 日 K 线,frequency=9 表示日线 client.bars(symbol='600036', frequency=9, offset=100)

返回的是带 datetime 索引的 DataFrame,列里有 open、high、low、close、vol、amount,拿到就能进回测流程。连接和重试的细节可以看 mootdx/quotes.py(行情源码)。

路径二:读取通达信本地日线文件

做长周期回测、需要的历史比在线接口全时,用 Reader 读本地 vipdoc 目录。这是最典型的通达信日线读取场景,一次把整段历史拿全。

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

tdxdir 指向通达信安装目录就行,内部会自动按 sh/sz 规则去 vipdoc 下匹配 .day 和分钟文件,读出来同样是标准 DataFrame。路径匹配逻辑在 mootdx/reader.py(读取源码)。

路径三:拉财务专题数据

回测要用营收、净利这类财报字段时,用 Affair 从服务器拉财务包,比逐只股票抓网页稳定得多。

from mootdx.affair import Affair files = Affair.files() # 远程文件列表 Affair.fetch(downdir='tmp', filename='gpcw20231231.zip')

files() 返回可下载的压缩包清单,fetch 带进度条落盘;下载完之后用 parse 指定文件名,就能直接解析成表格。

🧮 数据落地与二次加工

数据到手之后基本就是 pandas 的活,mootdx 的输出格式和它无缝衔接。

df = reader.daily(symbol='600036') df['ma5'] = df['close'].rolling(window=5).mean() df.to_csv('600036_daily.csv', index=False)

算均线、导 CSV、做因子,一段代码就收口了;日线自带 date、open、high、low、close、vol、amount 字段,不用自己再对列名。

🧯 避坑与调优

tdxdir 写错会直接抛异常。如果你初始化 Reader 时报"目录不存在",先确认填的是包含 vipdoc 的那一层目录,别指向 vipdoc 本身。

离线数据不会自己更新。本地 .day 文件停在你最后一次用通达信下载数据的那天,跑历史回测前记得核对最新交易日,缺数据就打开客户端补一次下载。

批量取数别裸开多线程。如果你一次要拉几百只股票,给 client 设好 timeout 并控制并发数;另外 K 线单次最多返回 800 条,历史更长要用 start 参数翻页,而不是一次把 offset 调大。

网络抖动用 bestip 换线路。连接偶发超时的话,可以先跑python -m mootdx bestip测出最快服务器再显式传入,初始化时带上 heartbeat=True 也有助于维持长连接。

下一步建议:打开你本地的通达信目录,用 Reader 跑一次reader.daily(symbol='600036'),确认列名和最新交易日期符合预期,再去接后面的回测流程。

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

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

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

不用开窗口也能背单词:ToastFish 让 Windows 通知栏逐条推词

不用开窗口也能背单词:ToastFish 让 Windows 通知栏逐条推词 【免费下载链接】ToastFish 一个利用摸鱼时间背单词的软件。 项目地址: https://gitcode.com/GitHub_Trending/to/ToastFish 周二下午三点,领导正对面坐着,屏幕右下角的任务…

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

应用容器化迁移实战:从应用画像到灰度发布的完整指南

1. 应用容器化迁移的整体思路拆解1.1 为什么“能跑”不等于“该迁”很多团队第一次做容器化迁移,最容易犯的错就是把“把应用塞进镜像里能启动”当成迁移完成。我见过一个典型场景:某公司把一个跑了五六年的单体应用直接打成镜像扔进集群,结果…

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

无名杀:免费开源的网页版三国杀,3条命令开局第一把

无名杀:免费开源的网页版三国杀,3条命令开局第一把 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 无名杀是一个GPLv3协议开源、跑在浏览器里的三国杀类卡牌游戏:内置2000多个武将,全…

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

讯飞实时语音转文字WebAPI在Vue中的实践:从录音到字幕的完整链路

简介:面向Vue.js前端开发者的科大讯飞实时语音转文字WebAPI集成资源,解决在项目中快速接入语音识别能力、实现浏览器端实时音频流转写的需求。压缩包内含8个文件,由7个JavaScript脚本和1个HTML演示页面组成,脚本覆盖SDK封装、音频…

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

VS2010遗留项目实战:配置、编译与调试避坑指南

1. 为什么VS2010至今仍有人在用先把结论摆在前面:VS2010不是一款"过时但还能凑合用"的IDE,它在特定场景下依然是刚需。我接触过不少维护老系统的团队,工控上位机、医疗设备配套软件、部分嵌入式调试工具链,这些项目的代…

作者头像 李华