3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT 量化平台中,借助 Level-2 增强版数据,开发者可以通过 ContextInfo.get_market_data_ex 接口获取 l2transactioncount 周期数据(逐笔成交统计数据)。通过分析主买/主卖的特大单与大单成交量及成交额,可以精确计算主力大单净买入量,进而构建主力动向指标。
获取 l2transactioncount 周期时,数据包含以下核心主力资金相关字段:
bidMostVolmue / bidBigVolmue:主买特大单/大单成交量offMostVolmue / offBigVolmue:主卖特大单/大单成交量bidMostAmount / bidBigAmount:主买特大单/大单成交额offMostAmount / offBigAmount:主卖特大单/大单成交额ddx:大单动向指标以下示例展示了如何在 QMT 中获取实时 Level-2 逐笔大单统计,并计算主力大单净买入额:
#coding:gbk
import pandas as pd
def init(ContextInfo):
# 设定订阅的股票列表
ContextInfo.stock_list = ['600000.SH']
ContextInfo.set_universe(ContextInfo.stock_list)
def handlebar(ContextInfo):
if not ContextInfo.is_last_bar():
return
# 获取 Level-2 逐笔成交统计数据
data_dict = ContextInfo.get_market_data_ex(
fields=[],
stock_code=ContextInfo.stock_list,
period='l2transactioncount',
count=1,
subscribe=True
)
for stock in ContextInfo.stock_list:
if stock in data_dict and not data_dict[stock].empty:
df = data_dict[stock]
# 获取最新的逐笔统计数据
latest = df.iloc[-1]
# 主力买入大单额 = 主买特大单成交额 + 主买大单成交额
main_buy_amount = latest.get('bidMostAmount', 0) + latest.get('bidBigAmount', 0)
# 主力卖出大单额 = 主卖特大单成交额 + 主卖大单成交额
main_sell_amount = latest.get('offMostAmount', 0) + latest.get('offBigAmount', 0)
# 主力大单净买入额(元)
main_net_inflow = main_buy_amount - main_sell_amount
print(f"[{latest.name}] 代码: {stock} | 主力买入额: {main_buy_amount:.2f} | 主力卖出额: {main_sell_amount:.2f} | 主力净流入: {main_net_inflow:.2f}")
l2transactioncount 数据需要开通 Level-2 增强版行情权限才能正常接收。ContextInfo.subscribe_quote 订阅数据推送,以便快速响应盘中主力资金的突发异动。