QMT 批量下载数据攻略 | Python 函数一键搞定!多品种 + 自定义周期,效率拉满
- 2026-09-16 22:47:00
QMT 批量下载数据攻略 | Python 函数一键搞定!多品种 + 自定义周期,效率拉满





做量化交易时,手动下载成百上千只股票的数据太耗时?其实 QMT 早就支持 Python 批量下载功能!用 download_history_data 函数,就能自动遍历品种列表、自定义时间范围,还能实时查看下载进度,新手也能快速上手~ 今天把详细教程整理好了,代码 + 注意事项全解析,收藏起来直接用! 📌 核心下载函数 批量下载的核心是调用 QMT 内置的 download_history_data 函数,参数简单易懂,按需配置即可: 
⚠️ 注意:参数顺序不能乱,证券代码和周期为必填项,日期可根据需求省略(默认全量下载)。 🚀 实战示例代码 下面的代码可直接复制到 QMT 策略编辑器,修改股票列表、周期和日期就能运行,还自带下载进度提示,清晰掌握进度~ 代码使用指南 打开 QMT 客户端 → 进入策略编辑器 → 新建 Python 策略; ⚠️ 关键注意事项 1、数据周期合成规则(核心!) QMT 的非基础周期数据需要基于基础数据合成,直接下载非基础周期会失败,记住这 3 点: 2、下载时间限制(避免白跑!) 3、权限与兼容性问题 📱 辅助工具 如果不想写代码,也可以用 QMT 客户端的可视化功能批量下载: 💡 实用小技巧 1、批量添加品种 如果需要下载全市场 A 股,可通过 QMT 的 get_instrument_list 函数获取全市场代码,无需手动输入; 2、数据备份 下载的数默认存在 QMT 安装目录,建议定期备份到其他磁盘,避免意外丢失; 3、错误排查 若下载失败,先检查代码(品种后缀、周期格式),再检查网络和 QMT 版本(更新到最新版可解决大部分兼容性问题)。 用 Python 批量下载 QMT 数据,核心是掌握 download_history_data 函数的参数配置和数据合成规则,上面的示例代码可直接套用,修改参数就能满足多品种、多周期的下载需求~ 如果在使用中遇到代码报错、下载失败等问题,欢迎在评论区留言交流~ 觉得有用的话,别忘了点赞收藏,转给身边做量化的朋友呀! 
QMT 数据下载保姆级教程 | 客户端 + 代码双路径,交易回测不缺数据! 【新手必读】2025年最全证券开户攻略:从入门到精通,手把手教你选对券商、省心又省钱 QMT 日内回转策略攻略:T+0 高抛低吸,震荡行情这样赚差价! QMT 多因子选股回测攻略:从代码到绩效分析,新手也能玩转量化! PTrade 量化必看!get_history 轻松搞定股票历史 K 线数据 











欢迎扫码咨询
股票、两融、量化、基金等业务

惊喜佣金等你来



# coding:gbkimport numpy as npdefinit(C):# 1. 自定义配置参数(根据需求修改!)code_list = ["000001.SZ", "600519.SH", "110052.SH", "300750.SZ"]# 股票、可转债、ETF等品种列表period = "1m"# 数据周期:tick=分笔、1m=1分钟、5m=5分钟、1d=日线start_date = "20241001"# 开始日期(空字符串""表示从最早数据开始)end_date = ""# 结束日期(空字符串""表示下载到最新交易日)# 2. 调用批量下载函数my_download(code_list, period, start_date, end_date)defmy_download(stock_list, period, start_date="", end_date=""):'''批量下载函数:自动遍历品种,显示下载进度'''# 第一步:确定基础数据周期(QMT数据合成规则,避免下载失败)if"d"in period:# 日线及以上周期(如1d、1w、1m)base_period = "1d"elif"m"in period:# 分钟周期ifint(period.split("m")[0]) < 5:# 1-4分钟周期,基于1分钟数据合成base_period = "1m"else:# 5分钟及以上分钟周期(如5m、15m),基于5分钟数据合成base_period = "5m"elif period == "tick":# 分笔数据base_period = "tick"else:print("❌ 周期输入错误!支持:tick/1m/5m/1d/1w/1m")return# 第二步:遍历品种列表,逐一下载total = len(stock_list)for i, stock_code inenumerate(stock_list, 1):print(f"📥 正在下载 {i}/{total}:{stock_code}(周期:{period})")# 调用QMT内置下载函数download_history_data(stock_code, base_period, start_date, end_date)print("\n🎉 所有品种下载完成!")
复制上述代码粘贴到编辑器; 修改 code_list(添加要下载的品种代码)、period(数据周期)、start_date/end_date(时间范围); 点击 “运行”,即可自动批量下载,控制台会显示实时进度。
1-4 分钟数据(如 2m、3m):需下载 1 分钟基础数据,系统自动合成; 5 分钟及以上分钟数据(如 15m、30m):需下载 5 分钟基础数据,系统自动合成; 日线及以上数据(如周线、月线):需下载日线基础数据,系统自动合成; 分笔(tick)数据:直接下载,无需合成。
tick 分笔数据:仅支持下载最近 1 个月的历史数据; 分钟线数据:支持最近 3 个月 - 1 年(根据品种不同略有差异); 日线数据:支持最近 1-3 年的完整数据; 下载时机:盘中下载占用带宽,速度慢易断连,建议盘前(9:00 前)或盘后(15:30 后)操作。
测试环境限制:模拟盘 / 测试环境可能无法下载港股通、期权、期货等品种数据,实盘环境可正常下载; 品种后缀规范:必须带市场后缀(如.SZ/.SH),否则会识别失败; 数据完整性下载后可在「设置→数据管理→补充数据」中校验,缺失数据可手动补充。
登录 QMT → 顶部菜单栏「设置」→「数据管理」; 切换到「补充数据」→ 勾选目标市场 / 品种(支持批量选择); 选择时间范围和周期 → 点击「执行下载」。

往期推荐




欢迎扫码咨询
股票、两融、量化、基金等业务

惊喜佣金等你来



点个在看你最好看

本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。