news 2026/8/27 8:39:11

Python通达信数据接口 MOOTDX:三步拉通 A股K线数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python通达信数据接口 MOOTDX:三步拉通 A股K线数据

Python通达信数据接口 MOOTDX:三步拉通 A股K线数据

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

晚上复盘想批量拉沪深两市的日线,商业数据源按月收费,免费接口又要自己啃二进制协议。MOOTDX 是一个 Python通达信数据接口封装,直连通达信行情服务器,免费把 A股行情、K线数据和财务信息拉成 DataFrame。

三步跑通第一次调用

装依赖

mootdx 本体依赖不多,但带完整功能的那组依赖更省心,一行装完:

pip install 'mootdx[all]'

建客户端,拿到第一份 K线数据

标准市场客户端只需要一个工厂方法,不用配 IP、不用写协议字段。barsfrequency=9对应日线,offset控制往前取多少根:

from mootdx.quotes import Quotes client = Quotes.factory(market='std') df = client.bars(symbol='600036', frequency=9, offset=10) # 最近10根日线 print(df)

跑完能看到 open、close、high、low、vol 这些列,说明整条链路已经通了。

它真正擅长的三件事

A股行情获取:bestip 自动挑最快服务器

通达信行情靠一堆免费公共服务器撑着,哪台快哪台慢并不固定,手动写死 IP 很容易踩雷。mootdx 内置了测速选服逻辑,在工厂方法里加一个参数就行:

client = Quotes.factory(market='std', bestip=True) # 创建前先测速选最快节点

平时也可以在命令行里跑python -m mootdx bestip -vv看看当前各节点的延迟。实际效果是:换网络、换机器之后,通常一行配置都不用改。

不同周期的 K线数据,换一下调用方式就切换

新手最容易卡住的地方是"日线、分钟线、指数到底各走哪个接口"。mootdx 把这些整理成了同一套 client 上的方法:日线用bars(symbol, frequency=9),分钟线用client.minute(symbol='600036'),指数行情用client.index(symbol='000001', frequency=9)。你不需要去翻通达信协议文档里那些周期编号,想切周期就换个方法名。

离线读本地数据:盘后不用挂连接

如果你本机装过通达信,.day.lc1这类文件已经躺在数据目录里了,Reader 可以直接把它们读出来,完全不走网络。适合做盘后批量整理:

from mootdx.reader import Reader reader = Reader.factory(market='std', tdxdir='C:/new_tdx') print(reader.daily(symbol='600036')) # 本地日线

网络行情接口和离线读取走的是同一个 DataFrame 结构,同一段处理代码两边都能接。

一条完整工作流走一遍

免费股票数据:日线 → 20 日均线 → CSV

场景很典型:拿 600036 近两年日线,算一根 20 日移动平均,导出 CSV 给别的回测脚本用。

先拉数据。k方法接受开始和结束日期,内部按每次 800 根自动翻页再拼接,两年多的数据不用你自己管分页:

from mootdx.quotes import Quotes client = Quotes.factory(market='std') df = client.k(symbol='600036', begin='20240826', end='20260826') # 近两年日线 df['ma20'] = df['close'].rolling(20).mean() df.to_csv('600036_daily.csv', index=False)

再算什么、最后导出什么,就在同一块里顺手做掉了。跑完打开 CSV,日期、开高低收、成交量之外多了一列 ma20,从拉数到出表就这几行。

用之前先知道的几件事

这几个提醒都是实际用起来会碰到的,记一下能少走弯路:

  • 股票代码必须是 6 位字符串,'600036'对,'SH600036'这种带前缀的写法不认。
  • 公共服务器响应有波动,首次连接偶发超时,库内部带了重试,连续失败就重建一次 client。
  • bars返回的是未复权价,回测如果跨了除权除息日,要先处理复权再算指标,否则均线会被除权缺口打穿。
  • 依赖里有 pandas 和 tdxpy,建议放虚拟环境里装,别和手头其他项目的依赖互相打架。

接下来往哪走

想再深入一点,三个入口就够:

  • 选服、离线读取、财务数据下载的完整写法在 docs/quick.md
  • 各种用法的可运行示例放在 sample/ 目录,basic_quotes.py、basic_reader.py 最值得先看
  • 接口参数细节查 docs/api/ 下的分模块文档

把上面那段工作流跑一遍,CSV 里多出 ma20 列,就说明整条链路通了。

仅供学习,不构成投资建议

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

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

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

自制多功能DDS信号发生器:从原理到实战全流程解析

工具柜里常年放着好几台测试仪器的人,大概率都经历过同一个尴尬时刻:测音频电路想扫个频响,手边只有固定输出的电源;调数字板卡需要逻辑脉冲,翻出来的函数发生器又只能出正弦;好不容易找到一台能调波形的&a…

作者头像 李华
网站建设 2026/8/27 8:34:41

GPT-5.6 Sol API 降价背后:调用策略与成本优化实战指南

最近一段时间,开发群里出现频率很高的一句话是:“OpenAI 下调 GPT-5.6 Sol API 价格。”看到这种消息,我的第一反应不是开心,而是先去翻自己项目的账单,再去看调用日志里那些因为成本限制被砍掉的模块。任何一个靠 API…

作者头像 李华
网站建设 2026/8/27 8:30:53

STM32输入捕获原理与实战:精准测量PWM脉宽和频率

1. 项目概述:为什么输入捕获是STM32开发中绕不开的硬功夫 “刘刘 STM32学习日记(八)输入捕获”这个标题看似平淡,但背后藏着一个绝大多数初学者踩坑、中级开发者调参到凌晨、资深工程师仍需反复验证的核心外设能力—— 输入捕获&…

作者头像 李华
网站建设 2026/8/27 8:28:17

谷歌项目管理 V 笔记(二)

在利益相关者间建立共同所有权。 如果你决定在DevOps框架中追求项目经理的角色,你将踏入敏捷方法的未来以及正在改变世界的大规模软件系统领域。 敏捷的下一个前沿:业务敏捷性 敏捷的下一个前沿领域之一是业务敏捷性。这涉及将敏捷原则融入更广泛的管…

作者头像 李华