期限结构 Carry 策略:从多因子股票视角,看懂期货到底在赚什么钱

由xuxiaoyin创建,最终由xuxiaoyin 被浏览 5 用户

一句话版:这套策略每周按"展期收益率"给期货品种排座次、贴水做多/升水做空,等权持有。但拆腿归因后真相是——它赚的是商品天然贴水体质的 beta 暴露,不是每周调仓的 alpha 择时。这个结论对做期货单因子研究的人来说,是个重要的"认知纠偏"。

一、先建立框架:期货因子 = 商品截面因子

如果你做过股票多因子,这套框架对你完全不是新东西。把资产从股票换成期货,超额收益的分解结构一模一样:

维度 股票多因子 期货期限结构因子(Carry)
收益来源 市场 β + 因子暴露 + 残差 商品 β + 期限结构因子 + 残差
"结构租金" 股息率(dividend yield) 展期收益(roll yield = 便利收益 − 无风险利率)
低估值 ≈ 价值因子(低 PB/PE) 贴水 / backwardation(近月比远月贵 = 高展期收益)
检验手法 截面排序、五分位单调、IC、样本内外衰减 截面排序、五分位单调、IC、样本内外衰减

核心洞察:贴水(近月贵)本质是现货紧、库存低,持有实物能吃到"便利收益"。长期站在贴水一方,就等于长期收一笔结构租金——跟股票里"低估值长期有溢价"是同一个故事。

二、核心概念:展期收益(Carry)到底是什么

同一商品同时有"1月、5月、9月"等多个合约:

  • 升水(Contango):远月比近月贵。
  • 贴水(Backwardation):近月比远月贵。

展期收益率 RY 衡量"持有近月、每周滚到远月"能赚(亏)多少比例:

RY = (近月收盘价 − 远月收盘价) / 月份
  • RY > 0(贴水) → 做多:每周滚动时卖掉贵的近月、买便宜的远月,白赚差价。
  • RY < 0(升水) → 做空:反向操作同样赚滚动价差。

一句话:做多贴水品种、做空升水品种,赌的是"近远月价差会慢慢回归",这部分收益和商品价格方向弱相关,靠的是结构上持续存在的 carry。

三、策略怎么跑:每周定方向,换月才吃 carry

策略里有两种节奏完全不同的"换手",这是最容易混淆的点:

  1. 每周调仓(Trade,周一) —— 只是"决定方向"。算一遍 RY,贴水做多、升水做空,把仓位调到对应方向。这一步不滚动合约、不碰展期收益。
  2. 合约换月(replace_old_futures,每天盘前检测) —— 才是"吃展期收益"的动作。一旦主力合约变了(如 RB1610 → RB1701),平掉旧主力、按同手数开新主力。这个时刻,展期收益才落袋。

所以准确说法是:每周调仓 = 定方向,不产 carry;合约换月 = 平近开远,才把 carry 落袋。 两者解耦——你怀疑"每周调仓吃不到 carry"是对的,因为每周调仓本来就不该吃 carry,吃的活儿在换月那步干完了。

四、真相拆腿:这策略赚的是 beta,不是 alpha

这是整篇最关键的一段。把原策略的收益做归因拆腿(和股票里把 smart-beta 产品拆成"因子暴露 + 择时增量"是同一个手法):

构造方式 年化收益 夏普 最大回撤
被动腿 长期持一个"贴水体质"固定篮子(多空对冲净敞口) 5.01% 1.01 −9.0%
完整信号 原策略每周按 RY 调仓(净敞口归零版) 3.96% 0.77 −10.9%
主动择时腿 信号带来的增量 2.05% 0.48

排序是 被动 > 完整 > 主动。也就是说:

  • 你每周辛辛苦苦按 RY 调仓,反而把组合搞差了(主动择时腿夏普只有 0.48,还拖后腿);
  • 真正赚钱的是"长期站在贴水一方"这个被动结构暴露
  • 结论:期货 carry 是个 beta,不是 alpha。

两个补充对照,进一步坐实"钱不来自滚动价差":

  • 原版不归零净敞口时其实是 5.63% / 0.88——多出来的那块是裸持近月的方向性敞口(净空贡献了 36% 收益)。
  • 纯做日历价差(只滚近远月赚 carry、不持方向)夏普 −0.12、年化 −0.19%——一分钱没赚还小亏。

五、给你的方法论启示

  1. 做期货单因子,第一步不是急着择时,而是先认清楚"我赚的是哪一笔 beta 暴露"。把 beta 认清楚,再谈 alpha。
  2. 收益归因是基本功。任何"策略"在对外讲之前,先拆成被动暴露 + 主动择时两条腿——很多看似厉害的 alpha,拆完发现就是个 beta。
  3. 贴水 ≈ 股票价值因子这个映射要刻在脑子里:持有结构上被补偿的一方,时间替你赚钱。
  4. 口径要讲清:上面对比用的是"净敞口归零版"(3.96% / 0.77),因为被动腿本就是结构暴露,要公平得先去掉方向性 beta;未归零原版(5.63% / 0.88)含了裸方向敞口,别混着报。

附录

https://bigquant.com/codesharev3/2f182f0c-7bf4-4058-98bf-1f82626518b9

\

{link}