商品期货 Carry 因子研究
核心结论:本次回测没有发现 carry 方向写反的问题。Q1(低 carry / backwardation)年化 2.54%,Q5(高 carry / contango)年化 -8.71%,多空组合年化 2.36%,Rank IC 均值 -0.0229。负 IC 在这里不是坏事,而是说明“因子值越低,未来收益越高”的反向 carry 逻辑成立。
商品期货 carry 本质上是期限结构给出的展期收益线索。低 carry 通常对应 backwardation, 近月价格相对远月更强,做多近月或主力连续合约更容易获得正展期收益;高 carry 通常对应 contango, 多头展期成本更高,横截面上应当被低配或做空。
策略方向:每日按 carry_score 从低到高排序,分为 5 组;
ascending=True 使 Q1 成为低 carry 组,也就是策略多头组。多空组合定义为
Q1 - Q5。
IC 解读:因为因子值越低预期收益越高,所以 Rank IC 的有效方向应为负值。 把常规“IC>0 胜率”直接套到本因子会误读方向。
Q1 为经济方向调整后的多头侧,Q5 为空头侧;权重来自当日回测组合,不由页面重新计算。
持仓基准日: 2026-10-29(距今 4 个日历日)
Carry标准化分数
| 排名 | 代码 | 品种 | 大类 | 权重 |
|---|---|---|---|---|
| 1 | AP | 苹果 | 农产品 | 8.33% |
| 2 | BU | 沥青 | 能源化工 | 8.33% |
| 3 | BZ | 纯苯 | 能源化工 | 8.33% |
| 4 | EB | 苯乙烯 | 能源化工 | 8.33% |
| 5 | FU | 燃油 | 能源化工 | 8.33% |
| 6 | JD | 鸡蛋 | 农产品 | 8.33% |
| 7 | JM | 焦煤 | 黑色金属 | 8.33% |
| 8 | MA | 甲醇 | 能源化工 | 8.33% |
| 9 | PF | 短纤 | 能源化工 | 8.33% |
| 10 | PR | 瓶片 | 能源化工 | 8.33% |
| 11 | RR | 粳米 | 农产品 | 8.33% |
| 12 | SH | 烧碱 | 能源化工 | 8.33% |
| 排名 | 代码 | 品种 | 大类 | 权重 |
|---|---|---|---|---|
| 1 | CJ | 红枣 | 农产品 | 9.09% |
| 2 | LH | 生猪 | 农产品 | 9.09% |
| 3 | M | 豆粕 | 农产品 | 9.09% |
| 4 | PK | 花生 | 农产品 | 9.09% |
| 5 | PS | 多晶硅 | 能源化工 | 9.09% |
| 6 | RB | 螺纹钢 | 黑色金属 | 9.09% |
| 7 | SA | 纯碱 | 能源化工 | 9.09% |
| 8 | SC | 原油 | 能源化工 | 9.09% |
| 9 | SI | 工业硅 | 有色金属 | 9.09% |
| 10 | SR | 白糖 | 农产品 | 9.09% |
| 11 | UR | 尿素 | 能源化工 | 9.09% |
这一节把 carry 因子监控图谱并入研究报告:同一份 ,
把 80 个候选商品的 carry_score
按月末截面铺成热力图。现在这部分并入研究报告,用它回答两个问题:哪些品种长期处于 contango/backwardation,
以及最新截面上哪些品种站在多头侧或空头侧。
最新 standard score 端点:低 carry 端最强的是 燃油 FU(standard score -2.444), 高 carry 端最强的是 多晶硅 PS (standard score 2.552)。standard score 负责横向可比,下面的 C0/C1 升贴水负责解释它的现实价格来源。
| 低carry排序 | 品种 | 板块 | 信号侧 | carry_score |
|---|---|---|---|---|
| 1 | 燃油 FU | 能源化工 | 低 carry / 多头侧 | -2.444 |
| 2 | 焦煤 JM | 黑色金属 | 低 carry / 多头侧 | -2.319 |
| 3 | 苯乙烯 EB | 能源化工 | 低 carry / 多头侧 | -2.217 |
| 4 | 沥青 BU | 能源化工 | 低 carry / 多头侧 | -1.650 |
| 5 | 低硫燃油 LU | 能源化工 | 低 carry / 多头侧 | -1.257 |
| 6 | 乙二醇 EG | 能源化工 | 低 carry / 多头侧 | -1.091 |
| 7 | 纯苯 BZ | 能源化工 | 低 carry / 多头侧 | -0.881 |
| 8 | 对二甲苯 PX | 能源化工 | 低 carry / 多头侧 | -0.723 |
| 9 | 原油 SC | 能源化工 | 低 carry / 多头侧 | -0.603 |
| 10 | 沪铝 AL | 有色金属 | 低 carry / 多头侧 | -0.510 |
| 11 | 沪锡 SN | 有色金属 | 中性区间 | -0.458 |
| 12 | 甲醇 MA | 能源化工 | 中性区间 | -0.420 |
| 13 | 沪铜 CU | 有色金属 | 中性区间 | -0.402 |
| 14 | 丁二烯橡胶 BR | 能源化工 | 中性区间 | -0.338 |
| 15 | 碳酸锂 LC | 能源金属 | 中性区间 | -0.298 |
| 16 | 20号胶 NR | 能源化工 | 中性区间 | -0.282 |
| 17 | 沪铅 PB | 有色金属 | 中性区间 | -0.208 |
| 18 | 氧化铝 AO | 有色金属 | 中性区间 | -0.192 |
| 19 | PTA TA | 能源化工 | 中性区间 | -0.163 |
| 20 | 白银 AG | 贵金属 | 中性区间 | -0.052 |
| 21 | 锰硅 SM | 黑色金属 | 中性区间 | -0.014 |
| 22 | 豆油 Y | 农产品 | 中性区间 | -0.007 |
| 23 | 不锈钢 SS | 黑色金属 | 中性区间 | +0.017 |
| 24 | 硅铁 SF | 黑色金属 | 中性区间 | +0.020 |
| 25 | 沪镍 NI | 有色金属 | 中性区间 | +0.041 |
| 26 | 铂金 PT | 贵金属 | 中性区间 | +0.065 |
| 27 | 黄金 AU | 贵金属 | 中性区间 | +0.083 |
| 28 | 纸浆 SP | 能源化工 | 中性区间 | +0.098 |
| 29 | 沪锌 ZN | 有色金属 | 中性区间 | +0.132 |
| 30 | 热卷 HC | 黑色金属 | 中性区间 | +0.134 |
| 31 | 钯金 PD | 贵金属 | 中性区间 | +0.207 |
| 32 | 豆一 A | 农产品 | 中性区间 | +0.249 |
| 33 | 棕榈油 P | 农产品 | 中性区间 | +0.289 |
| 34 | 尿素 UR | 能源化工 | 中性区间 | +0.373 |
| 35 | 玉米 C | 农产品 | 中性区间 | +0.430 |
| 36 | 铁矿 I | 黑色金属 | 中性区间 | +0.462 |
| 37 | 玉米淀粉 CS | 农产品 | 中性区间 | +0.471 |
| 38 | 玻璃 FG | 建材 | 高 carry / 空头侧 | +0.509 |
| 39 | 棉花 CF | 农产品 | 高 carry / 空头侧 | +0.616 |
| 40 | 螺纹钢 RB | 黑色金属 | 高 carry / 空头侧 | +0.654 |
| 41 | 菜粕 RM | 农产品 | 高 carry / 空头侧 | +0.687 |
| 42 | 红枣 CJ | 农产品 | 高 carry / 空头侧 | +0.896 |
| 43 | 白糖 SR | 农产品 | 高 carry / 空头侧 | +0.927 |
| 44 | 花生 PK | 农产品 | 高 carry / 空头侧 | +0.989 |
| 45 | 豆粕 M | 农产品 | 高 carry / 空头侧 | +1.604 |
| 46 | 工业硅 SI | 有色金属 | 高 carry / 空头侧 | +1.924 |
| 47 | 纯碱 SA | 能源化工 | 高 carry / 空头侧 | +2.100 |
| 48 | 多晶硅 PS | 能源化工 | 高 carry / 空头侧 | +2.552 |
量化分组验证的是“低 carry 相对高 carry 是否更强”,但期限结构首先是现实市场价格: 近月合约、次近月合约和远月合约到底谁升水,升贴水幅度有多大,才是 carry 因子的经济来源。 最新截面日期为 2026-11-02,有效品种 75 个, 其中 backwardation 38 个、contango 32 个,中位年化 carry 为 -0.3%。
C1-C0% 小于 0 表示次近月低于近月,近月/现货更强,常见于供给偏紧或现货需求较强;
大于 0 表示远月升水,常见于库存压力、仓储融资成本或远期预期更强。年化 carry 是把 C0/C1 价差按月份间隔年化后的横截面信号。
最新极端:近月升水最强的是 鸡蛋 JD (C1-C0 -7.1%,年化 carry -85.2%);远月升水最强的是 多晶硅 PS(C1-C0 7.26%, 年化 carry 87.1%)。这些品种需要结合库存、交割、季节性和主力合约迁移单独解释,不能只看 standard score。
| 方向 | 品种 | 板块 | 形态 | C0结算 | C1结算 | C1-C0% | 年化carry% | 近月OI | 次月OI |
|---|---|---|---|---|---|---|---|---|---|
| 现货/近月升水 | 鸡蛋 JD | 农产品 | Backwardation | 3805.0 | 3535.0 | -7.1 | -85.2 | 236.0 | 211562.0 |
| 现货/近月升水 | 燃油 FU | 能源化工 | Backwardation | 5712.0 | 5337.0 | -6.57 | -78.8 | 41638.0 | 211613.0 |
| 现货/近月升水 | 苹果 AP | 农产品 | Backwardation | 6886.0 | 6462.0 | -6.16 | -73.9 | 286.0 | 4843.0 |
| 现货/近月升水 | 丙烯 PL | 能源化工 | Backwardation | 11442.0 | 10828.0 | -5.37 | -64.4 | 663.0 | 16284.0 |
| 现货/近月升水 | 焦煤 JM | 黑色金属 | Backwardation | 1442.5 | 1374.0 | -4.75 | -57.0 | 4085.0 | 72605.0 |
| 现货/近月升水 | 苯乙烯 EB | 能源化工 | Backwardation | 10980.0 | 10481.0 | -4.54 | -54.5 | 1064.0 | 320320.0 |
| 现货/近月升水 | 短纤 PF | 能源化工 | Backwardation | 8960.0 | 8586.0 | -4.17 | -50.1 | 273.0 | 154134.0 |
| 现货/近月升水 | 沥青 BU | 能源化工 | Backwardation | 5541.0 | 5352.0 | -3.41 | -40.9 | 16858.0 | 102947.0 |
| 现货/近月升水 | 低硫燃油 LU | 能源化工 | Backwardation | 6289.0 | 6124.0 | -2.62 | -31.5 | 23731.0 | 70539.0 |
| 现货/近月升水 | 瓶片 PR | 能源化工 | Backwardation | 8870.0 | 8640.0 | -2.59 | -31.1 | 741.0 | 37752.0 |
| 现货/近月升水 | 原木 LG | 农产品 | Backwardation | 840.0 | 797.5 | -5.06 | -30.4 | 18.0 | 14884.0 |
| 现货/近月升水 | 乙二醇 EG | 能源化工 | Backwardation | 5627.0 | 5498.0 | -2.29 | -27.5 | 3762.0 | 139500.0 |
| 期货远月升水 | 多晶硅 PS | 能源化工 | Contango | 31835.0 | 34145.0 | 7.26 | 87.1 | 4099.0 | 61235.0 |
| 期货远月升水 | 生猪 LH | 农产品 | Contango | 8485.0 | 9540.0 | 12.43 | 74.6 | 54.0 | 162279.0 |
| 期货远月升水 | 油菜籽 RS | 农产品 | Contango | 4918.0 | 5489.0 | 11.61 | 69.7 | 9.0 | 14868.0 |
| 期货远月升水 | 线材 WR | 黑色金属 | Contango | 3136.0 | 3304.0 | 5.36 | 64.3 | 0.0 | 8.0 |
| 期货远月升水 | 纤维板 FB | 建材 | Contango | 1166.0 | 1228.0 | 5.32 | 63.8 | 199.0 | 3850.0 |
| 期货远月升水 | 胶合板 BB | 建材 | Contango | 134.6 | 146.3 | 8.69 | 52.2 | 0.0 | 133.0 |
| 期货远月升水 | 纯碱 SA | 能源化工 | Contango | 928.0 | 966.0 | 4.09 | 49.1 | 5497.0 | 85168.0 |
| 期货远月升水 | 豆二 B | 农产品 | Contango | 3871.0 | 4017.0 | 3.77 | 45.3 | 104.0 | 74254.0 |
| 期货远月升水 | 工业硅 SI | 有色金属 | Contango | 8285.0 | 8595.0 | 3.74 | 44.9 | 5525.0 | 216768.0 |
| 期货远月升水 | 豆粕 M | 农产品 | Contango | 3095.0 | 3191.0 | 3.1 | 37.2 | 5177.0 | 275167.0 |
| 期货远月升水 | 橡胶 RU | 能源化工 | Contango | 18510.0 | 19205.0 | 3.75 | 22.5 | 726.0 | 131663.0 |
| 期货远月升水 | 花生 PK | 农产品 | Contango | 7694.0 | 7838.0 | 1.87 | 22.5 | 2836.0 | 154551.0 |
| 板块 | 品种数 | Backwardation数 | Contango数 | 中位年化carry% | 平均C1-C0% | 最强近月升水 | 最强远月升水 |
|---|---|---|---|---|---|---|---|
| 能源化工 | 23 | 16 | 6 | -15.0 | -1.0 | 燃油 FU | 多晶硅 PS |
| 能源金属 | 1 | 1 | 0 | -8.5 | -0.7 | 碳酸锂 LC | 碳酸锂 LC |
| 有色金属 | 10 | 8 | 2 | -6.2 | -0.14 | 沪铝 AL | 工业硅 SI |
| 黑色金属 | 9 | 5 | 4 | -0.8 | 0.2 | 焦煤 JM | 线材 WR |
| 贵金属 | 4 | 1 | 3 | 0.5 | 0.13 | 白银 AG | 钯金 PD |
| 农产品 | 24 | 7 | 13 | 5.2 | 0.89 | 鸡蛋 JD | 生猪 LH |
| 建材 | 4 | 0 | 4 | 35.5 | 4.12 | 玻璃 FG | 纤维板 FB |
五组年化收益呈明显递减,斜率约 -3.3%/组。 这说明 carry 不只是多空端点有效,中间分组也基本提供排序信息。
| 组合 | 含义 | 平均持仓 | 年化收益% | 夏普 | 最大回撤% | 胜率% | 日换手% |
|---|---|---|---|---|---|---|---|
| Q1 | 低carry多头 | 6.0 | 2.54 | 0.25 | -44.54 | 50.51 | 21.88 |
| Q2 | 中间组 | 5.8 | -0.14 | 0.05 | -51.64 | 50.88 | 41.3 |
| Q3 | 中间组 | 5.6 | -4.86 | -0.38 | -66.78 | 49.21 | 47.04 |
| Q4 | 中间组 | 5.4 | -10.68 | -0.93 | -80.84 | 48.35 | 45.81 |
| Q5 | 高carry空头 | 5.2 | -8.71 | -0.61 | -76.1 | 47.65 | 27.65 |
| Q1多头 | 低carry等权多头 | 6.0 | 2.54 | 0.25 | -44.54 | 50.51 | 21.88 |
| Q1-Q5 | 低carry多 / 高carry空 | 11.2 | 2.36 | 0.24 | -49.8 | 50.74 | 49.53 |
Q1-Q5 多空净值从 1.0 增长到 1.395, 年化收益 2.36%,夏普 0.24。 但最大回撤约 -49.8%,说明 carry 可以作为截面 alpha, 但不应单独承担组合核心风险预算。
Rank IC 均值为 -0.0229,ICIR 为 -0.085。IC 胜率低于 50% 是方向约定导致的表象: 对本策略应关注 IC 是否稳定为负,而不是是否大于零。
| 持有期(日) | IC均值 | IC标准差 | IR | IC>0胜率 | |IC|>0.02占比 |
|---|---|---|---|---|---|
| 1 | -0.0229 | 0.2686 | -0.0854 | 0.4633 | 0.9394 |
| 5 | -0.037 | 0.2776 | -0.1332 | 0.4596 | 0.9396 |
| 10 | -0.0494 | 0.2819 | -0.1751 | 0.4302 | 0.9359 |
| 20 | -0.0537 | 0.2818 | -0.1906 | 0.4308 | 0.9357 |
商品期货有明显的季节规律(农产品收获周期、能化旺季、黑色建材开工季),这可能让 carry 因子的 截面预测力在不同月份呈现规律性变化。这里先把每日 Rank IC 聚合成每个自然月的月均 IC, 再按日历月份(1-12月)做跨年比较,避免日度 IC 自相关和每月交易日数量差异放大季节性。
季节性发现:carry 信号在 7月最强 (平均 IC -0.0395),在 12月最弱 (平均 IC -0.0031),月际 IC 均值差异达 0.0364。 全部 12 个月的平均 IC 均为负,说明 carry 方向全年成立,只是强度有季节波动。 最强月份的 IC 强度约为最弱月份的数倍,季节性是 carry 因子不可忽视的结构性特征。
| 月份 | 年-月数 | IC均值 | IC标准差 | IR | IC<0占比 | |IC|>0.02占比 |
|---|---|---|---|---|---|---|
| 1月 | 15 | -0.0258 | 0.0884 | -0.292 | 0.6 | 0.867 |
| 2月 | 15 | -0.0383 | 0.093 | -0.412 | 0.6 | 0.733 |
| 3月 | 15 | -0.0145 | 0.0746 | -0.194 | 0.533 | 0.8 |
| 4月 | 15 | -0.0321 | 0.0612 | -0.525 | 0.6 | 0.6 |
| 5月 | 15 | -0.0149 | 0.0463 | -0.322 | 0.6 | 0.6 |
| 6月 | 15 | -0.0168 | 0.0788 | -0.213 | 0.6 | 0.8 |
| 7月 | 15 | -0.0395 | 0.0818 | -0.483 | 0.733 | 0.933 |
| 8月 | 15 | -0.0257 | 0.0591 | -0.434 | 0.733 | 0.8 |
| 9月 | 15 | -0.0267 | 0.0719 | -0.371 | 0.667 | 0.733 |
| 10月 | 15 | -0.0362 | 0.0811 | -0.447 | 0.733 | 0.667 |
| 11月 | 14 | -0.0129 | 0.0439 | -0.293 | 0.714 | 0.5 |
| 12月 | 14 | -0.0031 | 0.0478 | -0.064 | 0.429 | 0.429 |
日频调仓使换手成为主要摩擦项。Q1 多头平均日换手约 21.88%,Q1+Q5 双边组合平均日换手约 49.53%。
回测报告此前的 3bp 是保守的研究口径。下面按 fut_parameters.tradingcommission
把各品种的真实手续费(元/手)换算成 notional 费率(÷ 合约乘数×主力价),确认真实成本结构:
关键发现:持仓品种的真实手续费率中位数仅约 0.2bp, 95% 品种低于 1bp,远低于 3bp 研究口径。这说明原回测的成本假设是偏保守的(高估了成本), 在真实费率下 carry 策略的净收益会比报告口径更好。贵金属/有色金属等大品种费率最低(流动性最好), 部分农产品和建材费率偏高。
| Category | 品种数 | 中位费率bp | 均值费率bp | 最高费率bp | 最高品种 |
|---|---|---|---|---|---|
| 农产品 | 20 | 0.3239 | 0.4087 | 1.0207 | 花生 PK |
| 能源化工 | 25 | 0.2053 | 0.3103 | 1.5528 | 纯碱 SA |
| 黑色金属 | 9 | 0.119 | 0.3039 | 1.0288 | 硅铁 SF |
| 能源金属 | 1 | 0.0884 | 0.0884 | 0.0884 | 碳酸锂 LC |
| 建材 | 4 | 0.0765 | 0.4716 | 1.7301 | 玻璃 FG |
| 有色金属 | 10 | 0.0507 | 0.1093 | 0.2588 | 沪镍 NI |
| 贵金属 | 4 | 0.0362 | 0.0486 | 0.1192 | 黄金 AU |
把真实中位手续费(约 0.2bp)叠加 0.5bp 近月滑点近似后,
对多空组合做成本敏感性测试(在原始多空日收益上按 换手×单边费率×2 扣减后重算年化):
| 成本情景 | 单边费率bp | 年化收益% | vs无成本% |
|---|---|---|---|
| 无成本 | 0.0 | 11.33 | 0.0 |
| 真实中位手续费 | 0.148 | 10.92 | -0.41 |
| 真实+滑点0.5bp | 0.648 | 9.55 | -1.79 |
| 研究口径3bp | 3.0 | 3.3 | -8.03 |
| 悲观5bp | 5.0 | -1.73 | -13.06 |
| 悲观10bp | 10.0 | -13.26 | -24.6 |
| 检查项 | 结论 | 说明 |
|---|---|---|
| 方向约定 | 已确认 | ascending=True 使低 carry 成为 Q1 多头;实证 Q1>Q5,IC 为负,方向自洽。 |
| 前视控制 | 已切换 | 当前使用 2 bars delay:组合收益使用 w.shift(2),IC 使用 returns.shift(-2),比单 bar 延迟更保守。 |
| 有效样本池 | 已披露 | 80 个品种中日均有效入组约 28.0 个;本报告明确将结论限定为“流动且期限结构/收益可得”的商品子样本。 |
| 收益缺失处理 | 已处理 | 入组池要求 carry_score 非空且 T+2 收益可得,避免持仓收益 NaN 被隐含当作 0。 |
| 多空字段语义 | 已修正 | PortfolioResult.long_short_weights 已改为按 ascending/factor_mode 输出“多头组 - 空头组”,与 BacktestResult.long_short_nav 一致。 |
| 交易成本模型 | 已评估 | 按 fut_parameters 换算品种真实手续费(元/手→费率),持仓品种中位费率约 0.2bp,远低于 3bp 研究口径;并完成含滑点的成本敏感性分析(见第七节)。保证金占用、涨跌停、换月冲击仍需实盘数据补充。 |
因子评价:carry 在商品期货横截面上具备可见的排序能力,方向正确、单调性清晰、多空组合为正。 它更适合作为商品多因子模型的一条基础风险溢价信号,而不是单独上实盘的日频策略。
下一步:建议补三项稳健性检验:月频/周频调仓对照、分板块中性化或板块内排序、 以及按真实手续费和保证金占用重算组合收益。若这三项后多空仍稳定,策略可信度会明显提高。