用Python免费拉取A股行情与财务数据:MOOTDX实操指南

📅 2026/8/27 2:13:17
用Python免费拉取A股行情与财务数据:MOOTDX实操指南
用Python免费拉取A股行情与财务数据MOOTDX实操指南【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx当你需要批量拉取A股前复权K线或者想把通达信本机缓存的日线文件直接读进 pandas 时Python通达信数据接口 MOOTDX 可以把这些动作压缩到几行代码内完成。 它到底能干什么MOOTDX 是对通达信数据协议的一层轻量封装数据通道直连通达信官方行情服务器返回字段与通达信客户端保持一致。它能做的具体动作创建行情客户端在线拉取K线、指数、分时数据读取本地通达信数据目录下的日线、分钟线文件批量下载通达信财务数据包历史财报、财务指标文件此外Quotes.factory(marketstd)对应沪深股票标准市场marketext对应期货、黄金等扩展市场同一套 API 覆盖两类数据源。⚡ 装好就跑最短安装命令含全部扩展依赖pip install mootdx[all]最短可运行代码Python 版本要求 3.8 及以上from mootdx.quotes import Quotes client Quotes.factory(marketstd, quietTrue) df client.get_k_data(600036, adjustqfq) print(df)运行后终端会输出一个 DataFrame包含 date、open、high、low、close、vol、amount 等列日期列自下而上排列行数由offset参数控制默认 80 根。 三个真实任务场景一拉历史K线做策略回测你要做的事拿某只股票的完整前复权日线验证一个均线交叉策略。写这两行代码df client.get_k_data(600036, adjustqfq) print(df.tail())拿到的结果按日期升序的 DataFrameadjustqfq表示前复权价格序列已按除权除息调整过可以直接计算收益率和滚动指标不用自己再处理一次复权。场景二离线读取本机通达信缓存如果你电脑上装过通达信软件数据目录里已经有现成的.day文件完全不必再走网络。创建 Reader 时把tdxdir指向你的数据目录例如C:/new_tdxLinux 下换成实际安装路径即可from mootdx.reader import Reader reader Reader.factory(marketstd, tdxdirC:/new_tdx) print(reader.daily(symbol600036).tail()) print(reader.minute(symbol600036).tail())结果同样是 DataFramedaily读日线、minute读分钟线另外reader.fzline(symbol600036)读分时数据。整个过程零网络请求适合断网环境或不想占用行情连接的场景。场景三批量下载财务数据包你要做的事把通达信服务器的财务数据包拉到本地供后续做基本面筛选。先调Affair.files()查看远程文件清单返回文件名、大小、hash 三列再调Affair.fetch(downdirtmp)下载全部文件或者传filename参数只下单个包例如Affair.fetch(downdirtmp, filenamegpcw19960630.zip)。落地的是 zip 文件解压后即可按股票代码定位对应的财报数据。 为什么这样设计通达信行情服务器分布在全国不同机房同一个接口在你这儿的延迟可能是 0.13ms换一家就是 0.69ms选错服务器是超时和丢包的主要来源。mootdx 因此内置了 bestip 测速机制python -m mootdx bestip -vv终端会按耗时升序列出可用 IP例如北京联通主站Z2 202.108.253.131:7709 0.13ms。加上-w参数后最快的那个 IP 会被写进~/.mootdx/config.json后续所有连接自动走这个节点省掉手工挑服务器。另一层考量是长任务性能Quotes.factory的multithreadTrue让多只股票的查询并发执行heartbeatTrue维持连接保活长时间批量拉取时不必反复建连。两者都只在创建客户端时传参调用bars、minute、index的代码不用改。 踩坑速查现象连接服务器超时、请求被拒报错带 timeout 字样。原因默认命中的服务器节点离你所在网络偏远延迟高到触发超时阈值。解法跑python -m mootdx bestip -v -w让最优 IP 落盘到~/.mootdx/config.json再重试。现象M1/M2 架构的 Mac 上导入报 py_mini_racer 相关错误。原因mootdx[all]携带的 py_mini_racer 依赖在 Apple Silicon 上无法编译。解法改用pip install mootdx装核心依赖或在 Linux 机器上运行完整安装。现象get_k_data或bars返回的行数比预期少。原因offset参数控制单次返回的K线根数默认值只有 80。解法显式传offset500之类的更大数值或分页循环拉取后拼接。现象查某只股票返回空数据或提示代码不存在。原因market参数与代码类型不匹配沪深股票必须用std。解法期货、黄金等品种改用marketext重建客户端沪深A股保持std。 接下来看什么docs/quick.md每个接口的最短可复制片段离线、在线、财务三条路线全覆盖读完能解决我该怎么起步。sample/basic_quotes.py在线行情最小完整示例对照它能解决参数默认值到底是什么。docs/cli/mootdx命令行子命令手册读完能解决不写 Python 脚本、直接终端批量拉数据的问题。先跑通 sample/basic_quotes.py再把你自选的 3-5 只股票换成get_k_data的参数各试一次。数据仅供学习实盘投资请咨询专业人士。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考