Skip to content

ETF双池动量轮动:固定池与动态流动性池 ​

这套QMT策略把固定核心ETF池与动态流动性池合并,再进行均线、动量和异常量过滤。整理版为 v1.0.0(2026-10-08),适用于大QMT内置Python。

ETF双池动量轮动筛选流程

双池怎么构建 ​

固定池保留预设ETF范围;动态池按前5个交易日平均成交额排序,默认取超过5000万元的前100只。两池合并去重后筛选,成交额排名不直接成为买入排名。

动态池09:20后首个回调补建,每日只更新一次。回测只有09:30或09:31分钟K线时也能触发。数据不足5根日线的ETF不参加动态成交额排名。

筛选规则 ​

  1. 双均线过滤:筛选时价格高于短均线,短均线高于长均线,默认20/60日。
  2. 加权动量:25根已收盘日线加当前价格,对对数价格加权回归,评分为斜率推算年化值乘R²,保留 0 < score < 5。
  3. 投影量过滤:当日累计分钟量按已交易分钟投影到240分钟,再除以近5日日均量,默认上限2.5。
  4. 目标选择:默认选排名第一只;可配多只、优先不同名称主题,数量不足时允许同主题补足。

“年化值”是动量公式中的数学换算,不是策略年化收益。量投影假设成交量随时间均匀分布,也不等同于行情软件标准量比。

参数与时间表 ​

项目默认配置
持仓数1
动量日线窗口25,另加当前价
均线MA20 / MA60
动态池近5日日均成交额 > 5000万元,最多100只
放量阈值投影量比2.5
主题优先分散关闭,可选
资金使用比例总资产的100%,买入保留可用资金0.5%缓冲
观察模式实盘默认启用,不发委托
时刻动作
09:20后首个回调更新动态池
13:09检查成本比例止损、异常量和调出
13:10按目标名单买入,无有效候选时使用防御ETF
14:59输出持仓日志

成本比例止损默认为0.92,只在卖出时刻检查。T+1、跳空与成交条件都会影响执行,不能理解为损失上限固定8%。当日止损或异常量触发的代码不再立即回买。

QMT运行步骤 ​

  1. 在大QMT编辑器导入整理版Python源码,按UTF-8读取。
  2. 主图设为1分钟,下载候选ETF对应日线和分钟历史,回测区间前至少预留90个交易日。
  3. 先保持 dry_run=True 运行观察,检查池数量、筛选名单和拟买卖日志。
  4. 客户端回测走 handlebar,实盘走 run_time 加分钟回调;日期戳避免同日重复执行。
  5. 对照资产、持仓、委托和成交后填写回测记录。实盘发单需要独立账户和独占状态文件。

历史日线截止上一交易日,回测当前价截止回调时刻。本地缺少行情会跳过候选。主图分钟缺失或错过13:09/13:10时刻不会盘后补单。

持仓隔离怎样做 ​

整理版记录本策略曾提交买入的证券代码,只处理记录范围内的持仓。总持仓用 m_nVolume,卖出用 m_nCanUseVolume,可卖数量为0时不替换成总量。

实盘要求独立策略账户。发现未登记的已有持仓时暂停发单,同账户同证券的手工交易也不能凭这份代码表拆分。状态文件记录代码,不是逐笔成交归属账本。

委托返回不代表成交;卖单未成交会影响后续买入资金。相关接口见 get_trade_detail_data、passorder 和 委托回调。

与七星、五福对照 ​

策略主要侧重点
七星ETF动量轮动固定池按动量拟合评分
五福ETF轮动动态分层、滤波与防御安排
ETF双池动量轮动固定池加成交额动态池,双均线和投影量过滤

不同版本需要在相同区间、费用和数据下比较。增加筛选规则不等于提高收益。

源码与验证进度 ​

配套材料包含 .py / .txt 源码、参数说明、版本说明、回测记录模板和14项本地行为测试。星球上架材料已整理,正式附件发布仍需完成来源核对及客户端验证,可在 知识星球 查看后续更新。

本地测试和语法检查通过。尚无本版已核验的QMT收益曲线、收益率或最大回撤;没有使用其他ETF轮动版本的回测图。

来源沿用策略库原文件注明的聚宽「ETF双池平滑动量轮动.py」,具体原作者和再分发授权尚待核对。固定池历史成分、ETF上市时间和退市样本会影响回测代表性。

不构成投资建议,不代操盘。