☰
ETF三因子轮动实战:QTYX V3.3.5新品种如何助力净值回血
2026/9/29 17:35:24 网站建设 项目流程

1. 为什么今天写这篇战报

先说说今天这个账户的状态。收盘后我打开QTYX的实盘跟踪页面,看了一眼净值曲线,总算松了口气——从最低点的坑里爬出来大半了。最近这一周“新品种”接连发力,把前面那波回撤啃掉了一大块。熟悉我这个组合的朋友知道,这套策略一直是“ETF三因子轮动”,用的是一套自研的股票量化分析工具QTYX,目前跑到了V3.3.5版本。

这篇文章就把今天的战况、三因子轮动的核心思路、以及V3.3.5版本里“新品种”到底新在哪,一次性讲清楚。

先说这东西适合谁看。如果你正在做ETF轮动,但不知道选哪些品种、怎么排权重;如果你有自己的量化系统,但实盘和回测老是对不上账;或者你只是好奇“三因子轮动”在真实资金下到底扛不扛揍——这篇文章都值得读完。我会把实盘的记录、QTYX的升级点、还有我这几个月踩过的坑一起交代出来,不吹不黑。

为什么强调“新品种”?因为我这个策略的股票池不是一成不变的。V3.3.5之前,池子里主要是宽基ETF和几个老牌行业ETF,说实话去年那波行情里表现很一般,净值回撤一度让我怀疑策略失效。后来我把QTYX升级到V3.3.5,把“品种覆盖”这个模块彻底重写了一遍,新纳入了好几类过去没覆盖到的ETF方向。结果这波反弹冲在最前面的,恰恰好就是这些新品种。今天这篇战报,算是给V3.3.5做个阶段性的实战验收,也把我从中悟到的东西整理出来分享给大家。

2. ETF三因子轮动的核心逻辑拆解

2.1 三因子到底是什么,为什么要用三个

QTYX里的三因子轮动,核心是在每天收盘后对候选ETF做一次“体检”,用三个维度给每只ETF打分,然后选综合得分最高的几只持有。三因子分别是动量因子、波动率因子、成交额因子,具体定义如下:

因子名称计算方式打分方向
动量因子近20个交易日累计涨幅越高越好
波动率因子近20个交易日收益率的标准差越低越好
成交额因子近20个交易日平均成交额越高越好,但有流动性阈值过滤

有人会问,光看动量不行吗?趋势跟踪策略只看“涨得最好的”不就行了?我做下来的体会是,只看动量的策略在单边牛市里确实爽,但一旦遇到热点轮换加速的市场,追进去就容易被闷杀。加上波动率因子,是为了把“涨得太快、太猛、已经情绪化”的品种筛掉一部分,宁可不赚,也要少挨打。

成交额因子则纯粹是从“容不容易进出”的角度考虑。ETF流动性不好,几万块进去都能把价格拉偏,那回测和实盘之间的差距会非常大。高成交额不一定保证高收益,但能保证你按纪律调仓时不会被盘口坑到。

三个因子各自独立打分,最后按权重合成一个综合分。默认权重是动量40%、波动率30%、成交额30%,我跑了一段时间之后把它调成了动量50%、波动率25%、成交额25%,因为A股ETF跟股票不同,流动性整体比个股好,所以流动性的权重可以稍微让位给动量。这个参数不是拍脑袋定的,后面我会讲我用QTYX做参数扫描的过程。

2.2 打分与轮动规则:为什么“每日跟踪、周度调仓”

计算完每个因子的得分之后,QTYX会把所有候选ETF排序,选出综合分前3名的品种,等权持有。调仓频率不是每天调,而是固定每周一开盘调仓。每周末收盘后做一次全量计算,如果持仓的前三名排名发生变化,就在周一执行换仓。

这里有个关键点:排名没有变化,就一股都不动。很多人做轮动失败,不是因为策略不好,而是因为手太痒,看到某只ETF一天涨了2%就想换过去。过度调仓带来的摩擦成本,在ETF这种本来费率就不高的品种上,反而会悄悄吃掉一大块收益。我用QTYX的“交易成本模拟”功能跑过,把调仓频率从每天一次改成每周一次之后,理论年化收益反而提高了大约3个百分点。

这个结果可能有点反直觉,但道理很简单。高频调仓意味着更容易在动量还没有确认的时候就进出,而ETF轮动的收益来源恰恰是“顺着中期趋势吃一段完整的波段”。给趋势一点时间去展开,比抢跑更重要。

2.3 三因子轮动和“买入持有”的区别

如果拿三因子轮动跟老老实实持有宽基指数比,最大的区别在于“谁在替你判断方向”。买入持有是把方向判断交给市场,涨跌都扛着;三因子轮动则是每个周期重新问一次:现在哪几个方向最强、最稳、最畅?然后切过去。

