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

QMT 行情分析:利用 get_turnover_rate 批量获取股票历史换手率

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

问题描述

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

Title: QMT 行情分析:利用 get_turnover_rate 批量获取股票历史换手率

Question: QMT 如何通过 API 获取多只股票在指定时间段内的换手率数据?

解决方案

在 QMT (迅投 SDK / 策略开发平台) 中,获取股票的换手率数据非常便捷。平台提供了专门的接口 ContextInfo.get_turnover_rate(),支持一次性传入多只股票的代码列表以及起止时间,批量返回 DataFrame 格式的历史换手率数据。

一、接口语法与参数解析

ContextInfo.get_turnover_rate(stock_list, startTime, endTime)

参数说明:

  1. stock_list (list): 股票代码列表,如 ['600000.SH', '000001.SZ']
  2. startTime (str): 起始日期,格式为 'YYYYMMDD',例如 '20230101'
  3. endTime (str): 结束日期,格式为 'YYYYMMDD',例如 '20231231'

返回值:

  • 返回一个 pandas.DataFrame 对象,索引通常为日期,列名对应股票代码(或格式化的数据表),值为对应的日换手率。

二、完整代码示例

以下策略代码展示了如何在 QMT 的 handlebar 函数中调用 get_turnover_rate 获取两只股票在指定历史区间的换手率,并进行数据打印:

#encoding:gbk

def init(ContextInfo):
    # 设定初始资金与基础设置
    ContextInfo.set_account('6000000248')

def handlebar(ContextInfo):
    # 仅在最后一根 Bar 执行,避免历史 Bar 重复计算
    if not ContextInfo.is_last_bar():
        return
    
    # 1. 设置待查询的股票列表与起止时间
    stock_list = ['600000.SH', '000001.SZ']
    start_time = '20230101'
    end_time = '20230110'
    
    # 2. 调用 API 获取历史换手率
    turnover_df = ContextInfo.get_turnover_rate(stock_list, start_time, end_time)
    
    # 3. 打印输出结果
    print("获取到的换手率数据:")
    print(turnover_df)

三、注意事项

  1. 数据补充:在使用财务及衍生指标接口前,请确保已通过客户端【数据管理】补充了对应市场和品种的历史数据,避免因本地缺失数据导致返回结果为空。
  2. 运行效率get_turnover_rate 支持多股批量查询,建议将需要分析的股票池统一打包传入,比循环单只获取效率更高。