MiniQMT、XtQuant与xtdata关系及实时数据获取指南

PTD 阅读:12 2025-09-12 09:57:47 评论:0

MiniQMT、XtQuant与xtdata关系及实时数据获取指南

202505231503448604903.jpg

一、基本概念介绍

1.1 miniQMT、XtQuant和xtdata的关系

miniQMT 是一个量化交易终端软件。它作为本地服务器运行,负责与交易所建立连接,接收和存储行情数据,并提供数据下载和交易接口。

XtQuant 是miniQMT的Python接口库,作为Python程序与miniQMT之间的桥梁。它通过TCP连接与本地miniQMT服务通信,包含行情(xtdata)和交易(xttrader)两个主要模块。

xtdata 是XtQuant中专门用于获取行情数据的模块。它提供了获取各类行情数据的API接口,本质是向miniQMT发送数据请求并处理返回结果。它既支持查询历史数据,也支持订阅实时行情。

1.2 xtdata模块主要功能

xtdata模块作为行情数据获取的核心模块,提供全面的数据服务功能:

  • 历史数据:支持各种周期(日线、分钟线、周线等)K线数据、分笔成交tick数据,以及前复权、后复权等多种复权方式
  • 实时行情:提供两种订阅模式——单只股票特定周期数据订阅和全市场tick数据订阅
  • 基本面数据:提供完整财务数据查询功能,包括三大财务报表和主要财务指标
  • 基础信息:提供股票列表、交易日历、除权除息等基础信息查询接口
  • 指数数据:提供指数成分股、成分股权重、指数行情等数据获取功能
  • 板块数据:支持行业分类、概念板块、地域板块等多维度分类数据查询
  • ETF基金:提供ETF申赎清单、成分股信息和净值数据
  • 衍生品数据:提供期货期权的主力合约、期权链、商品期权等数据查询功能

本文将重点介绍实时行情数据获取功能,其他功能将在后续系列文章中详细介绍。

二、实时数据获取的运行逻辑

xtdata模块中,获取实时数据有三种常用方式:

2.1 先下载再读取的方式

第一步:使用 subscribe_quote() 函数订阅单只股票的实时行情,或使用 subscribe_whole_quote() 函数订阅全市场行情。订阅的数据会下载到本地并自动更新。

第二步:使用 get_market_dataget_market_data_ex 函数读取本地数据。

注意事项:实时数据从调用时刻开始存储。如需之前的数据,可先调用 download_history_data 补充数据,再启动订阅。

2.2 回调函数触发方式

第一步:使用 subscribe_quote()subscribe_whole_quote() 函数订阅行情。

第二步:定义回调函数处理数据更新,订阅时设置 callback 参数,使用 xtdata.run() 保持程序运行,在回调函数中使用数据获取函数。

运行机制说明

  • 对于 subscribe_quote:每当股票有新的成交时就会触发回调,period参数决定返回数据的聚合周期
  • 对于 subscribe_whole_quote:每当任何股票有新的tick数据就会触发回调

实测结果:对于subscribe_quote订阅的股票,回调触发周期约为3秒

2.3 获取市场快照方式

无需订阅,直接调用 get_full_tick 函数获取当前市场快照。

三、关键函数对比与使用建议

3.1 subscribe_quote 与 subscribe_whole_quote 对比

特性 subscribe_quote subscribe_whole_quote
订阅范围 指定股票 全市场
数据类型 支持K线和tick数据 仅支持tick数据
使用场景 适合跟踪特定股票 适合市场扫描、高频交易

3.2 get_full_tick 与 subscribe_whole_quote 区别

特性 get_full_tick subscribe_whole_quote
调用方式 主动获取,单次调用返回当前市场快照 被动接收,需要设置回调函数
使用场景 定期获取市场概况(如每分钟扫描) 实时监控市场变化(如高频交易)
数据完整性 返回股票的最新状态 推送有变化的股票数据

四、使用注意事项

xtdata提供了unsubscribe_quote函数用于取消订阅

  1. 每次subscribe都会返回一个订阅号seq
  2. unsubscribe_quote需要传入对应的订阅号
  3. 建议在程序结束前主动取消订阅

本文由 海星量化研究所 作者提供,转载请保留链接和署名!网址:https://qmt.hxquant.com/?id=51

声明

1.本站原创文章,转载需注明文章作者来源。 2.如果文章内容涉及版权问题,请联系我们删除,向本站投稿文章可能会经我们编辑修改。 3.本站对信息准确性或完整性不作保证,亦不对因使用该等信息而引发或可能引发的损失承担任何责任。

搜索
排行榜
关注我们

扫码开通QMT/ptrade