我自己的体感是,这种策略在“宽基指数横盘、但结构性行情活跃”的年份里特别能拉开差距。比如过去半年,沪深300整体没怎么动,但是行业和主题ETF里面走出来的方向不少,三因子池子里的表现明显比单纯持有宽基好得多。它本质上是一个“会长跑的方向探测器”,而不是一个抄底工具。

3. QTYX V3.3.5版本:新品种从哪里来

3.1 过去池子里的问题:品种太少、方向太保守

QTYX V3.3.5升级的核心,就是“ETF品种池的全面扩展”。说实话,V3.2时代我的池子是非常保守的,只有大约十几个ETF。宽基四个(沪深300、中证500、上证50、创业板),加上两三个老牌行业ETF(比如白酒、医药、半导体),再加上几个红利和债类品种,就没了。

现在回头看,这个池子的最大的问题是“方向覆盖不全”。市场热点走到科技细分方向的时候,池子里没有对应的高弹性品种;商品类行情起来的时候,池子也没有。而池子之外的强势品种,策略再先进也选不进去——这是一个策略层面的“盲区”,而不仅仅是运气问题。

三因子轮动有个非常底层的逻辑:你的收益上限,取决于你的候选池里最强品种能涨多少。池子越窄,上限越低。过去那段时间回撤大、爬坑慢,一部分原因就是池子太窄,选来选去矮子里拔将军。

3.2 V3.3.5在品种纳入上做了什么升级

这次V3.3.5重写了ETF数据源接入模块,核心变化有几个:

第一,品种覆盖面从“手动维护白名单”改成了“按规则自动扫描全市场”。QTYX现在会定期从行情源拉取全市场ETF的列表,再根据成交额、上市时间、跟踪标的方向,把符合条件的新品种自动加入备选池。以前需要我手动在配置文件里加一行代码才能纳入品种,现在数据源一刷新,新品种自动冒出来。

第二,加了“新方向发现”的功能。每个周末QTYX会生成一份“候选池异动报告”,里面专门把“过去没有纳入池子、但近期成交额显著放大且动量进入全市场前10%”的新品种标记出来。这部分就是V3.3.5里说的“新品种”——不是投资策略上的新品种,而是ETF池子覆盖范围上的新品种。

第三,把费率差异考虑进来了。有些新纳入的ETF虽然是同一个方向,但管理费、托管费加起来的综合费率差个零点几个百分点,短期看问题不大,长期复利下来影响很可观。V3.3.5在打分阶段就按费率做了折价处理,费率太高的品种会扣分。这也是QTYX这类自研工具有温度的地方,不是拿一个固定公式用到底。

3.3 新品种为什么这波“发力”了

这一波爬坑,功劳基本要记在两类新纳入品种上。

一类是细分科技方向的ETF。以前我的池子里只有半导体这种大宽科技,V3.3.5自动扫出了若干聚焦在芯片细分、数字经济、人工智能软硬件等具体赛道的品种。这些方向在最近这波反弹里弹性很大,动量因子一打分自然就冲到前面去了,策略很自然地切了一部分仓位过去。

另一类是商品类的ETF。黄金和有色相关的ETF,在过去那个池子里是完全没有的。V3.3.5补上了这个方向之后,刚好赶上商品类资产走强的一波,两只商品类新品种排进了前三。

我统计了一下,这波净值从最低点回升以来,盈利贡献最大的三只持仓,全部是V3.3.5新纳入的品种。这不是运气,而是“池子扩容之后策略的搜索空间变大”之后的自然结果。池子从十几个扩展到几十个之后,同样的三因子打分逻辑,选出来的东西明显跟以前不一样了。

4. 今日战况复盘:从坑底到回血的实盘记录

4.1 最近一个月的净值轨迹

先把账户的近况交代一下。我这个组合不是一天建成的,前面有过一段相当难受的时期,净值从高点回撤超过8%,中间创出过这轮运行以来的最大回撤。当时我一度怀疑“三因子轮动是不是失效了”,还好没有手动干预把策略停掉。进入这个月之后,净值开始止跌企稳,最近一周连续拉升,目前已经距离前高只剩不到3个点。

这个过程中我做了哪些操作?答案是几乎没有手动操作。所有品种选择、权重分配、调仓时点,全部交给QTYX按纪律执行。我唯一做的事情,就是在V3.3.5发布后重新生成了ETF池,然后每周一确认调仓指令无误,点一下执行。

4.2 本轮回血主要靠谁

我把这段时间的实盘调仓记录简单列一下(做了一定脱敏处理,但数据结构完全真实):

