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

QMT AI 大盘预测因子(AI_market_level_forcast)如何调用与择时应用?

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

问题描述

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

Title: QMT AI 大盘预测因子:`AI_market_level_forcast` 使用指南

Question: 如何在 QMT 中调用 AI 预测因子 `stk_p_ai` 和行业上涨概率来进行择时?

解决方案

QMT AI 大盘预测因子:AI_market_level_forcast 使用指南

QMT 平台提供了基于深度学习 LSTM(长短期记忆网络)模型的 AI 预测因子分类包 AI_market_level_forcast。该因子包能够预测个股及各级行业指数在下一交易日的收盘价上涨概率,为量化策略提供强大的 AI 择时信号。


1. AI 预测因子库说明

AI_market_level_forcast 分类下包含以下核心因子:

因子名 因子中文名 说明
stk_p_ai 股票下一交易日上涨概率 基于个股历史行情,预测下一交易日收盘价上涨概率
stk_sw1_p_ai 申万一级行业指数下一交易日上涨概率 预测个股所属申万一级行业指数下一交易日上涨概率
stk_sw2_p_ai 申万二级行业指数下一交易日上涨概率 预测个股所属申万二级行业指数下一交易日上涨概率
stk_sw3_p_ai 申万三级行业指数下一交易日上涨概率 预测个股所属申万三级行业指数下一交易日上涨概率
stk_zx1_p_ai 中信一级行业指数下一交易日上涨概率 预测个股所属中信一级行业指数下一交易日上涨概率

注:引用时须带上分类前缀,如 AI_market_level_forcast.stk_p_ai


2. API 调用方法

在 QMT 中,通过 ContextInfo.get_factor_data() 函数获取多因子数据。

2.1 提取个股与行业 AI 上涨概率示例

python #coding:gbk def handlebar(ContextInfo): # 设置需要调用的因子列表 fieldList = ['AI_market_level_forcast.stk_p_ai', 'AI_market_level_forcast.stk_sw1_p_ai'] stockCode = '600000.SH' startDate = '20230101' endDate = '20230110' # 获取单股多因子数据 df = ContextInfo.get_factor_data(fieldList, stockCode, startDate, endDate) print(df)


3. 双重 AI 因子过滤择时策略实现

以下策略展示了结合个股 AI 上涨概率所属申万一级行业 AI 上涨概率的双重 AI 择时信号进行股票买卖的完整逻辑。

python #coding:gbk import datetime def init(ContextInfo): # 设定初始股票池 ContextInfo.set_universe(['600000.SH', '000001.SZ']) # 设置交易账号 ContextInfo.set_account('6000000058') ContextInfo.stk_threshold = 0.55 # 个股上涨概率阈值 ContextInfo.sw1_threshold = 0.52 # 申万一级行业上涨概率阈值 def handlebar(ContextInfo): # 仅在最后一根 Bar 或每日收盘前执行信号判定 if not ContextInfo.is_last_bar(): return stock_list = ContextInfo.get_universe() today_str = datetime.datetime.now().strftime('%Y%m%d') fields = ['AI_market_level_forcast.stk_p_ai', 'AI_market_level_forcast.stk_sw1_p_ai'] # 批量获取因子数据 factor_dict = ContextInfo.get_factor_data(fields, stock_list, today_str, today_str) for stock in stock_list: try: # 获取最新一期的概率值 stk_prob = factor_dict[stock]['AI_market_level_forcast.stk_p_ai'].iloc[-1] sw1_prob = factor_dict[stock]['AI_market_level_forcast.stk_sw1_p_ai'].iloc[-1] print(f"股票: {stock} | 个股AI上涨概率: {stk_prob:.4f} | 行业AI上涨概率: {sw1_prob:.4f}") # 买入条件:个股概率与行业概率同时高于设定阈值 if stk_prob > ContextInfo.stk_threshold and sw1_prob > ContextInfo.sw1_threshold: passorder(23, 1101, ContextInfo.account, stock, 5, -1, 1000, ContextInfo) print(f"【买入信号】{stock} 满足 AI 择时条件") # 卖出条件:个股概率回落至 0.5 以下 elif stk_prob < 0.50: passorder(24, 1101, ContextInfo.account, stock, 5, -1, 1000, ContextInfo) print(f"【卖出信号】{stock} AI 预测趋势转弱") except Exception as e: print(f"获取 {stock} AI 因子失败: {e}")


4. 注意事项

  1. 数据下载:使用 AI 因子前,需通过 QMT 客户端【数据管理】->【补充数据】->【多因子数据】下载最新的本地多因子数据集。
  2. 运行模式:多因子接口 get_factor_data 同时支持历史回测与实盘/模拟运行。