← 返回全部文章
·约 15 分钟PPT

QMT Investment Assistant

量化交易

配套媒体

本页对应的 PPT 与演示视频

qmt-investment-assistant-recommend.mp4
PPT
qmt-investment-assistant-recommend.pptx浏览器不能直接打开 PPT,下载后用 PowerPoint / WPS / Keynote 查看
下载没反应?点这里复制直链

侧边栏预览窗口(Electron webview)会拦截下载,把下面的链接复制到 Chrome / Edge 地址栏打开即可保存。

PPT../media/qmt-investment-assistant.pptx
视频../media/qmt-investment-assistant.mp4
本文目录
  1. 🚀 什么是 QMT Investment Assistant?
  2. ✨ 核心功能一览
  3. 🛠️ 快速上手:5 分钟跑通示例
  4. 安装 / 注册
  5. 核心代码示例:定义一个因子档案
  6. 📊 核心因子与模型结果
  7. 6 个核心因子(基于 HS300 2015-2025 实证)
  8. 模型对比(2022-09 2026-03,HS300 成分股,10 天调仓)
  9. 🛡️ 8 项策略门控(核心护城河)
  10. 📊 因子体系 5 大维度
  11. 📊 与同类项目对比
  12. 💡 适用场景
  13. 场景 1:研究人员想跑严谨的多因子实验
  14. 场景 2:个人量化想尝试 A 股实盘
  15. 场景 3:教育场景——讲清楚量化研究的工程化约束
  16. 用户群体总结
  17. 💰 部署与许可
  18. 🎯 总结

📌 核心价值:本地优先 + Point-in-Time 股票池 + 8 项策略门控,把多因子选股从 notebook 脚本推进到工程化研究链路

A 股量化研究最大的坑不是"因子不够多",而是研究流程不严谨——历史成分股错用、look-ahead 漏检、多重检验不控制、实盘没人管。这个开源框架专门用工程化方式堵住这些坑。

封面图

⚠️ 风险提示:本文仅作技术交流,不构成投资建议。股市有风险,投资需谨慎。


🚀 什么是 QMT Investment Assistant?

QMT Investment Assistant(简称 QMT-IA)是一个本地优先、可复现、可审计的 A 股量化研究框架,专注沪深 300(HS300)多因子选股。

它把多因子研究从"散落在 Jupyter Notebook 里的脚本"推进到一条完整的工程化研究链路:

  • 股票池:HS300 point-in-time(使用历史成分股,避免生存者偏差)
  • 因子库:285+ 因子(WorldQuant Alpha + Barra + 自定义),分 5 大维度
  • 模型:Ridge 线性 + LightGBM 非线性,自动 Walk-Forward 训练
  • 回测:自研引擎,佣金 + 印花税 + 滑点全部计入
  • 评估:8 项策略门控全部通过才标记为"晋级"
  • 实盘:对接 QMT(xtquant)实盘接口

GitHub: Leo984357/qmt_investment_assistant · License: MIT · 23 commits

核心定位:A 股量化研究领域的"工程化标准答案"——它不追求花哨的 AI 模型,而是把研究流程的每一步都用代码约束起来,杜绝常见的研究漏洞。


✨ 核心功能一览

功能架构

研究链路分为 10 个阶段,每个阶段都有明确的输入输出和验证规则:

阶段 任务 关键约束
数据加载 Baostock 拉取日线 + 财务数据 缓存到 Parquet 银层
因子计算 285+ 因子批量计算 因子档案系统自动管理
标签计算 20 日 forward return T+1 可执行起点 + adj_close
数据集组装 因子 + 标签 + 过滤 剔除 ST/新股/停牌/价格异常
模型训练 Ridge / LightGBM Walk-Forward 滚动训练
信号生成 模型预测 → 因子打分 实时 IC 监控 + 因子退化检测
组合构建 Top-N 等权/加权 风险模型四档风控
组合增强 缓冲区 + 平滑 + 成本过滤 与信号层分离
回测 自研引擎全成本模拟 买入 1.25bp / 卖出 15.75bp
评估门控 8 项 Gate 全部通过 IC/IR/单调性/胜率/Sharpe