调仓批次持仓方向综合排名本轮状态
回撤期持仓老牌宽基+红利2-3名徘徊贡献回撤,拖后腿
第一次换仓老牌宽基+新纳入科技A1-2名止跌,小幅修复
第二次换仓新纳入科技A+新纳入科技B1-2名净值明显修复
当前持仓新纳入科技B+商品类C1-2名拉升主力

看完这个表你就明白为什么我说“靠新品种发力”。回撤期里持仓长期被老牌宽基和红利类品种占据,这些品种的特点就是稳,但在结构性行情里涨不动,动量得分越来越低。V3.3.5把新品种纳入之后,动量因子很快就识别出新方向更强,排名跃升,仓位自然就切过去了。

这里有一个我特别想强调的心得:轮动策略不要轻易去判断“哪个品种是不是太贵了”“哪个方向是不是已经涨多了”。动量因子的哲学是“强者恒强”,只要涨幅排名摆在那里,趋势没有遭到破坏,就继续拿着。事后看,科技类新品种在净值修复阶段贡献了绝大部分超额收益,这是动量因子自己选出来的,不是我主观拍板选的。

4.3 实盘和回测之间差在哪里

每次讲战报,我都会顺带聊一下实盘和回测之间的差距。QTYX里有很完整的回测框架,历史数据跑出来的理论曲线挺好看的,但实盘就是会高一脚矮一脚。最典型的差异有几个:

一是冲击成本。回测里你按收盘价成交,但实盘中ETF盘口不够厚的话,买入冲击就会被吃掉几个bps。V3.3.5加入成交额因子之后,这个问题缓解了不少,但还是不能完全消除。

二是信号延迟。QTYX在收盘后计算信号,但实际下单是第二天开盘。如果第二天市场跳空高开,你买入的成本会比信号价高,卖出同理。这种“信号偏差”在趋势策略里是系统性的,只能靠调仓纪律去平滑,没法消除。

三是心态成本。这也是所有实盘策略最大的考验。回测里你看到的是一根净值曲线,实盘里你看到的是真金白银在波动。回撤的那段时间,我每天都会打开账户看几次,说没压力是假的。但只要策略逻辑没有被破坏,就必须强迫自己执行下去——中途停掉,才是最大的风险。

5. 新手快速上手:如何从零搭一套自己的ETF轮动

5.1 第一步:先别写代码,先把池子思路理清

很多朋友想搞量化,第一反应就是打开编辑器开始写代码。我的建议是反过来,先把“选什么ETF、用什么规则、多久调一次仓”在Excel里手动跑通,再考虑写代码自动化。原因很简单:如果你手工用Excel都能算清楚规则,写出来的代码至少是逻辑正确的;如果规则本身就糊里糊涂,代码再漂亮也没用。

具体到池子的选择,我建议按“宽基 + 行业 + 主题 + 商品 + 债券”五个方向各选几个有代表性的品种,先凑一个20到30只的候选池。不用一次上太多,先把程序跑通,再慢慢扩。等你对QTYX这类工具的品种扩展机制熟了,再切换到自动扫池模式。

5.2 第二步:三因子打分的手工演算

假设你的池子里只有三只ETF:A、B、C。某天收盘后,你拿到它们过去20个交易日的涨幅、波动率和成交额数据。动量因子就是涨幅本身,波动率因子用收益率的标准差,成交额因子用平均成交额。然后按百分制标准化,加权求和。

A的20日涨幅是8%,波动率是15%,日均成交额5亿;B的20日涨幅是3%,波动率是8%,日均成交额3亿;C的20日涨幅是-1%,波动率是10%,日均成交额1亿。动量打分上A最高,波动率打分上B最高,成交额打分上A最高。综合下来A总分最高、B次之、C最低,策略就会选A和B,排除C。

你可能会发现,这个过程跟“分析公司基本面”完全是两码事。它不关心这只ETF跟踪的行业现在新闻好不好,只关心价格行为本身给出的信号。这套逻辑能不能赚到钱,本质上是承认一个假设:过去一段时间的相对强弱,在一定周期内会延续。

5.3 第三步:用QTYX跑起来,先从回测开始

QTYX这个工具集成了行情获取、信号计算、回测、实盘下单跟踪等一整套流程。新手拿到的第一步,是先把历史数据下载好,跑一遍回测,把净值曲线、回撤、换手率这些指标看明白。

我建议的回测观察顺序是:先看收益率,再看最大回撤,最后看换手率。收益率高的策略不一定能拿住,回撤太大你半夜会睡不着;换手率太高的策略摩擦成本致命。QTYX的回测报告里这几个指标都有,先把它们打印出来,心里有个底。

