QMT 技术团队,您好! 请问如果我想获取日内level 2 的全部股票数据,比如说以下几类:
l2order - level2逐笔委托
l2transaction - level2逐笔成交
l2quoteaux - level2实时行情补充(总买总卖)
l2orderqueue - level2委买委卖一档委托队列
请问应该如何高效获取?(全量股票的实时level 2)
看了一下文档中写到:



对此有些困惑,文档中不建议订阅单股数量大于50,但是却没有L2的全推订阅函数(subscribe_whole_quote 回调返回的是tick数据,而非L2 逐笔成交数据)
请问应该如何高效获取全量股票的实时level 2 数据,以逐笔成交订单为例(l2transaction)
我是应该先订阅全推行情(subscribe_whole_quote(code_list, callback=None) ),然后使用get_l2transaction 进行获取数据?
def f(data):
code_list = list(data.keys()) # 获取到本次触发的标的代码
l2transaction_in_callabck = xtdata.get_l2_transaction([],code_list,period = 'l2transaction') # 在回调中获取l2transaction 数据
print(l2transaction_in_callabck )
xtdata.subscribe_whole_quote(all_stock_list,callback=f)
还是应该for 循环全量股票列表,逐个订阅(subscribe_l2_transaction )然后使用get_l2_transaction 进行获取数据?
def f(data):
code_list = list(data.keys()) # 获取到本次触发的标的代码
l2transaction_in_callabck = xtdata.get_l2_transaction([],code_list,period = 'l2transaction') # 在回调中获取l2transaction 数据
print(l2transaction_in_callabck )
for i in code_list:
xtdata.subscribe_l2_transaction(i,period='l2transaction',count=-1,callback=f) # 订阅时设定回调函数
|