news 2026/10/21 1:23:13

3行代码免费接入Python通达信数据接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3行代码免费接入Python通达信数据接口

3行代码免费接入Python通达信数据接口

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

mootdx 是一个 Python 通达信数据接口,替量化新手和投研脚本省掉自己解析行情协议、手写 socket 的脏活。装完一行命令,3 行代码就能把沪深 K 线装进 DataFrame,全程不用注册、不用付费。

📦数据到手前先过这三关

你正在给策略补回测数据,手头只有通达信客户端里那一堆.day文件,或者打算对着别人的协议笔记手写 socket 解析。结果字节序和结构体对了一晚上,还没跑通第一只票。mootdx 把这条链路整个包掉:client.bars()一行拉回标准 DataFrame,列名就是open、close、volume这些熟面孔。

你正在盯盘,想要一批股票的实时买卖五档。行情类接口要么排队申请,要么花钱。Quotes客户端直连行情服务器,quotes()一次传多只代码,五档报价直接落表,脚本里循环着拉就行。

你正在做基本面研究,发现财报数据散落在各种压缩包和网页里。Affair模块能把通达信财务数据文件整个目录批量拉到本地,配合parse()自动解包,不用自己翻文件清单。

没用它之前用了它之后
手工解析 .day 二进制文件一行调用直接返回 DataFrame
手写 socket 对接行情协议工厂方法自动选服务器直连
财务数据逐个手动下载解压一个参数批量落地本地
服务器 IP 靠人肉找内置测速自动挑最快节点

📦一条命令装完,3 行代码出数据

pip install 'mootdx'

只装核心依赖;分不清依赖关系的话用全量版,连命令行工具一起带上:

pip install 'mootdx[all]'

下面这段最小示例,作用是把茅台最近 10 根日 K 线拉出来:

from mootdx.quotes import Quotes # market='std' 走沪深股票市场 client = Quotes.factory(market='std') df = client.bars(symbol='600036', frequency=9, offset=10) # 9 = 日K print(df)

跑通后你会看到一张按日期倒序的表,包含open、high、low、close、vol、amount这些列。原理一句话:本质是封装了通达信私有协议,由Quotes客户端直连官方行情服务器取数,首次创建时还会自动测速选最快的服务器。

📦数据面比你想象的大:6 类数据各一行代码

日周月全周期 K 线:策略取数的主力接口,frequency换周期、start/offset控制窗口。

df = client.bars(symbol='600036', frequency=9, offset=10) # 日K # frequency 可换 0=5分钟、3=小时、5=周K、6=月K、11=年K

实时盘口五档:一次传多只代码,批量取买卖五档和最新价。

df = client.quotes(symbol=['000001', '600300'])

指数 K 线:上证指数、深证成指这类走指数专用通道。

df = client.index(symbol='000001', frequency=9)

当日分时:盘中走势曲线,盯盘脚本常用。

df = client.minute(symbol='600036')

财务数据文件:不返回表,而是把通达信财务数据源文件整个拉到本地。

from mootdx.affair import Affair Affair.parse(downdir='tmp') # 批量下载并解包财务数据

离线兜底:不联网也能读本地日线

客户端断网、或者只想读机器上已经缓存好的数据时,Reader直接指向通达信的本地目录,零网络请求:

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

💡3 个真实用法,数据才算落地

策略回测取整段历史

  • 要解决的:回测要连续几年的日线,不能一次只拿一小段。
  • 关键思路:start+offset分页滚动拉,拼成一张完整 DataFrame。
  • 核心代码行:
hist = client.bars(symbol='600036', frequency=9, start=0, offset=800)

盘中看板刷新行情

  • 要解决的:盯多只票的盘口,不想手动刷新页面。
  • 关键思路:quotes本来就支持一次传列表,套个定时循环就是看板。
  • 核心代码行:
client.quotes(symbol=['000001', '600036', '002594'])

批量财报做基本面筛选

  • 要解决的:想按 ROE、毛利率筛一批票,得先有原始财务文件。
  • 关键思路:Affair批量下载落地,再逐包拼表、用 pandas 过滤。
  • 核心代码行:
Affair.parse(downdir='data/cw')

🐛4 个高频坑 + 2 个提速点

  • 症状:第一次初始化Quotes.factory特别慢。根因:首次会遍历内置服务器列表测速选优,之后走缓存。修复:别盯着看,等它跑完一次即可;想手动刷新就传bestip=True。
  • 症状:一次拉不到想要的 K 线条数。根因:通达信协议单次最多 800 条。修复:start往后翻页循环拉,再pd.concat拼起来。
  • 症状:M1/M2 Mac 上部分依赖装不起来。根因:py_mini_racer对 Apple 芯片支持不好。修复:跳过用到它的功能,主流程行情读取不受影响。
  • 症状:跑久了连接断了、返回空数据。根因:行情服务器长连接容易掉线。修复:Quotes.factory(market='std', heartbeat=True)开心跳保活。

提速两个点:

# 批量拉多只票,并行请求 client = Quotes.factory(market='std', multithread=True)
# 数据量大时先落本地,离线读缓存 df = Reader.factory(market='std', tdxdir='C:/new_tdx').daily(symbol='600036')

📎想再深一步?

  • 源码关键文件:行情客户端、本地数据读取器、财务数据模块、CLI 入口
  • 示例代码:基础行情、基础读取、复权示例
  • 官方文档:快速入门、API 接口说明
  • 问题反馈:GitHub Issues

装完包,跑起来,K 线、盘口、财务数据就都在你的 DataFrame 里了。所有数据仅供学习研究,不构成任何投资建议。

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

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

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

深度解析ChatGPT-Midjourney:从零开始构建AI创作平台的终极指南

深度解析ChatGPT-Midjourney:从零开始构建AI创作平台的终极指南 想要拥有自己的AI创作平台吗?ChatGPT-Midjourney项目让你一键搭建专属的AI助手服务,结合ChatGPT的对话能力和Midjourney的图像生成技术。这个开源项目为开发者和AI爱好者提供了…

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

固定电压基准双运算放大器D4310

在电源管理和数据采集系统中,运算放大器与电压基准是不可或缺的关键元件。D4310 集成了一个独立的运算放大器和一个带有 2.5V 固定电压基准的运算放大器,为工程师提供了高效、灵活且节省空间的设计方案。产品简介D4310 是一款单片集成电路,包…

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

FreeRTOS重新学习

2025/5/4重启韦东山老师RTOS 1、重新复习韦东山老师:韦东山freeRTOS快速入门视频教程。 链接: 01_单片机_RTOS_架构的概念_哔哩哔哩_bilibili 韦东山老师此教程:视频基于Keil自带的STM32F103模拟器,可以让你0硬件成本掌握Free…

作者头像 李华