QMT 量化入门:Bar (K 线) 数据结构、周期规则与数据获取完全指南

发布时间:2026/6/30 7:23:42
QMT 量化入门:Bar (K 线) 数据结构、周期规则与数据获取完全指南 前言在量化交易体系中K 线Bar数据是技术指标计算、量价策略搭建的核心底层数据。迅投 QMT 平台提供了从 tick 级到年级的全周期 Bar 行情数据能够覆盖高频、中频、低频等不同交易频率的策略开发需求。本文将系统梳理 QMT 中 Bar 数据的定义、字段结构、周期合成规则与数据获取方式帮助量化开发者快速掌握 QMT 行情数据的调用方法。一、Bar 数据概述我们常说的蜡烛图 K 线在 QMT 中被定义为 Bar 数据。每一根 Bar 都对应一个时间周期内的行情快照封装了该周期内的价格、成交量等核心交易信息是量价交易、技术指标分析的数据基础。QMT 支持的 Bar 数据周期覆盖全面包含以下主流频率高频tick3 秒级分钟级1 分钟、5 分钟、15 分钟、30 分钟、60 分钟长周期日线、周线、月线、年线二、标准 Bar 数据核心字段单根标准 Bar 数据以 OHLCV 为核心字段完整字段信息如下表字段名数据类型字段含义timeint周期时间戳openfloat周期开盘价highfloat周期最高价lowfloat周期最低价closefloat周期收盘价volumefloat周期成交量amountfloat周期成交额settlementPricefloat今结算价股票品种无有效值openInterestfloat持仓量股票品种对应证券状态preClosefloat前一周期收盘价三、基础周期与合成周期规则QMT 的 Bar 数据分为原生存储的基础周期和基于基础周期计算的合成周期二者生成逻辑与使用方式存在明确差异。3.1 基础周期QMT 底层实际持久化存储的原生数据周期共 4 类是所有行情数据的数据源tick1 分钟1m5 分钟5m日线1d3.2 合成周期规则其余周期均通过基础周期自动合成得到合成规则如下15m、30m、60 分钟线由 5 分钟线合成周线 (1w)、月线 (1mon)、年线 (1y)由日线数据合成3.3 使用注意事项历史数据获取调取合成周期的历史数据前需要先下载对应的基础周期历史数据。例如获取 15 分钟历史数据需提前下载 5 分钟历史数据。实时数据订阅实时行情可以直接订阅合成周期无需手动进行合成计算。数据复用规则同时使用基础周期和其对应的合成周期时仅需下载一次基础周期数据即可。例如同时使用 5m 和 15m 数据只需下载 5m 数据15m 数据会自动合成无需重复下载。四、不同周期数据详解与代码示例QMT 通过download_history_data接口下载历史数据通过get_market_data_ex接口获取行情数据不同周期的字段丰富度和适用场景有差异。4.1 Tick 级数据Tick 是 QMT 中精度最高的行情数据相比普通 K 线额外包含五档买卖盘口数据主要用于高频策略、盘口策略开发。Tick 数据完整字段表字段名数据类型字段含义timeint时间戳stimestring时间戳字符串格式lastPricefloat最新成交价openfloat当日开盘价highfloat当日最高价lowfloat当日最低价lastClosefloat前收盘价amountfloat成交总额volumeint成交总量单位手pvolumeint原始成交总量未做股手转换不推荐使用stockStatusint证券状态openIntint股票场景为股票状态期货等品种为持仓量transactionNumfloat成交笔数期货品种无需单独计算lastSettlementPricefloat前结算价股票品种无有效值settlementPricefloat今结算价股票品种无有效值askPricelist[float]多档委卖价格askVollist[int]多档委卖挂单量bidPricelist[float]多档委买价格bidVollist[int]多档委买挂单量Tick 数据获取代码# 下载指定标的、指定时间段的tick历史数据 download_history_data(159919.SZ, tick, 20240701, 20240701) # 获取最新1条tick数据 data_tick C.get_market_data_ex([], [159919.SZ], tick, count1) print(tick数据详情:\n, data_tick[159919.SZ])4.2 分钟线与日线数据1 分钟、5 分钟、日线等标准 K 线周期为标准 OHLCV 结构是技术类、量价类策略最常用的数据。数据获取代码示例# 下载历史数据 download_history_data(159919.SZ, 1m, 20240701, 20240701) download_history_data(159919.SZ, 1d, 20240701, 20240701) # 获取1分钟行情数据 data_1m C.get_market_data_ex([], [159919.SZ], 1m, count1) print(1分钟数据:\n, data_1m[159919.SZ]) # 获取日线行情数据 data_1d C.get_market_data_ex([], [159919.SZ], 1d, count1) print(日线数据:\n, data_1d[159919.SZ])五、QMT 历史数据覆盖范围迅投 QMT 的历史数据储备充足能够满足绝大多数量化策略的回测需求tick 数据覆盖 2018 年至今1 分钟、5 分钟、日线数据全量历史数据结语Bar 数据是 QMT 量化开发的核心基石理解其字段结构、周期合成逻辑与获取方式是搭建稳定量化策略的前提。开发者可以根据自身策略的交易频率选择对应周期的行情数据进行开发与回测。风险提示本文仅为量化工具功能介绍不构成任何投资建议。市场有风险投资需谨慎。