4. 多资产套利:三角套利、跨期套利与跨品种套利

多资产套利,说白了就是利用不同资产之间的价格关系来赚钱。你想想看,市场里那么多品种,它们之间总有些“亲戚关系”。一旦这种关系被打破,套利机会就来了。

我个人习惯把多资产套利分成三类:三角套利、跨期套利和跨品种套利。这三类我都做过,踩过的坑也不少。今天咱们就一个一个说清楚。

4.1 三角套利:外汇市场的“三角恋”

三角套利,听起来挺玄乎,其实原理很简单。它利用的是三种货币之间的汇率不一致性。

举个例子:假设你有美元(USD)、欧元(EUR)和英镑(GBP)。正常情况下,USD/EUR、EUR/GBP、GBP/USD 这三个汇率应该满足一个闭环关系。如果不满足,就存在套利空间。

我在项目中遇到过这种情况:有一次,某个小币种交易所的汇率更新慢了半拍,导致三角套利窗口打开了大概3秒钟。嗯,就是这3秒,我们团队抢到了不少利润。

核心逻辑: 三角套利的关键是找到三个货币对,使得它们的乘积不等于1。

来看一个具体的Python实现:

import pandas as pd
import numpy as np

def triangular_arbitrage(prices):
    """
    prices: dict, 格式 {'USD/EUR': 0.85, 'EUR/GBP': 0.88, 'GBP/USD': 1.34}
    """
    # 计算理论汇率
    theoretical = prices['USD/EUR'] * prices['EUR/GBP'] * prices['GBP/USD']
    
    # 判断是否存在套利机会
    if abs(theoretical - 1) > 0.001:  # 0.1%的阈值
        direction = "正向" if theoretical > 1 else "反向"
        profit = abs(theoretical - 1) * 100
        print(f"发现{方向}套利机会,预期收益:{profit:.2f}%")
        return True
    return False

# 模拟数据
prices = {'USD/EUR': 0.85, 'EUR/GBP': 0.88, 'GBP/USD': 1.34}
triangular_arbitrage(prices)
避坑指南: 我曾经因为忽略了交易手续费,导致一个看起来有0.5%利润的套利机会,实际执行下来反而亏了。记住,手续费永远是套利的头号敌人。

4.2 跨期套利:同一品种,不同月份

跨期套利,就是同一个品种,不同交割月份的合约之间做套利。比如,螺纹钢的5月合约和10月合约。

为什么会存在这种套利机会?因为不同月份的合约,市场对它们的供需预期不一样。有时候近月合约涨得猛,远月合约跟不上,这就产生了价差。

我个人习惯用“价差序列”来监控跨期套利机会。说白了,就是盯着两个合约的价格差,看它是否偏离了历史均值。

合约对 当前价差 历史均值 标准差 Z-Score
RB2405-RB2410 85 62 15 1.53
RB2410-RB2501 42 38 8 0.50
RB2501-RB2505 28 35 10 -0.70

你看这个表格,RB2405-RB2410的Z-Score是1.53,说明价差偏大。这时候可以考虑做空价差——卖出近月,买入远月。

def calendar_spread_arbitrage(contract1, contract2, z_threshold=1.5):
    """
    跨期套利信号生成
    """
    spread = contract1['price'] - contract2['price']
    mean = spread.rolling(20).mean()
    std = spread.rolling(20).std()
    z_score = (spread - mean) / std
    
    if z_score.iloc[-1] > z_threshold:
        return "做空价差:卖出近月,买入远月"
    elif z_score.iloc[-1] < -z_threshold:
        return "做多价差:买入近月,卖出远月"
    else:
        return "无信号"
小技巧: 跨期套利最好选择流动性好的合约。我见过有人做冷门合约的跨期套利,结果平仓时滑点比利润还大。

4.3 跨品种套利:相关品种的“兄弟情”

跨品种套利,就是两个相关品种之间的套利。比如,豆粕和豆油、螺纹钢和热卷、焦煤和焦炭。

这些品种之间通常有固定的比价关系。比如,豆粕和豆油都是大豆压榨出来的,它们的价格之和应该等于大豆价格加上压榨利润。如果这个关系被打破,就存在套利机会。

我记得有一次,豆粕因为猪瘟事件暴跌,但豆油价格没怎么动。这时候做多豆粕、做空豆油,就是一个典型的跨品种套利。

关键点: 跨品种套利的核心是找到两个品种之间的“合理价差”或“合理比价”。这个合理值通常来自历史数据或基本面分析。

来看一个跨品种套利的实现:

def cross_asset_arbitrage(asset1, asset2, ratio_history):
    """
    跨品种套利
    asset1, asset2: 两个品种的价格序列
    ratio_history: 历史比价序列
    """
    current_ratio = asset1 / asset2
    mean_ratio = ratio_history.mean()
    std_ratio = ratio_history.std()
    
    # 计算偏离程度
    deviation = (current_ratio - mean_ratio) / std_ratio
    
    if deviation > 2:
        return f"做空比价:卖出{asset1.name},买入{asset2.name}"
    elif deviation < -2:
        return f"做多比价:买入{asset1.name},卖出{asset2.name}"
    else:
        return "比价在合理范围内"

4.4 多资产套利的风险控制

做多资产套利,最怕的就是“假突破”。你看着价差偏离了历史均值,冲进去,结果价差继续扩大,你就被套住了。

我曾经犯过一个错误:看到螺纹钢和热卷的价差偏离了3个标准差,觉得机会难得,重仓杀入。结果价差继续扩大,最后止损出局。后来复盘发现,那次偏离是因为钢厂检修导致的短期供需失衡,不是统计上的“均值回归”。

所以,多资产套利一定要做好风控:

  • 仓位控制: 单笔套利仓位不超过总资金的5%
  • 止损设置: 价差偏离超过2倍标准差时,考虑止损
  • 流动性检查: 确保两个品种都能顺利进出
  • 时间窗口: 跨期套利要注意交割月临近时的流动性风险
重要提醒: 多资产套利不是无风险套利。它只是“统计上的套利”,本质上还是投机。别被“套利”两个字骗了,该止损时一定要止损。

4.5 实战中的注意事项

最后,分享几个我在实战中总结的经验:

  1. 数据质量第一: 套利机会转瞬即逝,数据延迟1秒可能就错过了。我建议用实时行情数据,别用快照数据。
  2. 交易成本算清楚: 手续费、滑点、冲击成本,这些都要算进去。有时候看起来有利润,扣掉成本就没了。
  3. 别贪心: 多资产套利的利润通常很薄,一次赚0.1%-0.5%就很不错了。别想着一次暴富。
  4. 监控多个市场: 同一个套利机会可能出现在不同交易所。比如,比特币在币安和火币之间就有价差套利机会。

嗯,以上就是多资产套利的主要内容。三角套利、跨期套利、跨品种套利,这三种方法各有特点,但核心思想是一样的——找到价格关系中的“异常”,然后利用它赚钱。

多资产套利知识体系 多资产套利 三角套利 跨期套利 跨品种套利 三种货币 汇率闭环 乘积≠1 不同月份 价差回归 Z-Score 相关品种 比价关系 基本面驱动 ⚠ 风险提示:统计套利 ≠ 无风险套利,必须设置止损

好了,这一章的内容就到这里。记住,多资产套利的核心是“关系”——找到资产之间的合理关系,然后监控它是否被打破。剩下的,就是执行和风控了。

专注资料整理