QMT Python API

xtdata-行情模块

概述

xtdata是xtquant库中提供行情相关数据的模块,本模块旨在提供精简直接的数据满足量化交易者的数据需求,作为python库的形式可以被灵活添加到各种策略脚本中。

主要提供行情数据(历史和实时的K线和分笔)、财务数据、合约基础信息、板块和行业分类信息等通用的行情数据。

运行逻辑

xtdata提供和MiniQmt的交互接口,本质是和MiniQmt建立连接,由MiniQmt处理行情数据请求,再把结果回传返回到python层。使用的行情服务器以及能获取到的行情数据和MiniQmt是一致的,要检查数据或者切换连接时直接操作MiniQmt即可。

对于数据获取接口,使用时需要先确保MiniQmt已有所需要的数据,如果不足可以通过补充数据接口补充,再调用数据获取接口获取。

对于订阅接口,直接设置数据回调,数据到来时会由回调返回。订阅接收到的数据一般会保存下来,同种数据不需要再单独补充。

接口说明

提示

  1. 该函数属于订阅函数,非VIP用户限制订阅数量

  2. VIP用户支持全推市场指定周期K线

  3. VIP用户权限请参考vip-行情用户优势对比

订阅单股行情 - subscribe_quote

原型

qmt://docs/python
Python
1xtdata.subscribe_quote(stock_code, period='1d', start_time='', end_time='', count=0, callback=None)

释义

  • 订阅单股的行情数据,返回订阅号
  • 数据推送从callback返回,数据类型和period指定的周期对应
  • 数据范围代表请求的历史部分的数据范围,数据返回后会进入缓存,用于保证数据连续,通常情况仅订阅数据时传count = 0 即可

参数

字段名数据类型解释
stockcodestring股票代码,'stkcode.market',如'600000.SH'
periodstringK线周期类型
start_timestring起始时间
end_timestring结束时间
callbackfunction指定推送行情的回调函数
  • 回调定义形式为on_data(datas),回调参数datas格式为 { stock_code : [data1, data2, ...] }

返回值

int: 每个标的对应的订阅号,订阅成功返回大于0,失败返回-1

该函数是用于订阅行情函数,函数本身不直接返回行情数据

示例

qmt://docs/python
Python
1from xtquant import xtdata
2 
3import time
4 
5def f(datas):
6 # 使用回调函数时,传进来的是单条的字典嵌套数据,key为标的code
7 for stock_code in datas:
8 print(stock_code, datas[stock_code])
9 
10stock_list = xtdata.get_stock_list_in_sector("沪深300")
11 
12period = "5m"
13 
14# # 方式一,在回调函数中处理数据
15# for i in stock_list:
16# xtdata.subscribe_quote(i, period = period , count = -1, callback = f)
17# print("done")
18 
19# ------------------------------ #
20# 方式二,在循环中处理数据
21for i in stock_list:
22 xtdata.subscribe_quote(i, period = period , count = -1)
23 
24while 1:
25 data = xtdata.get_market_data_ex([],stock_list,period = "30m")
26 print(data["000001.SZ"].tail())
27 time.sleep(3)
28 
29xtdata.run()
30 

订阅全推行情 - subscribe_whole_quote

原型

qmt://docs/python
Python
1xtdata.subscribe_whole_quote(code_list, callback=None)

参数

字段名数据类型解释
code_listlist代码列表,支持传入市场代码或合约代码两种方式
传入市场代码代表订阅全市场,示例:['SH', 'SZ']
传入合约代码代表订阅指定的合约,示例:['600000.SH', '000001.SZ']
callbackfunction指定推送行情的回调函数
  • 回调定义形式为on_data(datas),回调参数datas格式为 { stock1 : data1, stock2 : data2, ... }

返回值

int: 本次订阅的订阅号,订阅成功返回大于0,失败返回-1

该函数是用于订阅行情函数,函数本身不直接返回行情数据

示例

qmt://docs/python
Python
1from xtquant import xtdata
2 
3import time
4 
5def f(datas):
6 # 使用回调函数时,传进来的是单条的字典嵌套数据,key为标的code
7 for stock_code in datas:
8 print(stock_code, datas[stock_code])
9 
10
11# stock_list = ["SH","SZ"] # 取指定市场
12 
13stock_list = ["000001.SZ","000002.SZ"] # 取部分
14 
15xtdata.subscribe_whole_quote(stock_list,f)
16 
17xtdata.run()

智能助手

咨询式 AI · 带入当前文档

智能助手加载中...