加密统计套利 — 配对交易与均值回归

统计套利利用价格暂时偏离均衡的机会。当两个通常同步波动的资产出现偏离时,统计套利交易者买入表现不佳的资产并做空表现优异的资产,押注于两者重新收敛。在加密领域,这种方法尤其有效,因为资产之间存在相关性但并不完全一致,从而创造了盈利机会。

示例: BTC 和 ETH 的相关性为 0.85。当 ETH 在 1 小时内表现落后 BTC 3%(异常情况),统计套利交易者做空 BTC 并做多 ETH。历史上,它们会在 4-8 小时内重新收敛,锁定约 1-1.5% 的利润。

配对交易基础

选择配对

并非所有配对都有效。你需要:

Python — 配对选择
import pandas as pd
from scipy.stats import pearsonr
def find_cointegrated_pairs(symbols, data):
candidates = []
for i, sym1 in enumerate(symbols):
for sym2 in symbols[i+1:]:
# 计算相关性
corr, p_value = pearsonr(data[sym1], data[sym2])
if corr > 0.75:
# 检验协整性(Engle-Granger 检验)
residuals = data[sym1] - (data[sym2] * corr)
adf_stat = adf_test(residuals) # 平稳性
if adf_stat < 0.05: # 平稳
candidates.append((sym1, sym2, corr))
return candidates

协整分析

什么是协整?

如果两个非平稳序列的线性组合是平稳的,则它们是协整的。简单来说:它们随时间一起波动,偏离这种关系的偏差最终会回归。

对于 BTC 和 ETH:

寻找对冲比率

使用普通最小二乘回归找到最优比率:

Python — 对冲比率计算
from sklearn.linear_model import LinearRegression
def get_hedge_ratio(price1, price2):
# 回归 price1 对 price2 以找到 beta(对冲比率)
X = price2.reshape(-1, 1)
y = price1
model = LinearRegression().fit(X, y)
hedge_ratio = model.coef_[0]
intercept = model.intercept_
return hedge_ratio, intercept
# 价差 = price1 - (hedge_ratio × price2) + intercept
beta, alpha = get_hedge_ratio(btc_prices, eth_prices)
spread = btc - (beta * eth)

均值回归策略

使用 Z 分数

标准化价差以检测极端值。当 z 分数 > 2 时,价差异常宽(交易机会):

Python — 均值回归交易
def mean_reversion_signal(spread, lookback=20):
# 计算滚动均值和标准差
mean = spread.rolling(window=lookback).mean()
std = spread.rolling(window=lookback).std()
# Z 分数:距离均值多少个标准差
z_score = (spread - mean) / std
# 交易信号
if z_score[-1] > 2.0:
return "LONG_SPREAD" # 价差过宽,买入表现不佳者
elif z_score[-1] < -2.0:
return "SHORT_SPREAD" # 价差过窄,做空表现不佳者
else:
return "NEUTRAL"

退出规则

当价差回归均值(z 分数 → 0)或达到损失阈值(在 z 分数反转时止损)时平仓:

Python — 退出逻辑
def check_exit(entry_z_score, current_z_score, entry_price):
# 止盈:价差收敛至均值的一半
if abs(current_z_score) < abs(entry_z_score) * 0.5:
return "退出", "止盈目标"
# 止损条件:z分数向错误方向移动超过1
如果 (入场_z分数 > 0 当前_z分数 < 入场_z分数 + 1.0):
返回 "退出", "止损"
否则如果 (入场_z分数 < 0 当前_z分数 > 入场_z分数 - 1.0):
返回 "退出", "止损"
返回 "持有",

统计套利策略回测

统计套利关键指标:

Python — 配对策略回测
定义 回测配对策略(价格1, 价格2, 对冲比率):
价差 = 价格1 - (对冲比率 * 价格2)
均值 = 价差.滚动(20).均值()
标准差 = 价差.滚动(20).标准差()
z分数 = (价差 - 均值) / 标准差
交易记录 = []
持仓 = 无
对于 i 范围(len(z分数)):
如果 持仓 :
如果 z分数[i] > 2.0:
持仓 = {"入场": 价差[i], "z_入场": z分数[i], "索引": i}
否则:
退出原因 = 检查退出(持仓["z_入场"], z分数[i], 价差[i])[1]
如果 退出原因:
盈亏 = 持仓["入场"] - 价差[i]
交易记录.append({"盈亏": 盈亏, "原因": 退出原因})
持仓 =
返回 pd.DataFrame(交易记录)

添加聪明钱信号

通过聪明钱确认过滤交易以增强配对交易:

Python — 过滤配对策略
定义 聪明钱配对策略(标的1, 标的2, z分数):
# 检查配对级别的聪明钱确认
聪明钱信号1 = 获取聪明钱信号(标的1)
聪明钱信号2 = 获取聪明钱信号(标的2)
# 若一方为高度看涨另一方为高度看跌 = 强背离
# 此时交易价差的最佳时机
背离分数 = abs(聪明钱信号1["综合"] - 聪明钱信号2["综合"])
如果 z分数 > 2.0 背离分数 > 0.3 聪明钱信号1["置信度"] != "否决":
返回 "交易" # 高置信度信号
否则:
返回 "跳过" # 等待信号一致

用聪明钱配对信号增强统计套利

通过鲸鱼共识和衍生品数据过滤均值回归交易。我们的API将配对背离有效性确认准确率提升62%。

开始交易配对 →