🛠️ 快速上手:5 分钟跑通示例

安装 / 注册

git clone https://github.com/Leo984357/qmt_investment_assistant.git
cd qmt_investment_assistant
pip install -e ".[dev]"

# 审计配置(验证 YAML 完整性)
python -m src.cli audit-config \
  --config configs/experiments/hs300_single_close_to_high250.yaml

# 跑完整实验(数据→因子→模型→回测→评估)
python -m src.cli experiment \
  --config configs/experiments/hs300_single_close_to_high250.yaml

核心代码示例:定义一个因子档案

from src.features.factor_catalog import (
    FactorProfile, FactorFamily, FactorSignal, FactorStatus
)

profile = FactorProfile(
    name='close_to_high250',
    family=FactorFamily.TECHNICAL_PRICE_LEVEL,
    description='收盘价距离250日最高点的比例',
    economic_mechanism='价格位置效应:接近高点的股票有趋势延续倾向',
    expected_signal=FactorSignal.LONG,
    lookback=250,
    inputs=('close',),
    status=FactorStatus.CORE,  # CORE / BACKUP / OBSERVE / REJECT
)

关键设计:每个因子都登记"经济机制"和"预期方向"——这避免了凭印象拍脑袋选因子,也让因子升降级有据可依。


📊 核心因子与模型结果

6 个核心因子(基于 HS300 2015-2025 实证)

因子 方向 IC IC IR 类别
earnings_yield 价值 0.048 0.430 价值
roe 质量 0.041 0.363 质量
ocf_per_share 现金流 0.032 0.266 质量
mom250 动量 0.035 0.160 动量
operating_margin 盈利 0.027 0.307 质量
close_to_high250 价格位置 0.023 0.110 动量

模型对比(2022-09 ~ 2026-03,HS300 成分股,10 天调仓)

模型 累计净值 基准 HS300 夏普 最大回撤 IC
Ridge(9 因子) +42.3% +11.87% 1.52 -8.2% 0.048
LightGBM(自适应) +81.87% +11.87% 1.88 -12.5% 0.035

注意:LightGBM 累计净值更高,但回撤也更大——这恰恰是为什么本框架坚持 8 项策略门控,而不是只看一个指标。


🛡️ 8 项策略门控(核心护城河)

策略门控

所有 8 项必须全部通过,策略才能标记为"通过":

门控 阈值 含义
IC 均值 > 0.02 因子预测力
IC IR > 0.15 因子稳定性
分组单调性 > 0.60 Q5 > Q4 > ... > Q1
超额净值 > 0 成本后超越基准
最大回撤 < 30% 风险控制
平均换手 < 50% 可执行性
年度胜率 > 60% 年份稳定性
对比基线 Sharpe > 基线 相对 frozen baseline 提升

这套门控是项目最硬核的部分——它把"我回测赚了 80%"和"这个策略真的能用"分离开来。


📊 因子体系 5 大维度

因子体系

因子库 285+ 个因子,分 5 大维度:

  • 动量/反转:ret_1m、ret_3m、wgt_mom_12m 等
  • 波动率:vol_1m、beta、特质波动率 等
  • 财报质量:ROE、毛利率、应计项目、CFO/利润 等
  • 估值:PE、PB、PS、EP、PEG
  • 资金流/量价:换手率、Amihud、MF_Flow、OBV

因子有 6 级状态机:CORE → BACKUP → OBSERVE → REJECT → DEPRECATED → POOL,基于 IC 表现自动升降级。

因子 IC 监控 + 自动退化检测是该项目的隐藏亮点:连续 5 次 IC<0 进入观察,连续 10 次降权 50%,连续 15 次直接下线,单次 IC<-0.03 立即下线。


📊 与同类项目对比

对比表

