🚀 AI 一键生成 qmt 策略代码

QMT 平台获取行情数据的三个核心接口有什么区别?

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

问题描述

获取全推数据,获取本地行情数据,获取行情数据 这三个方法有什么区别

请问:

获取全推数据:get_full_tick
获取本地行情数据:get_local_data
获取行情数据:get_market_data

这三个接口有什么区别?

解决方案

在 QMT 平台中,get_full_tickget_local_dataget_market_data 都是用于获取行情数据的接口,但它们在数据源、返回格式、支持的周期以及适用场景上有着明显的区别。以下是详细的对比解析:

1. 获取全推数据:get_full_tick

  • 核心作用:获取指定股票列表的最新一笔分笔(Tick)快照数据
  • 数据源:内存中的实时行情快照。
  • 返回格式:嵌套字典(dict)。外层 key 是股票代码,内层字典包含最新价、成交额、成交量、买卖五档盘口等详细字段。
  • 适用场景:盘中实时监控、高频交易、需要获取最新买卖盘口(Ask/Bid)和最新成交状态的场景。
  • 注意:它只能获取“当前最新”的状态,不能获取历史 K 线序列。

2. 获取本地行情数据:get_local_data

  • 核心作用:直接从本地硬盘读取已下载的行情数据。
  • 数据源:本地数据文件(需要提前在 QMT 客户端的“数据管理”中下载补充)。
  • 返回格式:字典(dict)。外层 key 为时间戳(timetag),value 为包含开高低收、成交量、成交额等字段的字典。
  • 适用场景:需要快速读取大量历史数据进行回测或离线分析,且不需要依赖 pandas 复杂数据结构的场景。
  • 注意:如果本地没有下载对应时间段的数据,该接口将无法返回数据。

3. 获取行情数据:get_market_data

  • 核心作用:获取指定股票、指定周期、指定字段的历史或实时 K 线数据
  • 数据源:综合数据源(优先读取本地,若支持订阅则结合实时数据)。
  • 返回格式:根据传入参数的不同,返回 pandas.Seriespandas.DataFramepandas.Panel。这种数据结构非常适合直接进行向量化计算和数据分析。
  • 适用场景:策略中计算技术指标(如均线、MACD)、多只股票横向对比、需要使用 pandas 库进行复杂数据处理的场景。
  • 注意:官方文档提示该接口已不建议使用,推荐使用升级版接口 get_market_data_ex,后者在数据对齐和订阅机制上更加完善。

总结对比表

特性 get_full_tick get_local_data get_market_data
数据类型 最新 Tick 快照(含盘口) 历史 K 线 / 历史 Tick 历史/实时 K 线 / Tick
数据源 实时内存快照 本地硬盘数据 综合(本地+实时)
返回格式 dict (嵌套字典) dict (时间戳为 key) pandas 数据结构 (Series/DataFrame)
支持周期 仅最新 Tick 多种周期 (1d, 1m, tick 等) 多种周期 (1d, 1m, tick 等)
主要优势 获取盘口极快,适合高频 读取本地数据快,无额外依赖 返回 pandas 格式,极度方便指标计算
适用场景 盘中实时监控、盘口分析 离线回测、快速读取历史 策略逻辑编写、复杂技术指标计算

建议:在编写实盘策略时,如果需要计算均线等指标,推荐使用 get_market_data_ex;如果需要根据买一卖一价进行挂单,推荐使用 get_full_tick