QMT 量化交易入门:Tick 数据详解与完整调用指南

QMT 量化交易入门:Tick 数据详解与完整调用指南

Tick 数据获取:get_full_tick 函数

2.1 函数用途与适用场景

在交易时段内,策略需要实时获取当前最新的行情快照、根据盘口数据即时触发交易逻辑时,可调用get_full_tick函数获取指定标的的最新 Tick 数据。

2.2 基础调用示例

def handlebar(C): # 获取单标的最新Tick数据 tick = C.get_full_tick(['159919.SZ']) print(tick)

输出示例:

{'159919.SZ': { 'timetag': '20240620 14:13:30', 'lastPrice': 3.662, 'open': 3.68, 'high': 3.69, 'low': 3.658, 'lastClose': 3.681 }}

2.3 触发方式的灵活选择

handlebar事件在盘中默认每 3 秒驱动一次。如果 3 秒的频率不符合策略需求,还可以通过另外两种方式按需获取 Tick 数据:

  1. 定时任务触发:通过run_time设置固定时间间隔获取 Tick
  2. 订阅推送触发:通过subscribe_quote订阅行情,满足条件时回调获取 Tick

三种获取逻辑的框架示意:

# 方式1:handlebar 逐K线驱动 def init(C): # 初始化变量 C.bought_list = [] def handlebar(C): tick = C.get_full_tick(['159919.SZ']) # 执行交易逻辑
# 方式2:run_time 定时任务触发 def init(C): # 启动定时任务 C.run_time("tick_task", "nSecond", "09:30:00", "11:30:00", 5) def tick_task(C): tick = C.get_full_tick(['159919.SZ']) # 执行交易逻辑
# 方式3:subscribe 订阅推送触发 def callback_func(data): # 行情推送回调中获取数据 print(data) def init(C): C.subscribe_quote( ['159919.SZ'], period='tick', callback=callback_func )

三、历史 Tick 数据获取:get_market_data_ex 函数

3.1 前置说明

Tick 数据体量极大,单只标的单日 Tick 数据约 9 万条,做历史回测与研究需预留足够的存储空间。在获取历史 Tick 数据前,需要先通过接口下载对应标的的历史 Tick 数据。

3.2 完整调用步骤

第一步:下载历史 Tick 数据

def init(C): # 下载指定标的、指定周期的历史数据 C.download_history_data('159919.SZ', 'tick', '20240619', '20240619')

第二步:读取历史 Tick 数据

def handlebar(C): if not C.is_last_bar(): return # 获取指定日期的历史Tick数据 ticks = C.get_market_data_ex( [], ['159919.SZ'], 'tick', start_time='20240619', end_time='20240619', count=-1 ) print(ticks)

3.3 核心字段说明

get_market_data_ex返回的 Tick 数据包含完整字段,高频使用的核心字段如下表:

字段名数据类型含义说明
timeint时间戳(毫秒级)
stimestring时间戳字符串形式
lastPricefloat最新价
openfloat开盘价
highfloat最高价
lowfloat最低价
lastClosefloat前收盘价
amountfloat成交总额
volumeint成交总量(手)
askPricelist[float]多档委卖价
askVollist[int]多档委卖量
bidPricelist[float]多档委买价
bidVollist[int]多档委买量
transactionNumint成交笔数

四、Tick 数据的应用场景

Tick 数据是盘口类策略的核心数据支撑,常见应用方向包括:

  • 盘口挂单量分析、买卖压力判断
  • 高频短差策略、算法交易拆单
  • 精准的回测复盘与策略验证
  • 成交明细统计与资金流向分析

总结

QMT 平台提供了完整的 Tick 数据获取能力,实时与历史两类接口调用方式简洁,字段覆盖全面,完全可以满足普通量化交易者的策略开发与回测需求。对于做盘口类、中高频策略的交易者来说,熟练掌握 Tick 数据的获取与处理是必备技能。

风险提示:本文仅为迅投 QMT 平台行情数据接口的技术学习分享,不构成任何投资建议、交易指导或策略推荐。证券市场存在固有投资风险,量化交易可能面临策略失效、系统故障、行情数据延迟、交易滑点、接口变更等多重潜在风险,历史数据表现不代表未来收益。所有实盘操作请务必经过充分的回测验证与模拟交易测试,结合自身风险承受能力谨慎决策。文中代码与数据示例仅作功能演示,不保证实盘环境下的准确性、完整性与可用性。