8. 基差与期货期限结构:Backwardation与Contango的库存解释

好,咱们今天聊一个特别经典的话题——期货的期限结构。

说白了,就是期货价格在不同月份合约上的排列形态。你打开行情软件,看到近月合约贵、远月合约便宜,这叫Backwardation(现货溢价)。反过来,近月便宜、远月贵,这叫Contango(期货溢价)。

这两种形态背后,库存是核心驱动力。我做了这么多年交易,可以负责任地告诉你——理解了库存,你就理解了期限结构的一半

8.1 两种期限结构的定义与特征

先明确一下基本概念。

特征 Backwardation(现货溢价) Contango(期货溢价)
价格形态 近高远低,向下倾斜 近低远高,向上倾斜
基差 现货 > 期货,基差为正 现货 < 期货,基差为负
库存状态 库存紧张,供不应求 库存充裕,供过于求
市场情绪 看涨,担心当下买不到货 看跌,预期未来供应宽松
典型品种 原油(地缘冲突时)、铜(罢工时) 玉米(丰收季)、铁矿石(港口库存高)

你想想看,为什么会出现这种差异?

核心就一句话:库存决定了持有现货的便利收益(Convenience Yield)

核心公式:

期货价格 = 现货价格 + 仓储成本 + 资金成本 - 便利收益

当库存极低时,便利收益飙升,期货价格甚至低于现货——这就是Backwardation。

当库存极高时,便利收益趋近于零,期货价格主要反映仓储和资金成本——这就是Contango。

8.2 库存如何驱动期限结构:一个直观的框架

我习惯用一张图来理解这个逻辑。下面是我自己画的框架图,你一看就明白。

库存驱动期限结构的逻辑框架 库存水平(高/低) 便利收益(高/低) 基差(正/负) 期限结构形态 库存低 供不应求 库存高 供过于求 Backwardation 近月 > 远月 Contango 近月 < 远月

这个框架我用了很多年。每次分析一个品种,我第一件事就是看它的库存数据——交易所库存、港口库存、社会库存,能拿到的都要看。

8.3 实战案例:铜的Backwardation与库存的关系

我记得2021年有个经典案例。当时铜的全球显性库存跌到了历史低位,LME铜库存不到10万吨。

结果呢?铜的期限结构从Contango直接翻转为Backwardation,而且近月合约比远月合约贵了将近200美元/吨。

我的经验:

当库存低于「安全阈值」时,Backwardation会急剧加深。这个阈值因品种而异——铜大概是15天的消费量,原油大概是30天的消费量。

低于这个水平,市场就会开始恐慌性抢购现货,基差会像脱缰的野马一样往上冲。

为什么会这样?

因为铜的冶炼厂不能随便停产。一旦库存见底,下游加工企业为了维持生产,愿意支付任何溢价来拿到现货。这时候,持有现货的便利收益极高,远月合约自然就折价了。

8.4 实战案例:原油的Contango与库存堆积

反过来,2020年4月那次原油期货跌到负值,就是Contango的极端案例。

当时全球原油库存爆满,库欣地区的储油罐都快装不下了。我记得当时看数据,库欣库存利用率超过了80%。

结果呢?近月合约暴跌,远月合约虽然也跌,但跌幅小得多。期限结构变成了陡峭的Contango。

避坑指南:

我曾经犯过一个错误——看到Contango很深,就盲目做多近月、做空远月,以为能赚展期收益。

结果库存继续堆积,近月合约被逼仓,我差点爆仓。

教训是:Contango的深度不代表它一定会回归。只要库存还在增加,Contango可以持续很久。

8.5 如何用库存数据预判期限结构转换

做交易不能只看当前形态,你得预判它什么时候会变。

我个人习惯用以下几个指标:

  1. 库存变化率:连续3周库存下降,Backwardation大概率会加深。
  2. 库存绝对水平:低于5年同期最低值,警惕Backwardation。
  3. 库存与消费比:这个比库存绝对值更可靠。比如铜的库存/消费比低于0.5周,就是极度紧张。
  4. 远期曲线斜率:斜率越陡,说明市场对未来的预期越极端,反转的可能性越大。

举个例子。2022年镍的逼仓事件之前,LME镍库存从25万吨一路跌到8万吨,库存/消费比降到了0.3周。当时Backwardation已经非常深了,近月比远月贵了1000美元/吨。

嗯,后来的事情大家都知道了——3月8日那天,镍价一天涨了250%。

8.6 量化视角:用库存数据建模期限结构

如果你做量化,可以尝试用库存数据来预测期限结构。

我写过这样一个简单的回归模型:

# 伪代码示例:用库存预测基差
import pandas as pd
import statsmodels.api as sm

# 数据:库存水平、库存变化率、基差
df = pd.read_csv('inventory_basis_data.csv')
X = df[['inventory_level', 'inventory_change_3w']]
y = df['basis']  # 基差 = 近月 - 远月

X = sm.add_constant(X)
model = sm.OLS(y, X).fit()
print(model.summary())

这个模型虽然简单,但在铜、铝、原油这些品种上,R方通常能达到0.6以上。说白了,库存能解释基差变动的60%以上。

核心结论:

Backwardation = 低库存 + 高便利收益

Contango = 高库存 + 低便利收益

交易的关键不是看当前形态,而是判断库存的拐点。

最后说一句。期限结构不是一成不变的,它会随着库存的增减而动态变化。你盯住库存数据,就能比别人早一步看到拐点。

嗯,今天就聊到这儿。记住一句话:库存是期限结构的锚


公众号:蓝海资料掘金营,微信deep3321