🚀 AI 一键生成 qmt 策略代码
立即体验

qmt 龙虎榜数据分析:如何使用 get_longhubang 挖掘机构资金动向?

qmt | 发布时间: 2026/7/23
以下内容由 EasyQuant 生成。

问题描述

请根据以下 SEO 主题生成完整页面内容:

Title: qmt 龙虎榜数据分析:get_longhubang 挖掘机构资金动向

Question: 如何使用 qmt API 获取指定时间段内的股票龙虎榜买卖席位明细?

解决方案

qmt 龙虎榜数据分析:获取与解读买卖席位明细

在量化交易与短线策略中,龙虎榜数据是追踪游资炒作、机构加仓及筹码集中度的重要依据。QMT (迅投 Quant) 提供了原生 Python 接口 get_longhubang,方便投资者高效提取股票的上榜原因及买卖席位明细。


1. 接口介绍:get_longhubang

ContextInfo.get_longhubang 用于查询指定股票列表在特定时间范围内的龙虎榜数据及买卖营业部席位详情。

1.1 语法与参数

ContextInfo.get_longhubang(stock_list, startTime, endTime)
  • stock_list: 股票代码列表(格式如 ['000002.SZ', '600000.SH'])。
  • startTime: 起始时间(格式 'YYYYMMDD')。
  • endTime: 结束时间(格式 'YYYYMMDD')。

1.2 返回数据结构

接口返回一个 DataFrame,核心字段包括:

  • reason: 上榜原因
  • close: 上榜日收盘价
  • spreadRate: 涨跌幅
  • TurnoverVolune: 成交量
  • Turnover_Amount: 成交金额
  • buyTraderBooth: 买方前五席位明细 (DataFrame 结构)
  • sellTraderBooth: 卖方前五席位明细 (DataFrame 结构)

其中 buyTraderBooth / sellTraderBooth 结构中包含:

  • traderName: 交易营业部/机构名称
  • buyAmount: 买入金额
  • sellAmount: 卖出金额
  • buyPercent: 买入占总成交比例
  • sellPercent: 卖出占总成交比例
  • rank: 席位排名 (1-5)
  • direction: 买卖方向

2. 代码示例:提取并解析龙虎榜数据

以下示例展示了如何在 QMT 策略中获取并打印指定股票的龙虎榜席位明细:

#encoding:gbk
import pandas as pd

def init(ContextInfo):
    # 设置初始股票池
    ContextInfo.set_universe(['000002.SZ'])

def handlebar(ContextInfo):
    # 仅在最后一根 K 线运行一次
    if not ContextInfo.is_last_bar():
        return
    
    stock = '000002.SZ'
    start_date = '20230101'
    end_date = '20231231'
    
    # 获取龙虎榜数据
    lhb_df = ContextInfo.get_longhubang([stock], start_date, end_date)
    
    if lhb_df.empty:
        print(f"{stock} 在指定时间段内无龙虎榜数据")
        return
        
    for idx, row in lhb_df.iterrows():
        print(f"=== 日期/记录: {idx} ===")
        print(f"上榜原因: {row.get('reason')}")
        print(f"收盘价: {row.get('close')}, 涨跌幅: {row.get('spreadRate')}%")
        
        # 解析买方前五席位
        buy_booths = row.get('buyTraderBooth')
        if isinstance(buy_booths, pd.DataFrame) and not buy_booths.empty:
            print("--- 买入前五席位 ---")
            for _, booth in buy_booths.iterrows():
                print(f"排名{booth['rank']}: {booth['traderName']} | 买入: {booth['buyAmount']/10000:.2f}万")
                
        # 解析卖方前五席位
        sell_booths = row.get('sellTraderBooth')
        if isinstance(sell_booths, pd.DataFrame) and not sell_booths.empty:
            print("--- 卖出前五席位 ---")
            for _, booth in sell_booths.iterrows():
                print(f"排名{booth['rank']}: {booth['traderName']} | 卖出: {booth['sellAmount']/10000:.2f}万")

3. 量化策略应用场景

  1. 机构买入跟踪:过滤 traderName 中包含“机构专用”的席位,分析机构净买入金额与后续股价走势的相关性。
  2. 知名游资协同效应:建立游资营业部白名单(如拉萨路、游资大本营等),捕捉多路游资共同拉升的溢价机会。
  3. 筹码清洗信号:配合收盘价与涨跌幅,识别主力拉高出货或高位洗盘的行为模式。