🚀 AI 一键生成 qmt 策略代码
立即体验
👉 AI 生成代码 👈

miniQMT 获取分笔数据 (Tick) 的完整指南与代码示例

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

问题描述

miniQMT如何获取分笔数据

代码:

from xtquant import xtdata
code = '600109.SH'

full_tick1 = xtdata.get_full_tick([code])
print('全推数据 日线最新值1', full_tick1)

解决方案

在 miniQMT 中,使用 xtquant 库获取最新的分笔数据(Tick数据)确实是使用 xtdata.get_full_tick 接口。您提供的代码逻辑是正确的,但为了确保能够稳定获取到最新的实时数据,通常建议在获取之前先进行数据订阅

以下是完整的代码示例和详细解析:

完整代码示例

from xtquant import xtdata
import time

# 定义需要获取数据的股票代码列表
code_list = ['600109.SH']

# 1. 订阅实时行情数据
# 订阅后,客户端会在后台自动接收并更新该股票的最新Tick数据
for code in code_list:
    xtdata.subscribe_quote(code, period='tick', start_time='', end_time='', count=0, callback=None)

# 等待一小段时间,确保底层已经接收到推送的数据
time.sleep(1)

# 2. 获取全推分笔数据
full_tick = xtdata.get_full_tick(code_list)

# 3. 打印结果
print('全推分笔数据:', full_tick)

# 提取特定股票的数据
if '600109.SH' in full_tick:
    tick_data = full_tick['600109.SH']
    print(f"最新价: {tick_data.get('lastPrice')}")
    print(f"成交量: {tick_data.get('volume')}")
    print(f"买一价: {tick_data.get('bidPrice')[0] if tick_data.get('bidPrice') else 'N/A'}")
    print(f"卖一价: {tick_data.get('askPrice')[0] if tick_data.get('askPrice') else 'N/A'}")

返回数据结构解析

get_full_tick 返回的是一个字典(dict),键(key)为股票代码,值(value)为包含最新Tick信息的字典。主要字段包括:

  • lastPrice: 最新价
  • amount: 成交额
  • volume: 成交总量(手)
  • pvolume: 成交总量(股)
  • openInt: 持仓量(主要用于期货)
  • open: 开盘价
  • high: 最高价
  • low: 最低价
  • lastClose: 昨收价
  • askPrice: 卖价五档/十档列表(如 [卖一, 卖二, ...]
  • bidPrice: 买价五档/十档列表(如 [买一, 买二, ...]
  • askVol: 卖量五档/十档列表
  • bidVol: 买量五档/十档列表

注意事项

  1. 保持 miniQMT 客户端开启xtquant 依赖于本地运行的 miniQMT 客户端(QMT终端的极简模式)来获取数据,请确保客户端已登录且网络连接正常。
  2. 数据订阅:如果不调用 subscribe_quote,直接调用 get_full_tick 可能只能获取到本地缓存的旧数据或空数据。订阅是保证数据实时更新的关键步骤。