一、套利入门:什么是套利?套利的本质与核心逻辑
1.1 先聊聊我对套利的理解
套利这个词,听起来挺高大上的。
其实说白了,就是「低买高卖」的升级版。
我刚开始做交易那会儿,觉得套利就是两边倒腾差价。后来踩过几次坑才明白——套利的本质,是捕捉同一资产在不同市场、不同时间、不同形式下的价格错配。
举个例子你就懂了。
假设苹果在上海卖5块钱一斤,在北京卖6块钱一斤。你从上海买了运到北京卖,每斤赚1块。这就是最原始的套利。
金融市场里也一样。只不过我们交易的不是苹果,是股票、期货、外汇、加密货币这些玩意儿。
核心定义:套利是指利用同一资产(或高度相关资产)在不同市场/不同时间/不同形式下的价格差异,通过同时买入和卖出操作,获取无风险或低风险收益的交易策略。
1.2 套利的三个核心要素
我总结了一下,任何套利策略都离不开这三个东西:
- 价差——这是套利的「猎物」。没有价差,就没有套利机会。
- 相关性——套利对象之间必须有强相关性。比如沪深300股指期货和沪深300ETF,它们追踪同一个指数。
- 收敛性——价差最终会回归正常水平。这是套利能赚钱的根本前提。
你想想看,如果价差永远不回归,那就不叫套利了,叫「接飞刀」。
1.3 套利的本质:风险对冲 + 价差回归
很多人以为套利就是「无风险赚钱」。嗯,这话对了一半。
套利确实追求低风险,但绝不是零风险。我见过太多人把套利当成印钞机,结果一次黑天鹅就亏光了。
套利的本质逻辑是这样的:
- 找到两个高度相关的资产(比如A和B)
- 当A和B的价格出现异常偏离时,做多便宜的,做空贵的
- 等待价差回归正常,平仓获利
说白了,你赌的不是价格涨跌,而是价差会回归。
我的经验:刚开始做套利时,我总想着抓大价差。后来发现,大价差往往意味着大风险。真正稳定的套利,是抓那些「小但频繁」的价差机会。积少成多,复利惊人。
1.4 套利的分类(一张图看懂)
套利有很多种玩法。我按最常见的分类方式,画了张图:
1.5 套利的核心逻辑:价差回归
不管你用哪种套利方式,底层逻辑都一样——价差回归。
我举个例子你就明白了。
假设沪深300股指期货(IF)和沪深300ETF,正常情况下它们价格差不多。但有时候,期货会因为市场情绪被炒得比ETF贵很多。
这时候,你可以:
- 做空IF期货(贵的那个)
- 做多沪深300ETF(便宜的那个)
等市场冷静下来,价差回归正常,两边一平仓,利润就到手了。
注意:价差回归不是必然的。我曾经遇到过极端行情,价差越拉越大,差点爆仓。所以套利一定要设止损,别以为「套利就不会亏」。
1.6 套利的优势与陷阱
| 优势 | 陷阱 |
|---|---|
| 风险相对较低(对冲了方向性风险) | 流动性风险——价差机会来了,但成交不了 |
| 收益稳定(赚的是价差,不是赌方向) | 黑天鹅风险——极端行情下价差可能不回归 |
| 可量化、可程序化 | 手续费和滑点吃掉利润 |
| 适合大资金(容量大) | 机会转瞬即逝,需要快速执行 |
1.7 一个简单的套利示例(代码)
我习惯用Python做套利回测。下面是一个最简单的跨期套利示例:
# 跨期套利示例:螺纹钢期货主力 vs 次主力
import pandas as pd
import numpy as np
# 模拟价格数据
np.random.seed(42)
dates = pd.date_range('2024-01-01', periods=100, freq='D')
price_main = 4000 + np.cumsum(np.random.randn(100) * 10) # 主力合约
price_sub = 3980 + np.cumsum(np.random.randn(100) * 10) # 次主力合约
# 计算价差
spread = price_main - price_sub
# 设定阈值(均值±1.5倍标准差)
mean_spread = np.mean(spread)
std_spread = np.std(spread)
upper = mean_spread + 1.5 * std_spread
lower = mean_spread - 1.5 * std_spread
# 生成交易信号
signals = []
for s in spread:
if s > upper:
signals.append(-1) # 做空价差(卖主力,买次主力)
elif s < lower:
signals.append(1) # 做多价差(买主力,卖次主力)
else:
signals.append(0) # 观望
print(f"价差均值: {mean_spread:.2f}")
print(f"价差标准差: {std_spread:.2f}")
print(f"上阈值: {upper:.2f}")
print(f"下阈值: {lower:.2f}")
print(f"交易信号数: {sum(1 for s in signals if s != 0)}")
避坑指南:我曾经用这个策略跑回测,收益曲线漂亮得不行。结果实盘一跑,手续费和滑点直接让利润归零。记住——回测一定要算上手续费和滑点,不然就是自欺欺人。
1.8 套利者需要具备的能力
想做套利,光懂理论不够。我建议你至少具备这三样:
- 数据处理能力——能快速获取、清洗、分析行情数据
- 编程能力——Python是标配,能写回测、能跑自动化
- 风险意识——套利不是无风险,该止损时别犹豫
嗯,今天就先聊到这儿。套利的世界很大,后面我们会一步步深入。
公众号:蓝海资料掘金营,微信deep3321