QMT怎么获取历史行情数据?26年支持QMT量化交易系统的券商有哪些?

在 QMT 量化交易系统中,获取历史行情数据主要通过 xtdata.download_history_data 下载数据,并通过 xtdata.get_market_data_ex 获取合成后的历史行情。以下是具体方法及使用注意事项:


支持的数据周期与底层机制

QMT 仅支持下载以下基础周期的历史数据:


  • Tick 数据:"tick"
  • 1分钟线:"1m"
  • 5分钟线:"5m"(5分钟及以上周期均基于此合成)
  • 日线:"1d"(日线及以上周期如周线、月线等均基于此合成)
️ 注意:3分钟线等非标准周期不能直接下载,需先下载 "1m" 数据,在 get_market_data_ex 中指定 period="3m",系统会自动由1分钟线合成。周线(1w)、月线(1mon)等,需先下载 "1d" 数据,再通过 get_market_data_ex 指定对应周期获取。

关键注意事项

  1. 必须先下载,再获取get_market_data_ex 不会自动触发下载,若本地无对应基础周期数据,将返回空。务必先调用 download_history_data。
  2. MiniQMT 无法使用客户端下载的数据在 MiniQMT 中,即使通过 QMT 客户端界面下载了数据,策略也无法读取,必须通过代码调用 download_history_data 主动下载。
  3. 全推K线不落盘开启“K线全推”后,仅缓存当日数据,重启后需重新下载历史数据,不会自动持久化到本地。
  4. 复权类型参数dividend_type 支持 "none"(不复权)、"front"(前复权)、"back"(后复权),根据策略需求选择。
  5. 避免重复下载可通过判断本地是否已有数据来优化性能,但 QMT 未提供直接的“是否已下载”查询接口,建议记录下载状态或使用 try-except 处理。
  6. 时间参数格式start_time 和 end_time 格式为 "YYYYMMDD" 或 "YYYYMMDDHHMMSS",留空表示不限制。


温馨提示:投资有风险,选择需谨慎。

相关文章