news 2026/10/21 1:34:17

用 mootdx 三步拉通 A 股行情数据:新手入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 mootdx 三步拉通 A 股行情数据:新手入门指南

用 mootdx 三步拉通 A 股行情数据:新手入门指南

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

想把通达信里的 K 线、分时和财务数据喂进自己的 Python 回测?mootdx 是通达信数据读取的 Python 封装,把在线行情和本地离线文件都变成几行调用,适合有编程基础、正在找 A 股数据源的新手和普通开发者。

下面按"装好 → 跑通 → 避坑 → 进阶"的顺序走一遍,全程以沪深标准市场为例,所有代码都可以直接复制执行。

快速上手:三分钟拉出第一组 A 股 K 线

pip install -U 'mootdx'
from mootdx.quotes import Quotes client = Quotes.factory(market='std', quiet=True) print(client.bars(symbol='600036', frequency=9, offset=10))

上面完成了安装和第一次取数:market='std'表示标准股票市场,bars按日 K(frequency=9)取最近 10 条。返回的是标准 pandas DataFrame,包含日期、开高低收、成交量这几列,拿到手就能直接算指标。

核心功能速览:通达信数据的四个主要入口

在线实时行情—— 场景:盘中看自选股价格和涨跌幅;能力:一次批量取多只股票,K 线支持复权;入口是 mootdx/quotes.py 的Quotes.factory:

client.quotes(symbol=['000001', '600300']) # 多只股票实时行情 client.bars(symbol='600036', adjust='qfq') # 前复权日 K

离线历史数据—— 场景:回测需要本地已有数据;能力:直接解析通达信终端vipdoc目录下的.day、.lc1文件;入口是 mootdx/reader.py 的Reader.factory:

reader = Reader.factory(market='std', tdxdir='C:/new_tdx') reader.daily(symbol='600036') # 日线 reader.minute(symbol='600036') # 1 分钟线

财务数据—— 场景:基本面分析要历史报表;能力:远程文件列表、下载、解析gpcw系列 zip 包并导出 CSV;入口是 mootdx/affair.py:

from mootdx.affair import Affair files = Affair.files() data = Affair.parse(downdir='output', filename='gpcw20170930.zip') data.to_csv('gpcw20170930.csv')

命令行导出—— 场景:不想写代码,只想把数据落到文件;能力:reader/quotes/bestip三个子命令覆盖离线读取、在线行情和测速,详见 docs/cli/reader.md 和 docs/cli/bestip.md。

典型使用场景

用命令行把本地日线批量导出成 CSV

数据已经同步到本地(比如装过通达信终端)时,一条命令直接出文件,跑完后工作目录会生成dt.csv,可以直接丢给 pandas 或 Excel:

mootdx reader --tdxdir C:/new_tdx -s 600036 -a daily -o dt.csv

-a参数支持daily(日线)、minute(一分钟线)、fzline(五分钟线)三种,换股票只改-s即可。

在 Python 里批量监控自选股异动

盘中监控不想为每只股票单独建连接,quotes支持一次传入多个代码。跑完后终端会打印出触发预警的股票名、价格和涨跌幅:

from mootdx.quotes import Quotes client = Quotes.factory(market='std', multithread=True) df = client.quotes(symbol=['000001', '600300', '600036']) for row in df.to_dict('records'): # 涨跌幅绝对值超过 3% 就预警 if abs(row['change_percent']) > 3: print(row['name'], row['price'], row['change_percent'])

常见问题与踩坑记录

连接超时或找不到可用服务器

现象:首次连接报超时,或日志里一片"验证失败"。原因:服务器列表里有失效节点,本地还没测过最优 IP。解决:先跑python -m mootdx bestip -vv,加-w参数会把最快服务器写入配置文件~/.mootdx/config.json,见 docs/cli/bestip.md。

单次 K 线拉取条数有上限

现象:offset给 1000 也只返回 800 条。原因:接口单次offset上限就是 800,源码里做了截断。解决:用start参数翻页继续取更早的数据,或者直接用离线Reader读本地.day文件拿完整历史。

M1 Mac 上 PyMiniRacer 不可用

现象:在 M1 Mac 上使用相关依赖时 PyMiniRacer 报错。原因:该库尚未适配 Apple Silicon 架构。解决:README 已将其列为已知问题并指向上游 issue,M1 用户可换 x86 的 Python 环境运行。

进阶:性能与生态对接

如果你只是跑个 demo 或做一次性分析,可以跳过本节。

  • 最优服务器 + 多线程 + 心跳:bestip=True会先测速再连接,multithread支持批量请求,heartbeat保持长连接不掉线:

    client = Quotes.factory(market='std', bestip=True, multithread=True, heartbeat=True, timeout=15)
  • pandas 结果缓存:mootdx/utils/pandas_cache.py 提供pd_cache装饰器,把 DataFrame 落盘缓存并支持过期时间,适合反复拉取同一批股票的脚本。

  • 复权与框架对接:bars和k都支持adjust='qfq'/'hfq'直接拿复权价,mootdx/utils/adjust.py 还封装了外部复权因子来源;所有接口返回标准 DataFrame 🚀,可以直接接 backtrader 等回测框架的数据源。

延伸资源与收束

  • 快速上手:docs/quick.md
  • 标准行情接口全参数:docs/api/quote1.md
  • 离线数据接口:docs/api/reader.md
  • 财务数据字段对照:docs/api/fields.md
  • 可运行示例与测试用例:sample/、tests/

mootdx 最适合手里有通达信数据、想让 Python 脚本直接吃数据的个人量化开发者。下一步建议先从Reader把本地vipdoc目录接进自己的回测流程,跑顺之后再叠加在线行情和财务数据。

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

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

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

AI大模型与智能监控的融合:开启安防新时代

引言 在数字化浪潮席卷全球的今天,AI大模型技术与智能监控系统的结合正在重塑安防行业的格局。本文将为您揭示这一技术融合如何为城市管理、企业安全和家庭防护带来革命性变革。一、AI大模型:为监控系统装上"智慧大脑" 传统监控系统受限于简单…

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

[deprecated]第四章:TTM分析: 4.2.1 存储分配ttm_bo_validate功能实现分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

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

容器化迁移实战:从能跑到跑得漂亮的标准化与分层策略

1. 从“能跑就行”到“跑得漂亮”:应用容器化迁移的真实门槛很多团队第一次做容器化迁移,脑子里想的都是“把应用塞进镜像里,能跑起来就完事了”。我见过太多这样的案例:一个跑了三年的Java单体应用,运维同学花了一下午…

作者头像 李华