第四节:基差与市场结构
正向市场、反向市场,还有市场转换信号——这三个概念,说白了就是基差波动的三种“剧本”。我个人习惯把市场结构比作地基,基差就是盖在上面的房子。地基稳不稳,直接决定了房子怎么晃。
一、正向市场(Contango)
正向市场,也叫升水市场。远月合约价格高于近月合约。为什么会这样?因为持有成本在起作用。仓储费、保险费、资金占用成本,这些都会推高远月价格。
我在项目中遇到过好几次,原油期货在Contango结构下,近月合约贴水远月。这时候做多近月、做空远月的套利,理论上能赚到持有成本的回归。但要注意,不是每次都能赚到。
核心特征:
- 远月 > 近月,基差为负(近月减远月)
- 通常出现在供给过剩、库存高企的阶段
- 套利逻辑:买近卖远,等待基差收敛
我的经验:Contango结构下,展期收益是正的。如果你做多商品指数,每个月滚动换仓时,卖出低价近月、买入高价远月,其实是在亏钱。嗯,这里要注意,展期成本会吃掉你的收益。
二、反向市场(Backwardation)
反向市场正好反过来。近月合约价格高于远月。说白了就是现货紧缺,大家都急着要货,近月被抢出了溢价。
我记得2018年做铜的套利时,就碰到过典型的Backwardation。当时全球铜矿罢工,现货供应紧张,近月合约比远月贵了将近5%。这种结构下,做空近月、做多远月,理论上能赚钱。
核心特征:
- 近月 > 远月,基差为正
- 通常出现在供给短缺、库存低位的阶段
- 套利逻辑:卖近买远,等待基差回归
避坑指南:我曾经在Backwardation结构下做空近月,结果现货一直紧缺,基差越拉越大。最后被迫止损。记住,反向市场可能持续很久,不要逆着趋势硬扛。
三、市场转换信号
市场不会永远待在一种结构里。从Contango切换到Backwardation,或者反过来,这些转换点往往藏着大机会。
我个人习惯关注三个信号:
- 库存变化:库存从高位快速下降,往往是Contango转Backwardation的前兆
- 近远月价差斜率:价差曲线从平坦变陡峭,或者从陡峭变平坦,都是转换信号
- 持仓量变化:主力合约持仓量异常增减,经常领先于市场结构转换
实战技巧:我一般会画一张“基差-库存”散点图。当库存处于历史低位,同时基差由负转正时,就是Backwardation确认的信号。这时候做多近月、做空远月,胜率很高。
四、知识体系框架
下面这张图,是我自己总结的市场结构与基差关系。你想想看,理解了这张图,基本就能看懂大多数商品的基差波动了。
五、实战中的判断方法
光知道概念不够,得会用。我分享一个自己常用的判断流程:
| 步骤 | 操作 | 判断依据 |
|---|---|---|
| 1 | 看近远月价差 | 价差为正 → Backwardation;为负 → Contango |
| 2 | 看库存数据 | 库存低位 + 价差为正 → 确认Backwardation |
| 3 | 看持仓变化 | 主力合约增仓 + 价差扩大 → 趋势延续 |
| 4 | 看期限结构 | 曲线从凸变凹,或从凹变凸 → 转换信号 |
重要提醒:市场结构转换不是一蹴而就的。我曾经见过一个品种,在Contango和Backwardation之间来回切换了三次,才最终确定方向。别急着下结论,多观察几天。
六、代码示例:判断市场结构
下面是我写的一个简单函数,用来判断当前市场处于哪种结构。你可以在自己的回测系统里直接用。
def market_structure(near_price, far_price, inventory_level):
"""
判断市场结构
:param near_price: 近月合约价格
:param far_price: 远月合约价格
:param inventory_level: 库存水平(0-1,1为历史最高)
:return: 'Contango', 'Backwardation', 'Transition'
"""
basis = near_price - far_price
if basis < 0 and inventory_level > 0.7:
return 'Contango'
elif basis > 0 and inventory_level < 0.3:
return 'Backwardation'
else:
return 'Transition' # 转换期,需要进一步确认
使用建议:这个函数只是基础版本。我实际项目中还会加入价差斜率、持仓量变化等参数。你想想看,单一指标容易误判,多指标共振才靠谱。
好了,关于基差与市场结构,就聊这么多。记住一句话:市场结构是基波动的“剧本”,看懂剧本,才能演好套利这场戏。