一、轮动策略概述
什么是轮动策略
轮动策略,说白了就是「哪个强买哪个,哪个弱换掉」。
我刚开始做量化的时候,总觉得这玩意儿太简单了。不就是每天看看涨幅榜,买前几名吗?后来踩了坑才知道,这里面的门道深着呢。
轮动策略的核心逻辑其实就一句话:在不同资产或板块之间,根据某种规则动态切换持仓。你想想看,市场里的钱就像水一样,今天流到白酒,明天流到新能源。我们要做的,就是跟着水流走。
举个例子:
- 你同时跟踪5个行业ETF
- 每周五收盘后,计算它们的动量指标
- 买入动量最强的2个,卖出剩下的
- 下周重复这个动作
这就是最经典的轮动框架。嗯,这里要注意,轮动不是简单的追涨杀跌。它背后有统计学逻辑支撑。
轮动策略的三要素:
- 标的池:你准备在哪些资产之间轮动?
- 排序规则:用什么指标决定谁强谁弱?
- 调仓频率:多久换一次仓?
我个人习惯把轮动策略分成两类:
- 截面轮动:同一时间点,比较不同资产的表现,选最优的
- 时间序列轮动:看单个资产自身的历史表现,决定进出时机
实际项目中,我更喜欢把两者结合起来用。比如先用截面选出前5名,再用时间序列判断这5个是否值得进场。
轮动策略的收益来源
很多人以为轮动策略的收益来自「预测准确」。其实不是。
轮动策略的收益,主要来自三个地方:
| 收益来源 | 解释 | 我踩过的坑 |
|---|---|---|
| 动量溢价 | 强者恒强的趋势效应 | 曾经以为动量永远有效,结果2018年震荡市被打脸 |
| 波动率控制 | 通过分散降低整体波动 | 一开始只轮动2个标的,回撤大到睡不着 |
| 错误定价修复 | 市场短期过度反应后的回归 | 这个最难把握,我建议用多因子综合判断 |
为什么会这样?说白了,市场不是完全有效的。资金流入流出需要时间,趋势一旦形成,短期内很难逆转。轮动策略就是吃这口「趋势延续」的饭。
我曾经做过一个回测:
# 简单的双均线轮动示例
import pandas as pd
import numpy as np
def momentum_rotation(data, lookback=20, top_n=3):
"""
动量轮动策略
data: DataFrame, 每列是一个资产的日收益率
lookback: 回看天数
top_n: 每次持有几个资产
"""
# 计算动量分数
momentum = data.rolling(lookback).mean()
# 每月调仓
monthly = momentum.resample('M').last()
# 选前N名
ranks = monthly.rank(axis=1, ascending=False)
selected = ranks <= top_n
return selected
这个代码看起来简单,但实际跑起来你会发现:选对参数和选错参数,收益能差3倍以上。我建议新手先从20天回看期、持有3个标的开始试。
我的经验:轮动策略的收益,60%来自标的的选择,30%来自调仓频率,10%来自运气。别把运气当能力。
轮动策略的风险特征
说到风险,我得先泼盆冷水。轮动策略不是万能药。
我见过太多人,回测曲线漂亮得不行,实盘一跑就崩。为什么?因为他们忽略了轮动策略的几个致命风险。
第一个风险:趋势反转
轮动策略最怕什么?怕市场风格突然切换。你刚买进去,趋势就断了。
我记得2021年春节后,很多做白酒轮动的策略直接腰斩。因为白酒连涨了两年,所有人都觉得「这次不一样」。结果呢?
第二个风险:交易成本
轮动策略调仓频繁,手续费和滑点能把收益吃掉一大半。
我曾经帮一个朋友优化策略,他的回测年化收益25%,但加上千分之二的交易成本后,只剩12%。嗯,这里要注意,回测时一定要把滑点算进去。
第三个风险:流动性陷阱
小市值、冷门资产的轮动,看着收益高,但你可能根本卖不出去。
我建议:
- 标的池的日均成交额不低于1亿
- 单次调仓不超过日均成交额的5%
- 避开ST股和庄股
避坑指南:我曾经用过一个轮动策略,回测5年夏普比率2.3。实盘跑了3个月,亏了15%。后来发现是回测时没考虑「未来信息」——我用的是当天的收盘价来选股,但实际交易时根本买不到那个价格。
风险矩阵总结:
| 风险类型 | 影响程度 | 应对方法 |
|---|---|---|
| 趋势反转 | 高 | 加入止损、多策略组合 |
| 交易成本 | 中高 | 降低调仓频率、用ETF代替个股 |
| 流动性 | 中 | 筛选标的、控制仓位 |
| 过拟合 | 高 | 样本外测试、参数稳健性检验 |
最后说一句:轮动策略的本质,是承认自己无法预测市场,但可以利用市场的惯性。别想着战胜市场,跟着走就行了。