🚀 AI 一键生成 qmt 策略代码

QMT量化平台:如何修改xtdata历史数据下载存放目录解决磁盘爆满

qmt | 发布时间: 2026/5/21
以下内容由 EasyQuant 生成。

问题描述

如何指定xtdata.download_history_data2下载数据的存放目录

请问,原来安装 qmt 的磁盘空间不够了,如何能指定 xtdata.download_history_data2 下载的数据存放到其它更大的盘的目录?windows 11,python 环境。

谢谢!

解决方案

在Windows 11环境下使用QMT(迅投/国信等)的 xtdata 下载历史数据时,随着数据量增加,默认安装盘(通常是C盘或QMT安装盘)很容易出现空间不足的情况。要将 xtdata.download_history_data2 下载的数据存放到其他更大的磁盘目录,主要有以下几种行之有效的方法:

方法一:使用 Windows 目录软链接(最推荐,无需改代码)

这是最安全且最通用的方法。通过Windows自带的 mklink 命令,你可以将数据实际存放在大容量磁盘(如D盘),但让QMT和Python“以为”数据还在原来的位置。这样完全不需要修改任何代码。

操作步骤:

  1. 找到默认数据目录
    通常 xtdata 的数据会存放在QMT客户端安装目录下的 userdata_mini 文件夹中(例如 C:\国信QMT\userdata_mini),或者在你Python环境的 xtquant 库目录下。
  2. 移动数据到新盘
    将整个数据文件夹(例如 userdata_mini)剪切并粘贴到你的大容量磁盘,例如 D:\QMT_Data\userdata_mini
  3. 创建目录软链接(目录联接)
    • 点击Windows开始菜单,搜索 cmd,右键选择**“以管理员身份运行”**。
    • 在命令行中输入以下命令(请根据你的实际路径替换):
      mklink /J "C:\国信QMT\userdata_mini" "D:\QMT_Data\userdata_mini"
      
    • 看到提示“为 xxx <<===>> xxx 创建的联接”即表示成功。

现在,当你运行 xtdata.download_history_data2 时,数据会自动写入D盘,但程序读取时依然通过C盘的快捷方式读取,完美解决空间不足问题。

方法二:在代码中指定 xtdata 的数据目录

如果你使用的是独立的 xtquant 包,部分版本支持在代码初始化时直接指定数据存放路径。

操作步骤:

在调用任何下载或获取数据的函数之前,先设置 data_dir 属性:

from xtquant import xtdata

# 指定新的数据存放目录(确保该目录已存在或有权限创建)
xtdata.data_dir = 'D:\\QMT_Data\\xtdata_history'

# 然后再执行下载操作
xtdata.download_history_data2(
    stock_list=['000001.SZ'], 
    period='1d', 
    start_time='20200101', 
    end_time='20231231'
)

注意:此方法依赖于你所安装的 xtquant 版本,如果发现设置后数据依然下载到老目录,说明当前版本可能硬编码了路径,请优先使用方法一

方法三:重新安装 QMT 客户端到大容量磁盘

如果你的QMT客户端本身就安装在空间较小的磁盘,且不仅是历史数据,未来还会产生大量的日志和回测缓存,建议直接将QMT迁移。

  1. 备份你编写的策略代码(通常在 [QMT安装目录]\User\[QMT安装目录]\bin.x64\Lib\site-packages 下的自定义库)。
  2. 卸载当前的QMT客户端。
  3. 在空间充足的磁盘(如D盘或E盘)新建文件夹,重新安装QMT客户端。
  4. 重新配置Python环境,之后所有的数据下载都会默认存放在新的大容量磁盘中。

总结建议:对于不想折腾环境和代码的用户,**方法一(mklink 软链接)**是最优雅的解决方案,对系统和程序的侵入性最小。