第二十四讲:铜跨品种套利实战
铜的跨品种套利,说白了就是盯着铜和它的“亲戚们”做文章。铜、铝、锌这些基本金属,价格走势长期看是联动的,但短期会有偏离。我做了这么多年交易,发现铜的跨品种套利机会其实比单品种更多,也更考验你对产业链的理解深度。
一、产业链分析:铜的上下游逻辑
做铜的跨品种套利,你得先搞清楚铜在整个产业链里的位置。我个人习惯把铜的产业链分成三段:
- 上游:铜矿开采、铜精矿冶炼。这里关注的是TC/RC(加工费),TC高了说明矿多,冶炼厂日子好过。
- 中游:电解铜生产。这是期货交易的主要标的物,库存变化直接影响价格。
- 下游:铜杆、铜管、铜板带。终端需求看电力、建筑、家电、汽车。
你想想看,铜和铝在电力行业是直接竞争对手。电缆用铜还是用铝,取决于铜铝比价。当铜价太高,下游就会用铝替代。这就是跨品种套利的底层逻辑。
核心观点:铜铝比价是跨品种套利最经典的指标。历史数据显示,铜铝比价通常在2.5-3.5之间波动。超过3.5,说明铜被高估,可以做空铜做多铝;低于2.5,说明铜被低估,反过来操作。
二、比价回归:套利的数学基础
比价回归,说白了就是两个品种的价格比值会围绕一个均值波动。我刚开始做这个策略时,犯过一个低级错误——直接用价格做回归。后来发现,铜和铝的价格都是非平稳的,直接回归是伪回归。
正确的做法是:
- 先检验两个价格序列的平稳性(ADF检验)
- 如果都是I(1)序列,做协整检验
- 如果存在协整关系,计算价差(或比价)的均值回归参数
嗯,这里要注意:铜铝比价虽然长期均值回归,但短期可能偏离很大。我记得2017年铜铝比价冲到3.8,很多人冲进去做空铜做多铝,结果铜继续涨,比价到了4.2才回头。那波回撤,没做好风控的人直接爆仓。
实战技巧:比价回归策略一定要设止损。我个人习惯用2倍标准差作为入场信号,1倍标准差作为止盈信号。别想着吃到全部利润,吃到中间段就够了。
三、套利窗口:什么时候动手?
套利窗口不是随时都开的。我总结了三类典型的开仓信号:
| 信号类型 | 具体表现 | 操作建议 |
|---|---|---|
| 比价极端 | 铜铝比价>3.5或<2.5 | 反向套利 |
| 库存背离 | 铜库存大增,铝库存大减 | 做空铜做多铝 |
| 政策驱动 | 国家电网招标偏向铝电缆 | 做多铝做空铜 |
我曾经在2020年4月抓到过一次很好的套利机会。当时疫情导致铜库存暴增,但铝因为供给侧改革库存偏低。铜铝比价从3.0一路跌到2.3,我果断做空铜做多铝,持仓两个月,收益相当可观。
四、实战代码:比价回归策略
下面是我常用的比价回归策略代码。注意,这不是一个完整的交易系统,只是核心逻辑的演示。
import pandas as pd
import numpy as np
import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller
# 加载数据
data = pd.read_csv('copper_aluminum_data.csv', index_col=0, parse_dates=True)
copper = data['CU.SHF']
aluminum = data['AL.SHF']
# 计算比价
ratio = copper / aluminum
# 平稳性检验
def adf_test(series):
result = adfuller(series.dropna())
return result[1] # p值
# 如果比价序列平稳,直接做均值回归
if adf_test(ratio) < 0.05:
mean_ratio = ratio.mean()
std_ratio = ratio.std()
# 生成信号
ratio['z_score'] = (ratio - mean_ratio) / std_ratio
ratio['signal'] = 0
ratio.loc[ratio['z_score'] > 2, 'signal'] = -1 # 做空铜做多铝
ratio.loc[ratio['z_score'] < -2, 'signal'] = 1 # 做多铜做空铝
# 计算持仓
ratio['position'] = ratio['signal'].shift(1)
ratio['return'] = ratio['position'] * (copper.pct_change() - aluminum.pct_change())
print(f"策略年化收益: {ratio['return'].mean() * 252:.2%}")
else:
print("比价序列不平稳,需要做协整检验")
避坑指南:我曾经用这个策略跑回测,发现收益曲线很漂亮,但实盘一跑就亏钱。后来发现问题出在滑点上。铜和铝的流动性不同,铝的滑点比铜大得多。所以实盘时,一定要把滑点成本算进去,至少按2个tick算。
五、套利窗口的量化识别
除了比价,我还用库存和升贴水来辅助判断套利窗口。下面是一个综合评分系统:
def window_score(copper_inventory, aluminum_inventory, ratio, basis):
"""
套利窗口评分
分数越高,套利机会越好
"""
score = 0
# 库存背离
if copper_inventory > copper_inventory.mean() + 2*copper_inventory.std():
score += 1
if aluminum_inventory < aluminum_inventory.mean() - 2*aluminum_inventory.std():
score += 1
# 比价极端
if ratio > 3.5:
score += 2
elif ratio < 2.5:
score += 2
# 升贴水背离
if basis['CU'] < -100 and basis['AL'] > 50:
score += 1
return score
这个评分系统我用了好几年,效果还不错。分数超过3分,我就会重点关注。超过4分,基本可以确定开仓了。
六、风控与资金管理
跨品种套利虽然风险比单边小,但也不是稳赚不赔。我见过太多人死在“套利不会亏”的幻觉里。实际上,比价偏离可能持续很长时间,甚至不回归。
我的风控原则:
- 单笔最大亏损:不超过总资金的2%
- 最大持仓周期:不超过3个月
- 加仓条件:只有在比价继续偏离且基本面支持的情况下才加仓
我记得2018年有一次,铜铝比价在3.6附近震荡了两个月,我持仓一直浮亏。那段时间压力很大,但最终比价回归到3.0,我平仓时还赚了5%。所以,做套利要有耐心,也要有止损的勇气。
总结一下:铜跨品种套利的核心是产业链分析+比价回归+套利窗口识别。别只看价格,要理解背后的供需逻辑。代码只是工具,真正赚钱的是你对市场的理解。
这张图把铜跨品种套利的整个逻辑框架串起来了。从产业链分析出发,到比价回归的数学验证,再到套利窗口的识别,最后落到执行和风控。每一步都不能少。
做交易这么多年,我最大的体会是:套利不是简单的“买低卖高”,而是对产业链、统计规律和市场情绪的深度理解。铜跨品种套利,说白了就是利用市场短期的定价错误,赚取回归的利润。但前提是,你得知道什么是“正确的价格”。
最后说一句:别迷信任何策略。市场在变,套利机会也在变。保持学习,保持敬畏,这才是长期盈利的根本。