Q-CodeQ-Code 打开工作台

ETF 动量轮动

资产轮动A股风险 中进阶更新 2026-09-24#ETF#动量#轮动

定期比较多只 ETF 的中期动量,持有相对强势品种,并用趋势状态决定空仓避险。

策略目标

在沪深 300 ETF、创业板 ETF、黄金 ETF、债券 ETF 和货币 ETF 五类资产之间进行中期动量轮动,避免单一市场暴露长期主导组合。动量效应是实证金融中最稳定的异象之一,本策略是其最朴素的应用形式。

参数定义

  • 候选资产:沪深 300 ETF、创业板 ETF、黄金 ETF、债券 ETF、货币 ETF;
  • 排序动量:60 日收益率;
  • 趋势过滤:20 日动量与 20 日均线;
  • 调仓频率:每 10 个交易日;
  • 持仓上限:最多两只不同类别资产;
  • 现金状态:所有候选双动量均不为正时空仓。

动量定义

Momt(n)=PtPt−n−1Mom_t(n) = \frac{P_t}{P_{t-n}} - 1

合格资产需同时满足 Momt(20)>0Mom_t(20) > 0 且收盘价位于 20 日均线上方,再按 Momt(60)Mom_t(60) 降序排名。

轮动与调仓规则

每个调仓日读取完整历史数据,排除不合格资产后按 60 日动量排名,持有排名最高的至多两类资产。新资产动量领先幅度不足阈值时不调仓,避免排名噪声造成换手。所有候选均不合格时进入现金状态,等待下个周期。

风险与失效场景

动量策略存在公认的动量崩溃风险:市场剧烈反转时,前期强势资产补跌最快,止损纪律比动量得分更重要。股债金三类资产的相关性在危机中会同步上升,分散假设可能失效。ETF 折溢价与流动性在极端行情下会放大交易成本。

验证状态

待验证。需要完成:不同动量周期的参数敏感性;现金状态切换频率统计;计入 ETF 买卖价差与冲击成本的成本敏感性。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers. Journal of Finance, 48(1).(截面动量效应的奠基论文)

[2] Antonacci, G. (2014). Dual Momentum Investing. McGraw-Hill.(绝对动量过滤与双动量框架)

[3] Daniel, K., & Moskowitz, T. (2016). Momentum Crashes. Journal of Financial Economics, 122(2).(动量崩溃风险的系统证据)

[4] Q-Code 量化策略工作台

策略逻辑结构

  1. 多资产池 — 股票、债券、商品、货币ETF
  2. 双周期动量 — 计算20日与60日收益
  3. 正向趋势过滤 — 排除双动量不为正资产
  4. 资产排名 — 按60日动量排序
  5. 空仓判断 — 无合格资产则持币
  6. 轮动执行 — 调仓至前两类资产

AI 生成提示词

复制以下提示词,打开 Q-Code 工作台粘贴到 AI 对话框,即可自动生成该策略的 QMT 策略代码(单个完整 .py 文件,支持 QMT 回测与实盘)。

请生成一个 QMT 兼容的 ETF 中期动量轮动策略。候选资产包括沪深300 ETF、创业板 ETF、黄金 ETF、债券 ETF 和货币 ETF。每月或每 10 个交易日计算 60 日和 20 日动量,候选资产需 20 日与 60 日动量均为正,按 60 日动量排序,最多持有排名最高的两类资产;若没有资产满足条件则保持现金。不要使用未来数据,回测和实盘必须通过 C.do_back_test 分支兼容。所有参数写入 init,输出单个完整 Python 策略文件,并包含调仓缓冲、单资产权重上限和详细 print 日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台