Files
Knowledge/Quant/策略库/ETF轮动策略.md
T

3.2 KiB
Raw Blame History

A股市场有个鲜明特征:行业轮动。 单持一个行业,胜率很低;全市场撒网,又跑不赢指数。

ETF轮动的思路很简单——不预测下一个涨什么,而是跟踪已经涨起来的,定期换仓跟上强势品种。

听起来容易,但实操中有几个关键问题:

  1. **怎么定义"强势"?**看涨幅?看趋势?看成交量?

  2. **ETF池选哪些?**选40只还是选6只?

  3. **多久调一次仓?**天天调还是每月调?

  4. 怎么避免频繁换仓被摩擦成本吃光收益?

接下来,我用一套基于迅投MiniQMT的实际策略,逐个回答这些问题。

一、策略核心:三因子评分

我使用的策略对ETF池中每只ETF计算一个综合评分,评分由三个因子加权合成:

综合评分 = 动量分 × 0.35 + 趋势分 × 0.40 + 量能分 × 0.25

1. 动量因子(权重35%)

动量就是"涨了多少"。

短期动量(过去20日涨跌幅):反映近期行情热度 长期动量(过去60日涨跌幅):反映中期趋势力度

最终动量分 = 短期 × 0.6 + 长期 × 0.4

短期权重更高,因为ETF轮动要抓的是近期的动量延续性,不是几个月前的老黄历。

2. 趋势因子(权重40%)

趋势是"涨得稳不稳"。

具体做法:取最近25个交易日的收盘价,做线性回归,算出斜率和相关系数R。

  • 斜率大 → 涨得快
  • R²高 → 涨得稳(不是上下震荡偶然拉高的)

趋势分 = 标准化斜率 × R²

这个R²是精髓。一只ETF可能短期涨幅很大,但如果价格走势乱七八糟、上蹿下跳,R²会很低,趋势分就被打折。反之,一条稳稳的上升通道,R²接近1,趋势分就高。

3. 量能因子(权重25%)

量能是"有没有资金关注"。

量能分 = (近20日均量 / 前20日均量 - 1)× 100

放量说明资金进场,量能分高;缩量说明资金撤离,量能分为负。

三因子为什么这样分配?

趋势权重最高,是因为我们追求的是确定性强的上涨,而非短期暴涨。

二、ETF池:跨资产、低关联

策略内置了40余只ETF,覆盖:

核心原则:跨资产、低关联。不要选高度相关的ETF(比如同时选沪深300和中证100),否则轮动效果打折。

三、防追高与防频繁换仓

防追高:月涨超50%直接扣5分

如果近22个交易日涨幅 > 50%:
  综合评分 -= 5.0

ETF不像股票有涨跌停限制(场内ETF最多涨10%~20%),1个月涨50%的ETF大概率已经严重超买。硬扣5分,直接把它挤出候选池。

防频繁换仓:持仓惯性加分

如果该ETF已在持仓中:
  综合评分 += 0.02

这个0.02看似微小,实际效果显著:

假设A(已持仓)评分3.50,B(未持仓)评分3.51。没有惯性加分时,B排名更高会触发换仓——卖了A买B。加了0.02后,A变成3.52,反超B。

结果:A和B评分只差0.01,不折腾了。

只有当新ETF的评分比持仓高出超过0.02时,才会触发换仓。这有效过滤了因评分微小波动导致的"噪音交易"。