回测阶段还有一个关键动作:参数敏感性分析。如果你的动量周期从20天改成15天,策略收益就大幅变脸,说明参数过拟合了。我在V3.3.5升级之后做的第一件事,就是把动量周期在15/20/25三档之间来回扫描,确认结果稳定才敢上实盘。这里多说一句,参数自己用起来顺手就行,千万不要盲目追求“回测收益率最高”的那组参数,那组参数大概率在未来会坑你。

5.4 第四步:小资金上实盘,大耐心做记录

回测过得去之后,就可以用一笔“亏光了也不影响生活”的钱上实盘了。我个人的习惯是,第一笔实盘资金控制在计划总资金的10%左右,纯当“用学费换实战经验”。实盘前三个月不要做任何参数修改,只做一件事——记录。

记录每次调仓的原因、实际成交价、信号价、滑点、持仓变化,以及当天的心情。这些原始记录,以后都是你优化策略最宝贵的素材。很多人在实盘亏损之后急着改参数,结果越改越差,就是因为缺少足够的实盘样本数据来做判断。

6. 常见问题与排查技巧实记

6.1 为什么信号总是“晚一步”,每次买入就调整

这是轮动策略最典型的体验。原因很简单,动量因子本身就是滞后指标,它只能在涨幅已经发生之后把它识别出来。所以你的买入点一定不是在起涨点,而是在趋势确认之后。

解决的办法不是去追求更早的信号,而是要接受“用一部分利润换确定性”。我在QTYX里专门写了一个“信号回看”的功能,每次调仓后自动对比“如果提前三天调仓”和“实际调仓”的收益差。刚开始看会有点难受,但看多了就习惯了——提前三天调仓的成功率并没有比按纪律调仓高多少,反而不按纪律还容易买在半山腰。

6.2 新品种纳入池子之后,会不会打乱原有策略

会,而且这是一把双刃剑。V3.3.5把池子扩容之后,策略的换手率一度明显上升,因为新品种的波动率普遍比老品种大,动量排名变化更剧烈。如果新品种的方向恰好是市场热点,收益会很爽;但如果热点退潮,回撤也会比原来更猛。

我的处理方式是给新品种加了一个“观察期”规则。新纳入的ETF从进池那天起,需要有至少两周的动量数据积累,才会参与正式打分。这个规则能挡掉一部分上市初期波动不稳定、或者成交额突然放大的“假强势”品种,减少误调仓。

6.3 实盘信号推送失败,是最常见的技术故障

QTYX的信号计算是在本机跑的,计算完之后会通过消息推送发到手机。我最常踩的坑是,电脑休眠导致定时任务没有执行,信号没推送,错过周一开盘的调仓窗口。后来我加了一个“信号任务自检”的功能,每次计算完不推送,第二天打开软件时会提示“前日信号缺失”,强制人工确认。如果你也在跑类似的定时任务,建议程序计算完不要只依赖推送,还要有日志记录和本地缓存,双保险。

6.4 成交额因子的口径问题

QTYX在计算成交额因子时,默认用的是“成交金额”而不是“成交量”。这两者的区别在于单价不同,导致老ETF和新ETF之间成交额差距天然就很大,会潜意识地偏向老品种、规避新品种。

V3.3.5里我把成交额因子做了“池内百分位标准化”,让新老ETF在成交额维度上做相对排名,而不是直接比绝对值。这个改动看起来很小,实际上对“新品种能否在打分中突围”非常关键。否则池子扩容只是表面繁荣,老品种因为成交额惯性,永远排在前面,新品种根本没有机会通过打分脱颖而出。

7. 实战心得:策略只是手段,纪律和工具才是底气

写到这,最后分享一点个人感受。

这轮从回撤到修复的过程,让我对联动的理解更深了一层。以前我觉得三因子轮动靠的是“选得准”,现在我觉得它真正靠的是“应对得快、犯错得少”。策略本身并不预测市场,它只是每个周期问自己一次:目前哪个方向相对最强、最稳、最有流动性?然后照做。它能赚到钱,靠的不是神机妙算,而是纪律本身——该止损的时候止损,该切换的时候切换,不掺杂任何情绪判断。

QTYX这个工具,我从最早的单机版一直改到V3.3.5,最大的体会是,工具确实在进步,但工具再聪明也替你做不了决定。真正拉开账户差距的,还是你面对净值波动时能不能睡得着觉,面对连续回撤时能不能坚持执行。新品种发力是这波爬坑的直接原因,但更底层的底气,来自策略逻辑的稳定和工具链的可靠。

如果你也在跑自己的量化实盘,希望你也能守住纪律,别在坑底的时候放弃自己验证过的逻辑。市场总有周期,只要策略的逻辑没有被实证推翻,时间最终会把净值曲线重新拉回来的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询