项目 股票池 模型 因子数 实盘对接 Walk-Forward
QMT-IA HS300 PIT LightGBM + Ridge 285+ QMT(实盘) ✅
zhitucoder/ai-trading 全 A 股 自研策略 + Minervini VCP 80+ 模拟盘 ❌
Hanzhi0807/aifa-quant 全 A 股 LambdaRank + Ensemble 100+ 模拟盘 ❌
microsoft/qlib 全 A 股 20+ 模型 zoo 内置 Alpha158 需自接 ✅

QMT-IA 的差异化:唯一在 README 里明确写出"实盘对接 QMT" + "策略准入门控 8 项"——大多数同类项目停留在回测演示阶段。


💡 适用场景

场景 1:研究人员想跑严谨的多因子实验

# 一个命令跑完整研究链路:数据→因子→模型→回测→评估
python -m src.cli experiment --config configs/experiments/<name>.yaml

输入要求:HS300 成分股 + Baostock 数据(免费) 输出效果:完整 artifact(特征面板、IC 历史、模型重要性、回测净值)+ Markdown 报告 适用场景:学术研究、买方机构研究、新策略验证


场景 2:个人量化想尝试 A 股实盘

# 策略验证通过后,启用 QMT 实盘对接
from src.services import TradingService

service = TradingService(
    strategy_id='<validated_strategy_id>',
    broker='qmt',
    account='<account_id>'
)
service.run_daily_cycle()  # 每日调仓周期

输入要求:QMT 券商账户 + xtquant 接口 输出效果:自动调仓 + 风控监控 适用场景:个人实盘、机构策略部署(需在沙盒外额外合规审查)


场景 3:教育场景——讲清楚量化研究的工程化约束

# 看 8 项策略门控如何把"虚假信号"剔除
cat reports/strategy_gate.md

输入要求:跑过一次实验 输出效果:每项门控的通过/拒绝状态 + 原因 适用场景:量化课程教学、研究方法论培训


用户群体总结

  • ✅ 研究员:可复现的多因子实验平台
  • ✅ 个人量化爱好者:QMT 实盘对接 + 完整风控
  • ✅ 教学场景:策略门控 + 多重检验方法论示范
  • ❌ 不适合:日内交易 / 加密货币(项目专注 A 股日频)

💰 部署与许可

开源协议:MIT License — 完整 LICENSE 文件已包含,可商用、修改、闭源分发。

运行环境要求:

  • Python 3.12+
  • 数据源:Baostock(免费)/ AKShare / Tushare(可选)
  • 存储:本地 Parquet / SQLite / DuckDB
  • 实验追踪:MLflow

实盘部署:

  • 券商需支持 QMT(xtquant 协议)
  • 多数主流券商已支持 QMT,零成本开通

💡 学习价值:这个项目的核心不是"赚钱策略",而是"工程化研究方法论"——即使不用于实盘,8 项策略门控 + 多重检验控制也是做严肃量化研究的最佳实践参考。


🎯 总结

QMT Investment Assistant 是当前 A 股量化研究领域少数把 "工程化" 放在第一位的开源项目:

  • ✅ Point-in-Time 股票池(避免生存者偏差)
  • ✅ Walk-Forward 训练(避免未来函数)
  • ✅ 全成本回测(佣金 + 印花税 + 滑点)
  • ✅ 8 项策略门控(避免过拟合)
  • ✅ 多重检验控制(避免虚假发现)
  • ✅ QMT 实盘对接(从研究到交易)

适合人群:A 股量化研究员、买方机构、个人量化爱好者、量化教学场景

立即上手:

git clone https://github.com/Leo984357/qmt_investment_assistant.git
cd qmt_investment_assistant
pip install -e ".[dev]"
python -m src.cli experiment --config configs/experiments/hs300_single_close_to_high250.yaml

GitHub 仓库:Leo984357/qmt_investment_assistant


数据截至 2026-07-26,最新信息请以 GitHub 仓库为准。