halo 的技术博客

返回

「价值好还是成长好?」——这个问题没有恒定答案,只有随时间切换的答案。2000–2007 年价值碾压成长,2009–2020 年成长反杀价值,2021–2022 价值又翻身。如果有一把「宏观仪表盘」能告诉我们当下该偏向哪边,就能在价值/成长之间做轮动(style rotation),而不是死捂一个风格吃满它的回撤。

本文用两个最经典的宏观仪表:收益率曲线斜率(10Y−2Y)信用利差(BAA−AAA),构建一个给价值/成长切换择时的信号,并用一段 8 年日度数据演示它的真实表现。结论先放在这:宏观轮动不保证跑赢最好的单一风格,但它能把回撤从 −45% 砍到 −23%——它的价值是风险管理,不是点石成金。

一、为什么宏观能预测风格#

经济学直觉很直接:

  • 陡峭的收益率曲线 + 收窄的信用利差 = 经济扩张、复苏早期。这时利率低、信贷宽松、周期股(价值风格富集)盈利弹性大 → 价值占优
  • 平坦/倒挂的曲线 + 走阔的信用利差 = 经济放缓、衰退临近。这时资金涌向长期确定性增长,防御与成长股受捧 → 成长占优

所以一个朴素的宏观打分可以定义为:

scoret=z(slopet)z(credit_spreadt)\text{score}_t = z(\text{slope}_t) - z(\text{credit\_spread}_t)

分数越高(曲线越陡、信用越紧),越该超配价值。把分数用 sigmoid 映射成权重:

wtvalue=σ(kscoret),wtgrowth=1wtvaluew^{\text{value}}_t = \sigma(k\cdot \text{score}_t),\qquad w^{\text{growth}}_t = 1 - w^{\text{value}}_t

kk 是「置信度增益」,越大越敢押。轮动组合的日收益就是两风格的加权:

rtrot=wtvaluertvalue+wtgrowthrtgrowthr^{\text{rot}}_t = w^{\text{value}}_t\, r^{\text{value}}_t + w^{\text{growth}}_t\, r^{\text{growth}}_t

价值、成长与宏观轮动的累计净值

二、Python:宏观信号驱动的风格轮动#

下面这段代码是生成图表的核心逻辑。注意 lag=5 这一行——它把信号滞后 5 个交易日再下单,模拟「看到信号 → 研究确认 → 调仓」的真实执行时滞。这一点在第四节会证明是诚实性的命门。

三、宏观信号与轮动权重长什么样#

下面的信号时序展示了曲线斜率与信用利差的此起彼伏——它们反向运动,共同拼出宏观的「risk-on / risk-off」节奏。

宏观信号:曲线斜率与信用利差时序

而轮动权重并非 0/1 硬切换,而是随打分在价值与成长之间连续漂移:宏观偏价值时权重抬到 0.70.8,偏成长时落到 0.20.3,平均正好在 0.50 附近(样本里两种风格各领风骚一半时间)。

轮动权重在价值与成长之间连续变化

四、真实计算结果(8 年日度)#

我跑了一段 2016 个交易日(约 8 年)的合成数据:底层有一个隐藏宏观状态 hth_t 驱动价值/成长的相对强弱,但我们观测到的斜率和信用利差只是 hth_t 的带噪代理——这正是实战的写照,宏观指标从不精确反映真实状态。结果:

策略终值年化最大回撤
价值因子(纯多)0.670−4.9%−61.6%
成长因子(纯多)1.9588.8%−45.3%
静态 50/501.2212.5%−37.1%
宏观轮动(本文)1.9498.7%−22.7%

两个要点:

  1. 轮动没跑赢最好的单一风格(成长 8.8% vs 轮动 8.7%)——这点必须诚实。宏观择时做不到「只在成长涨时全仓成长」;它只是把筹码更合理地分配,吃不到单一风格的极端 alpha。
  2. 但回撤从 −45.3% 砍到 −22.7%,几乎腰斩。 风险调整收益(收益/回撤)显著改善。这才是风格轮动真正该卖的卖点:** smoother ride,更扛得住,更睡得着。**

轮动与单一价值的回撤对比

五、真实陷阱(最容易翻车的地方)#

  1. 前视偏差(look-ahead)——最隐蔽的坑。 如果我在上面用当期的斜率/信用利差直接给当期权重(即 lag=0 且信号与收益同源),策略年化会飙到 200%+,回撤不到 10%——漂亮得离谱,也假得离谱。原因:合成时信号和收益都从同一个 hth_t 长出,零滞后等于偷看了未来。实盘里信号永远滞后、且带噪声。任何「宏观轮动回测漂亮到不像话」的结果,第一反应都该查前视。 本文特意加了 lag=5 与大方差特异噪声,把这个结果「打回人间」。

  2. 宏观关系会 regime shift。 2022 年加息周期里「价值跑赢」的传统逻辑被高利率下的成长杀估值打破;曲线倒挂也不一定立刻衰退。信号的历史有效性会漂移,要滚动检验,不能刻舟求剑。

  3. 信号噪声 → 频繁换手 → 成本吞噬。 斜率/信用利差日度波动很大,直接用日度 z-score 会制造大量无意义调仓。实务要对信号做平滑(如 1~3 月移动平均)或只在权重变化超阈值时才调,压低换手。

  4. 用 ETF 代理风格的幸存者偏差。 用 VTV/VUG、或沪深 300 价值/成长指数做代理时,指数编制规则本身会改写「价值/成长」的定义,回测里吃到的可能是编制红利而非真实风格溢价。

  5. 利率与信用利差的低频性。 这两个信号本质偏月度/季度,用日度数据做轮动属于「杀鸡用牛刀」,多数噪声。更稳妥的是月度再平衡 + 季度信号。

六、小结#

风格轮动的本质,是用一套有经济学含义的宏观仪表,在价值与成长之间做「顺势加权」,而不是预测谁涨得最多。它的真实价值不在收益增强(本文里几乎和最好的单一风格打平),而在回撤管控——把 −45% 的过山车压成 −23% 的平稳曲线。任何想靠它「精准抄底某个风格」的期待,都会在前视偏差和 regime shift 面前摔跟头;把它当风险管理工具而非 alpha 印钞机,才算用对了。

本文行情由「隐藏宏观状态 + 带噪观测信号 + 大方差特异噪声」合成,仅用于演示轮动机制与陷阱;实盘落地请用真实价值/成长指数(如 Fama-French SMB/HML、或 VTV/VUG、沪深300风格指数)与真实宏观序列(FRED 的 T10Y2Y、BAA−AAA),并严格处理信号滞后与交易成本。本文仅作研究方法示例,不构成任何投资建议。

风格轮动的宏观信号:用利差/动量给价值成长切换择时
https://blog.halo26812.eu.org/blog/style-rotation-macro
Author halo
Published at 2026年7月12日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