
三行代码拿到A股行情Python通达信数据读取库mootdx实战指南【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx周一早上九点十五分我想看看自选股里那几只票的近期走势结果翻了三个软件一个要手动刷新一个只给最近三十天K线还有一个历史数据要付费才能导出来。更别提想做点量化回测时历史数据的格式五花八门清洗就得花一下午。后来我换了个思路数据不都在通达信里吗能不能直接把它读出来还真有现成的轮子——mootdx一个专门做通达信数据读取的 Python 库。这篇指南会带你走完从安装到拿到第一批数据的全流程全程十分钟以内不需要装通达信软件本身。先讲个真实场景数据到底从哪来先说清楚痛点在哪。做股票分析数据来源无非几条路免费的在线接口经常失效、数据延迟高付费接口一年几千块个人玩家肉疼自己下载通达信软件里的.day二进制文件吧那格式又没人给你文档。我最早就是第三种情况的受害者明明本地有一堆通达信数据文件却只能看着它们干瞪眼就像手里有本外文书但缺个翻译。mootdx 就是这个翻译官。它把通达信那套复杂的二进制协议和文件格式全部封装好你只需要写几行 Python就能把行情、K线、财务数据一股脑拿出来还自动整理成 Pandas DataFrame——也就是说数据到手就能直接算指标、画图、喂给回测框架中间不掺一点杂质。凭什么是它三个关键词看懂mootdx的核心能力不需要逐个 API 背诵记住下面三件事你就掌握了这个库的骨架线上行情通过Quotes连接通达信行情服务器拿实时报价、日K/分钟K、分时线、指数、分笔成交断线了还会自动重连。适合做盯盘工具、价格提醒这类需要活数据的场景。离线读取通过Reader直接读你本地的通达信数据目录就是软件安装后那个vipdoc文件夹日线、分钟线、时间线都能解析。适合回测和批量历史分析速度快且不依赖网络。财务数据通过Affair把通达信的财务报告文件资产负债表、利润表那套下载并解析成规整表格。选股看基本面时特别省事。另外它自带命令行工具不想写代码也能导出数据、测速选服务器。相比之下自己写协议解析动辄上千行用 mootdx 基本就是拿来即用。三步搞定mootdx安装步骤跑通首个实时行情示例第一步安装。用 pip 一条命令搞定[all]表示把命令行等扩展依赖一起装上新手无脑选这个就好pip install mootdx[all]第二步写三行代码拿实时行情from mootdx.quotes import Quotes # 创建行情客户端std 表示沪深标准市场 client Quotes.factory(marketstd) # 传一个列表可以一次查询多只股票返回 DataFrame df client.quotes([600036, 000001, 600519]) print(df.head())第三步运行。你会看到一张规整的表格里面就是这几只票的最新价、昨收、开盘、最高最低这些字段。没错实时行情示例到这里就跑通了前后也就一分钟。如果想要日K线换一个方法就行# frequency9 表示日线offset 表示取最近多少根 kline client.bars(symbol600036, frequency9, offset30) print(kline)输出是带open / high / low / close / volume的标准 OHLC 表直接拿去做技术分析完全够用。实战演练一收盘后自动整理自选股历史行情行情到手了接下来我通常建议做一件很实用的事把自选股的历史K线批量导出成 CSV存成自己的本地数据库。以后做回测、做筛选都不用再连网。from mootdx.quotes import Quotes client Quotes.factory(marketstd) # 我的自选股列表 watch_list [600036, 000001, 300750, 600519] for symbol in watch_list: # 拉取最近250根日线约一年的交易日 df client.bars(symbolsymbol, frequency9, offset250) # 导出到本地 CSV 文件文件名带上股票代码 df.to_csv(f./data/{symbol}.csv) print(f{symbol} 已导出 {len(df)} 条记录)跑完这个脚本data文件夹里就躺着四份规整的CSV。下次想分析哪只票pd.read_csv直接读进来Pandas 无缝衔接中间不需要任何格式转换。实战演练二给持仓加个价格提醒示例脚本再分享一个我实际用过的场景盯盘太累人干脆写个脚本替我盯着价格到了自动喊我。import time from datetime import datetime from mootdx.quotes import Quotes def monitor(symbol, target_price): 盯住某只股票价格达到目标就提示 client Quotes.factory(marketstd, heartbeatTrue) # 心跳保活 while True: # 取实时快照 row client.quotes(symbol) if row is None or len(row) 0: print(获取失败稍后重试...) else: price row.iloc[0][price] print(f[{datetime.now():%H:%M:%S}] {symbol} 当前价 {price}) # 达到目标价就退出循环 if float(price) target_price: print(f达到目标价 {target_price}该行动了) break time.sleep(30) # 每30秒查一次 # 盯着招商银行突破40元提醒我 monitor(600036, 40)注意这是演示脚本price字段名以你实际打印出的列名为准。思路本身很简单轮询 条件判断。想升级成每天收盘后把提醒汇总发给自己加个定时任务就行。进阶小贴士让通达信数据读取更顺手的几个技巧实践出真知这几个技巧是我实际使用中发现最值钱的先测速再连服务器。行情服务器有快有慢跑一句python -m mootdx bestip -vv让库帮你测出当前最快的节点之后Quotes.factory(bestipTrue)就会自动用上。长连接配置要开。Quotes.factory(marketstd, heartbeatTrue, multithreadTrue, timeout15)这四个参数建议常驻心跳防掉线、多线程提速、超时兜底。复权数据有现成接口。回测最怕除权除息导致的价格跳变mootdx 的k、ohlc接口支持前复权xdxr方法还能直接读除权除息明细别自己手动算了。命令行也能导出数据。偶尔不想开编辑器直接python -m mootdx quotes -s 600036 -a daily -o 600036.csv就把日线存成文件了。离线读取时目录要对。Reader.factory(marketstd, tdxdir你的通达信安装目录)数据会从vipdoc/sh/lday/这类路径下自动找文件目录填错会直接报错。新手FAQ这几个坑我替你踩过了Q必须安装通达信软件才能用吗A分情况。用Quotes走线上行情什么都不用装用Reader读离线数据只需要通达信的数据文件目录可以是别人拷贝给你的不需要软件本身。Qtdxdir 到底填什么路径A填通达信安装根目录比如 Windows 下常见的C:/new_tdx。判断标准很简单这个目录下有没有vipdoc文件夹。Q连不上服务器、超时怎么办A先跑python -m mootdx bestip -vv更新最佳服务器再把timeout调大到 15 或 30。还不行就检查网络环境有些网络会屏蔽行情端口。Qfrequency9 是什么意思AK线的周期编号。9 是日线另外还支持分钟线和周月线具体编号对照可以看文档里utils.get_frequency的说明。Q返回的数据是实时的吗A线上接口以行情服务器推送为准日常盯盘够用。要求更严格的实时性建议结合自己的交易柜台数据源。Q能在 Mac 或 Linux 上跑吗A能mootdx 全平台可用Python 3.8 以上都支持不需要 Windows。资源与延伸文档、示例和社区看完文章想继续深挖这几个入口都是项目自带的值得收藏快速上手文档docs/quick.md命令和示例最全项目使用说明README.md安装和基础用法都在里面可直接运行的示例脚本sample/覆盖行情、读盘、财务、复权等场景API 接口文档docs/api/想深入每个方法时翻这里测试用例tests/既是质量保证也是学习最佳写法的范本遇到问题想找同路人聊聊扫上面的二维码进社区交流。下一步行动到这里通达信数据读取对你来说已经不是黑盒了线上拿实时行情、线下读历史文件、顺手下几个财务报告全部加起来不到一百行代码。我建议你现在就做三件事把示例仓库克隆到本地跑通sample/basic_quotes.py这个实时行情示例然后试着改一改watch_list换成你自己的自选股。仓库地址克隆用git clone https://gitcode.com/GitHub_Trending/mo/mootdx数据不会自己跑到你桌上但读了这篇文章你已经知道怎么伸手去拿了。动手吧你的第一份K线数据正在等你。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考