惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
D
DataBreaches.Net
腾讯CDC
I
InfoQ
F
Fortinet All Blogs
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
月光博客
月光博客
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
C
Check Point Blog

博客园 - Leone-

GitHub 61.7k+⭐智能体,当你的私人股票分析师:Daily_stock_analysis 不用懂编程!3种方法搭建WorkBuddy工作台,打工人必备效率神器 上班没空盯盘?61.7K星免费开源AI每天自动推送分析 :Daily_stock_analysis Workbuddy猜出宇树科技上市的价格 我翻了上百个连板票,启动前都干过一件反人性的事:回调5天 我把WorkBuddy变成了A股研究员:每天自动盯50只股票 用 Workbuddy 做一个自己的“每日工作台” 用WorkBuddy「个人工作台」,从0搭一套自己的工作管理系统 把行情软件旁边的 WorkBuddy,养成了一个盘后A股投研台 WorkBuddy保姆级使用指南 我用WorkBuddy盯A股异动,盘中不用一直看屏幕 个人量化从0到1:我跑了2年的系统,告诉你什么才是靠谱的 为什么有的人总能抓住市场热点? 五种形态一个答案,找到适合你性格的那一招重复一万遍 我花了三个月,复盘81只十倍股的K线,终于找到了它们的共同点 把一种模式练一万遍:主力流入+缩量回调+二次突破 我用WorkBuddy搭了一套“A股复盘助手”,每天10分钟看懂当天行情 我用WorkBuddy盯100只股票,每天只看发生变化的 我用WorkBuddy做A股“情绪周期雷达”,提前发现市场正在退潮 “大盘环境判定+主流板块识别+个股买点触发”:三位一体决策框架 猫抓配合N_m3u8DL-RE实现m3u8下载 量化交易入门与工具选择:一份面向个人投资者的专业指南 炒股保命纪律:高位不做正T,低位不做反T!这不是建议,是铁律! A股回测用Rust重写|akquant全栈实战 阿里刚开源了一个代码审查工具,两年揪出数百万个Bug 向内聚焦自身,减少精神内耗,全程专注自我成长与最终结果 华为韬定律8家核心公司梳理,先进封装+晶圆代工+底层硬核全解析 暴涨10%+,江波龙这玩笑开大了 我用 AI Agent 写了个"美股看门狗",每天早上替我分析 A 股方向 为什么电脑用久了会变得越来越卡顿,其背后的计算机原理是什么?
我做了个ETF轮动GUI界面版
Leone- · 2026-06-02 · via 博客园 - Leone-

为什么要做ETF轮动?

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

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

三因子为什么这样分配?

因子

权重

作用

趋势

40%

最重要

,确保选的是"稳定上涨"的品种

动量

35%

捕捉涨幅力度,不错过强势品种

量能

25%

辅助确认资金面,过滤无量空涨

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

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

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

资产类别

代表ETF

大盘宽基

上证50、沪深300、中证500、中证1000

创新成长

创50、科创50

行业主题

半导体、军工、医药、新能源、红利

海外市场

纳斯达克100、标普500

核心原则:跨资产、低关联。不要选高度相关的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时,才会触发换仓。这有效过滤了因评分微小波动导致的"噪音交易"。

四、实盘交易流程

策略支持两种模式:回测实盘

回测模式

  1. 设定回测区间(起始日、结束日)
  2. 自动预加载所有ETF的K线数据
  3. 按调仓间隔(默认5个交易日)逐日模拟
  4. 输出:净值曲线(对比沪深300基准)、总收益率、年化收益、最大回撤
  5. 自动保存净值图

实盘模式

连接MiniQMT客户端后,执行五步:

第1步 → 查询当前持仓(只看ETF池内的,不动股票)
第2步 → 对全部ETF打分,已持仓加分,选出目标持仓
第3步 → 卖出不在目标中的ETF(限价单)
第4步 → 等待5秒,确保卖出委托处理
第5步 → 买入目标中未持有的ETF

资金安全机制:max_invest_amount 默认100万。哪怕账户有500万,也只用100万跑这个策略,剩余资金不受影响。

买入金额计算:

per_stock = min(可用现金 / 新买数量, 最大投入 / 持仓数量)

取较小值,确保单支不会超限。

五、UI工具:零代码运行

为了方便非程序员使用,我开发了GUI界面版(基于Python tkinter),界面如下: