查看全集:💎Quantopia量化分析56讲
(1)核心概念:当两个资产价格序列存在长期均衡关系时,它们的线性组合(价差)会围绕均值波动
(2)数学表达:若X和Y服从随机游走,存在系数a,b使为平稳序列
(3)经济意义:商品与加工品(如大豆与豆油)、替代品(黄金与白银)等天然存在价格关联
(1)ADF检验:判断价差序列的平稳性
from statsmodels.tsa.stattools import adfuller
p_value = adfuller(spread)[1] # p<0.05表示平稳
(2)协整检验:验证两个非平稳序列的长期均衡关系
from statsmodels.tsa.stattools import coint
score, p_value, _ = coint(series1, series2)
(1)经济逻辑:大豆加工商利润 = 豆油价格 + 豆粕价格 - 大豆成本
(2)数据获取与处理:
import yfinance as yf
# 获取大豆期货数据
soybean = yf.download('ZS=F', start='2020-01-01', end='2023-01-01')['Close']
# 获取豆粕期货数据
meal = yf.download('ZM=F', start='2020-01-01', end='2023-01-01')['Close']
# 获取豆油期货数据
oil = yf.download('ZL=F', start='2020-01-01', end='2023-01-01')['Close']
# 构建压榨价差(注意合约乘数调整)
spread = soybean - (0.8*meal + 0.18*oil) # 实际比例需根据加工技术调整
(3)可视化与检验:
plt.figure(figsize=(12,6))
plt.plot(spread)
plt.title('Crush Spread')
print(f"ADF检验p值:{adfuller(spread.dropna())[1]:.4f}")
(1)3:2:1策略公式:
裂解利润 = 2*汽油价格 + 1*取暖油价格 - 3*原油价格
(2)策略特点:
(1)下载黄金(GC=F)和白银(SI=F)期货数据
(2)计算金银价格比序列
(3)进行ADF检验判断是否存在均值回归特性
(4)[答案示例代码见附录]
(1)传导机制示例:
原油期货↑ → 石油公司现金流预期↑ → 股价↑
利率期货↑ → 房地产融资成本↑ → REITs价格↓
(1)策略逻辑:黄金期现价差与矿企股价存在滞后相关性
(2)数据预处理:
# 获取黄金期货和GDX(黄金矿企ETF)数据
gold = yf.download('GC=F', start='2015-01-01')['Adj Close']
gdx = yf.download('GDX', start='2015-01-01')['Adj Close']
# 计算收益率
gold_ret = np.log(gold).diff().dropna()
gdx_ret = np.log(gdx).diff().dropna()
# 滞后相关性分析
lag_corr = pd.concat([gold_ret.shift(5), gdx_ret], axis=1).corr()
(1)操作逻辑:
(2)风险控制要点:
(1)滚动窗口协整检验
(2)Kalman Filter动态对冲比率
(1)压力测试:极端行情下的价差发散风险
(2)止损机制:设置3σ离场阈值
(1)期限结构策略:利用近月-远月价差
(2)品种间曲线套利:跨商品价差(如Brent-WTI)
附录:练习答案示例
# 金银比价分析
gold = yf.download('GC=F', start='2010-01-01')['Adj Close']
silver = yf.download('SI=F', start='2010-01-01')['Adj Close']
ratio = gold/silver
plt.plot(ratio.rolling(30).mean())
plt.title('Gold/Silver Ratio')
print(f"ADF检验p值:{adfuller(ratio.dropna())[1]:.4f}")