3 分钟跑通 mootdx:通达信行情、历史与财务数据获取完整指南 3 分钟跑通 mootdx通达信行情、历史与财务数据获取完整指南【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdxmootdx 是一个 Python 通达信数据获取库把通达信协议在线行情、本地历史数据文件和财报压缩包三类数据源统一封装成 pandas DataFrame免去你手写二进制解析。读完本文你可以直接做出批量实时报价、离线日线读取和一套价格突破提醒脚本。一、动手之前把环境备好确认 Python 版本3.8 及以上Windows、macOS、Linux 都能跑。安装依赖pip install -U mootdx[all]准备通达信数据目录离线读取需要vipdoc子目录存在通达信安装后自动生成不装软件时只要目录结构标准即可。测速并锁定服务器结果会自动写入用户目录下的config.jsonpython -m mootdx bestip -v之后创建的行情客户端会自动优先使用测速选出的最优服务器。二、一张表看懂它能干什么能力对应类最小调用适用场景Python 读取通达信行情的实时报价Quotesclient.quotes([000001, 600036])盘中监控、批量取价多周期 K 线Quotesclient.bars(symbol000001, frequency9, offset10)技术指标计算通达信历史数据离线解析Readerreader.daily(symbol600036)回测取数、断网可用通达信财务数据下载与解析AffairAffair.parse(downdirtmp)基本面数据入库最小示例两行各跑一遍就能验证环境from mootdx.quotes import Quotes from mootdx.reader import Reader client Quotes.factory(marketstd, heartbeatTrue) print(client.bars(symbol000001, frequency9, offset3)) # 在线日 K reader Reader.factory(marketstd, tdxdirC:/new_tdx) print(reader.daily(symbol000001).tail(3)) # 本地日 Kfrequency9表示日 Koffset指拉取根数单次请求上限 800 根。三、跟做一遍写一个自己的价格突破提醒脚本场景很常见盘中你只想知道自选股有没有涨破最近 20 日最高点而不是每天盯盘。第 1 步一次性拉出全部自选股的实时价为什么这么做实时价只能在线取一次传列表比逐只循环请求快得多。from mootdx.quotes import Quotes client Quotes.factory(marketstd, heartbeatTrue) pool [000001, 000002, 600036, 600519] live client.quotes(pool) # 批量实时报价返回 DataFrame print(live[[code, price]].head())第 2 步离线取每只股票最近 20 日的最高价为什么这么做历史价走本地文件不占网络还方便反复跑。from mootdx.reader import Reader reader Reader.factory(marketstd, tdxdirC:/new_tdx) def high_20(symbol): df reader.daily(symbolsymbol) return df[high].tail(20).max() # 最近 20 个交易日最高价第 3 步对比并打印突破结果为什么这么做提醒逻辑只有一行判断先跑对再谈推送。for code in pool: now float(live.loc[live[code] code, price].iloc[0]) line high_20(code) if now line: print(f{code} 突破 20 日高点: {now} {line})把三步合进一个函数收盘后手动跑一次即可后面接定时任务就是顺手的事。四、新手最容易踩的 3 个坑坑 1连服务器超时或返回空。现象是创建客户端就卡住或bars返回空表。原因多为默认行情服务器拥堵、或tdxdir没指向真正的数据目录目录里必须有vipdoc。对策先跑python -m mootdx bestip -v再创建客户端时加heartbeatTrue保持连接。坑 2一次拿不够 K 线。现象是想要一年日线却只拿到 800 根。原因bars()的单次offset上限就是 800超出部分会被截断。对策需要更长历史时用start参数分段循环拉取再拼接。坑 3在线价和本地 K 线对不上。现象是最后一根 K 线的收盘价与实时价不一致。原因本地.day文件要等通达信软件完成当日同步才会更新跨了除权除息日时口径也不同。对策用最近一个已收盘交易日做交叉核对涉及复权时用项目自带的复权因子工具处理。五、常见问题Q1行情服务器怎么选跑python -m mootdx bestip -v测速最优的 IP 会自动写进配置文件也可以创建客户端时传bestipTrue启动时自动选优。Q2批量请求怎么更快quotes()一次传股票列表减少网络往返bars()把offset调大到单次上限 800别在循环里逐只逐根地取。Q3配置项在哪改集中在用户目录下的config.json数据目录、测速得到的最优服务器、行情服务器池都在里面代码里通过config.set()、config.get()读写逻辑见 mootdx/config.py。Q4数据对不上怎么排查先核对两边的日期行是否一致本地文件可能没同步到最新交易日再确认核对日是否跨了除权除息日最后检查tdxdir是否指对了目录。六、下一步把最小示例跑通Quotes.bars()与Reader.daily()各取一次平安银行对照最后收盘价。把突破提醒脚本换成你自己的股票池挂上定时任务每天自动跑。读一遍 K 线拉取与重连的实现见 mootdx/quotes.py配套用例在tests/quotes/目录是最好的参照。仓库地址https://gitcode.com/GitHub_Trending/mo/mootdx 需要 clone 时使用。遇到问题想找人一起看扫码进交流群环境问题有人替你盯。现在就跑一遍最小示例三分钟见分晓。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考