type
Post
status
Published
date
Mar 8, 2026
slug
summary
tags
金钱
category
金钱知识
icon
password
comment
color
#6B8E23
和朋友交流得知聚宽中有一个神奇的ETF轮动策略,学习一下。扩展一下自己的知识边界。
Step1 准备ETF候选池 (9:00)
- 固定ETF池
g.fixed_etf_pool
- 动态ETF池
g.dynamic_etf_pool
动态ETF于每日9点根据昨日成交额自动筛选
update_sector_pool,其条件如下:- 成交额 > 5000万,只保留流动性较好的ETF。
- 每个行业只保留一只
Step2:检查当前持仓(9:10)
其主要作用是记录日志,检查持仓、记录成本和现价以及检查停牌。
Step3: 换仓卖出ETF (13:10)
- 计算今日目标ETF(核心)
get_final_ranked_etfs - 取足够多的历史数据
- 计算中期趋势强度:动量
momentum_score、年化收益、R²r_squared - 计算辅助过滤项:短期动量、均线位置、成交量比
- 计算短期风险项:近3日单日跌幅过滤
- 计算过热项:RSI
- 年化收益:如果最近这段趋势按当前斜率延续一年,大概对应的年化收益率是多少。
- 拟合优度R²:是趋势质量过滤器。越接近 1:趋势越平滑、越一致。越接近 0:走势越混乱,拟合线解释不了价格变化。
- 动量:趋势强度(年化收益) × 趋势质量(拟合优度R²)
- 短期动量:通过短期的收益率预测年化收益,防止中期动量还好,但短期已经熄火。
- 均线位置:20日均线
- 成交量比:今日成交量/过去5日平均成交量
- 3日跌幅检查:剔除短期风险
- RSI:防止过热
指标解读:
筛选条件:作者设置的各种参数。
目前启用了动量得分、R² 过滤、成交量过滤、以及短期风控过滤(3日跌幅检查)。
- 如果一个都选不出来,则持有避险ETF。
- 如果筛选出的ETF已经持有则继续,否则卖出。
Step4: 换仓买入ETF (13:11)
之前计算的ETF如果当前未持有则买入。
Step5:分钟级止损卖出策略
作者写了3个止损策略,分别是
- 固定比例止损
minute_level_stop_loss(context)
- 当日跌幅止损
minute_level_pct_stop_loss(context)
- ATR 动态止损
minute_level_atr_stop_loss(context)
目前启用的是固定比例止损。思路就是跌破买入价的95%就止损。
回测
看起来很恐怖啊?挂模拟盘加上个人判断来实验一下。

一些思考
这是我第一次接触ETF轮动策略,个人感受还是一种追涨策略,但不是无脑的追涨。或许是大家平常说的“做右侧”。哈哈
而且这个策略有很多人工把设置的参数,是否有作者过拟合的可能性?还需要模拟盘的检验。
义父,请我喝杯蜜雪冰城吧。


- 作者:LIU Xiao
- 链接:http://liuxiao916.com/article/31d58a7f-6b9f-806a-9153-ef903b7396a3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






