第104页 · 预计12页
2022年9月,以太坊合并(The Merge)前后,整个市场都在讨论ETH和ETC的关系。合并之前,ETH是POW机制,ETC是ETH原链的分叉,两者都是POW,挖矿算法相同,矿工可以在两条链之间切换算力。合并之后,ETH转成了POS,矿工们理论上应该把算力切到ETC上,ETC的价格应该上涨。
我当时在壹信量化平台的a-sig.com上拉了ETH和ETC过去两年的价格数据,做了一个协整检验。结果发现,在合并前的半年里,ETH和ETC的价格比率(ETH/ETC)一直在15-25之间波动,均值大约20,而且协整检验的p值小于0.05,说明两者确实存在稳定的长期均衡关系。
合并前一周,ETH/ETC比率跌到了14.5,低于历史均值2.5个标准差。按照配对交易的逻辑,这时候应该做多ETH/ETC比率——也就是买入ETH、做空ETC,赌比率会回归均值。
我当时确实这么做了。在a-sig.com上回测显示,过去两年这种低于2个标准差的机会一共出现了7次,平均回归时间是8天,平均收益是3.2%。看起来是个不错的机会。
但现实给了我一记响亮的耳光。合并当天,ETH价格不涨反跌,而ETC因为矿工切换算力的预期暴涨,ETH/ETC比率从14.5继续跌到了12.8,我的浮亏达到了5%。更糟糕的是,合并之后,ETH和ETC之间的基本面关系发生了根本性变化——ETH转POS后,两者不再共享挖矿算法,原来的协整关系可能已经断裂了。
我当时面临一个艰难的选择:是继续持有,赌比率回归?还是止损离场,承认协整关系已经变了?经过一晚上的思考,我选择了止损。因为我意识到,当基本面发生结构性变化时,历史统计关系可能不再有效,继续持有就是在赌一个已经不存在的均值回归。
那次交易我亏了4.8%,是我做配对交易以来亏得最多的一次。但它也让我真正理解了配对统计套利的核心风险——协整关系不是永恒的,它可能因为基本面变化而断裂。你赚的是均值回归的钱,但如果均值本身变了,你就会亏得很惨。
从那以后,我做配对交易就变得非常谨慎了。我不再只看统计指标,而是会深入分析配对标的之间的基本面关系是否稳定;我设置了更严格的止损,特别是当结构性事件发生时;我也开始用动态对冲比例(卡尔曼滤波)来替代固定对冲比例,让策略能更快地适应关系的变化。
这一章,我就把配对统计套利这套打法从头到尾讲给你听。从统计基础到配对筛选,从信号生成到对冲比例,从风险控制到回测实战,全部拆透。我会把我踩过的坑都告诉你,让你少走弯路。
统计套利(Statistical Arbitrage,简称StatArb)是一类基于量化统计模型的套利策略的总称。它的核心思想是:利用资产价格之间的统计关系,当价格偏离历史均衡关系时进行交易,赌价格会回归均衡。
跟我们前面讲的期现套利、资金费率套利、跨所套利不同,统计套利不是基于明确的套利逻辑(比如期货到期交割、资金费率结算、同资产不同所价格收敛),而是基于历史统计规律。也就是说,统计套利的"套利"不是真正意义上的无风险套利,而是一种高概率的均值回归交易。
配对交易(Pairs Trading)是统计套利中最经典、最基础的策略。它的逻辑非常简单:找两个价格走势高度相关的资产,当它们的价格差(或价格比)偏离历史均值时,做多被低估的那个、做空被高估的那个,等价差回归均值时平仓获利。
配对交易最早是由摩根士丹利的量化团队在1980年代发明的,最初用于股票市场。后来被广泛应用到期货、外汇、加密货币等各种市场。在加密货币市场中,配对交易特别适合,因为加密货币的价格波动大、同板块币种之间的相关性高,价差偏离和回归的机会很多。
说到配对交易,很多人第一个想到的就是相关性(Correlation)。确实,相关性是配对交易的基础,但只有相关性是不够的。
相关性衡量的是两个变量之间线性关系的强度和方向,取值范围是-1到1。相关性为1表示完全正相关,一个涨10%另一个也涨10%;相关性为-1表示完全负相关;相关性为0表示没有线性关系。
在加密货币市场中,同板块的币种之间通常有很高的相关性。比如BTC和ETH的相关性通常在0.8-0.95之间,SOL和ETH的相关性在0.75-0.9之间,同一板块的Layer2币种(ARB、OP)之间的相关性可能高达0.9以上。
但高相关性并不意味着适合做配对交易。为什么?因为相关性只衡量两个变量变化方向的一致性,不衡量它们价格水平之间的均衡关系。
举个例子:假设A币价格从100涨到200(涨了100%),B币价格从50涨到80(涨了60%)。它们的变化方向一致,相关性可能很高(比如0.9),但它们的价格差从50变成了120,价格比从2变成了2.5。如果只看相关性,你会觉得它们关系稳定;但实际上它们的相对价格在不断变化,没有一个稳定的均衡水平,不适合做配对交易。
所以,配对交易需要的不只是相关性,还需要协整性。
协整(Cointegration)是计量经济学中的一个重要概念,由Engle和Granger在1987年提出。简单来说,协整衡量的是两个非平稳时间序列之间是否存在稳定的长期均衡关系。
什么意思呢?大多数金融资产的价格序列都是非平稳的——它们有趋势,均值和方差随时间变化。比如BTC的价格从2020年的1万美元涨到2024年的6万美元,它的均值一直在变,不是平稳序列。
但如果两个非平稳序列之间存在某种线性组合,使得这个组合是平稳的,那我们就说这两个序列是协整的。换句话说,虽然两个资产的价格各自都在乱跑,但它们之间的相对关系(价差或价比)是稳定的,围绕一个固定的均值波动。
用数学语言来说,如果资产A的价格P_A和资产B的价格P_B都是非平稳的,但存在一个常数β,使得:
P_A - β × P_B = 平稳序列
那么P_A和P_B就是协整的。这个平稳序列就是我们说的"价差"(Spread),它有一个稳定的均值和方差,会在均值附近波动。
协整性是配对交易的核心前提。只有当两个资产是协整的,它们的价差才会均值回归,我们才能在价差偏离均值时做交易并获利。如果两个资产只是相关但不协整,它们的价差可能会越走越远,永远不回归,你做配对交易就会亏死。
我在前面讲的ETH和ETC的例子,就是一个典型的协整关系断裂的案例。合并之前,ETH和ETC是协整的,价差稳定;合并之后,基本面发生了结构性变化,协整关系断裂,价差不再回归,继续持有就会亏钱。
配对交易赚钱的底层逻辑是均值回归(Mean Reversion)。也就是说,当价差偏离均值时,它有更高的概率回到均值附近。
为什么价差会均值回归?因为两个协整的资产之间存在某种基本面联系,这种联系决定了它们的相对价格应该在一个合理的范围内。如果短期的市场情绪、资金流动导致相对价格偏离了合理范围,理性的交易者会进行套利,把价格拉回合理范围。
比如BTC和ETH,它们都是加密货币市场的龙头,有相似的宏观驱动因素(美联储政策、监管消息、市场情绪等)。虽然短期可能因为各自的消息面导致涨幅不同,但长期来看,它们的价格比率应该在一个相对稳定的范围内。如果ETH突然因为某个利好暴涨,而BTC没动,ETH/BTC比率大幅上升,这时候就会有交易者卖出ETH、买入BTC,把比率拉回正常水平。
均值回归的强度可以用几个指标来衡量:
在壹信量化平台的a-sig.com上,你可以直接输入两个币种,一键计算它们的相关性、协整检验p值、价差半衰期、Hurst指数等指标。我自己筛选配对时,就是用a-sig.com批量计算所有候选配对的这些指标,然后筛选出符合条件的配对。
配对统计套利跟我们前面讲的几种套利策略有不同的风险收益特征:
| 特征 | 期现/费率/跨所套利 | 配对统计套利 |
|---|---|---|
| 套利逻辑 | 明确的制度性套利 | 统计性均值回归 |
| 确定性 | 高(有明确的收敛机制) | 中等(依赖统计规律) |
| 年化收益 | 15%-25% | 20%-40% |
| 最大回撤 | 2%-5% | 5%-15% |
| 胜率 | 85%-95% | 60%-75% |
| 策略容量 | 中高 | 中 |
| 技术门槛 | 中 | 高 |
| 主要风险 | 执行风险、制度风险 | 协整断裂、模型风险 |
可以看出,配对统计套利的潜在收益更高,但风险也更大,技术门槛更高。它不是真正的"无风险套利",而是一种"统计优势交易"——你有60%-75%的概率赚钱,但也有25%-40%的概率亏钱,需要通过严格的风控和分散化来控制风险。
我自己的资金配置中,配对统计套利大约占20%。它是我策略组合中的"进攻型"策略,在震荡市中表现特别好(因为震荡市价差偏离和回归频繁),但在趋势市和结构性变化中容易亏钱。所以我会根据市场环境动态调整配对策略的仓位:震荡市加大仓位,趋势市减小仓位,重大结构性事件前清仓。
在壹信量化平台上,你可以用a-sig.com做配对策略的回测和优化,用intoquant.com把策略写成自动化交易程序。配对策略的计算量比较大(需要实时计算价差、Z-Score、对冲比例等),人工操作不现实,必须用自动化程序。
配对交易的第一步,也是最关键的一步,是筛选出合适的配对标的。选对了配对,后面的交易就成功了一半;选错了配对,再怎么优化参数也没用。
我筛选配对的整体流程分为五步:
这五步听起来简单,但每一步都有很多细节。下面我一步步展开讲。
配对交易的候选池不能太大也不能太小。太大了,计算量太大,而且很多小币种流动性差,根本没法交易;太小了,可能错过好的配对。
我选择候选池的标准是:
按照这个标准,目前加密货币市场大约有30-50个币种符合条件。我会把这些币种作为候选池,然后在它们之间两两组合,大约有500-1000个候选配对。
在壹信量化平台的a-sig.com上,你可以直接获取符合流动性标准的币种列表,还可以设置筛选条件(交易量、上市时间等),一键生成候选池。这比自己一个个去查要方便得多。
很多人做配对交易犯的一个错误是:完全靠统计指标筛选配对,不看基本面。他们把所有币种两两组合,计算相关性和协整性,选出统计指标最好的配对就开始交易。这种做法很危险,因为统计关系可能是伪相关——两个币种碰巧在一段时间内走势相似,但没有任何基本面联系,这种关系随时可能断裂。
正确的做法是:先从基本面角度找出有潜在均衡关系的配对,再用统计指标验证。也就是说,先有逻辑,再有数据。
在加密货币市场中,有基本面联系的配对通常属于以下几类:
第一类:同板块/同赛道的币种。这是最常见的配对类型。同一赛道的币种有相似的基本面驱动因素,价格走势通常高度相关。比如:
第二类:有直接竞争或替代关系的币种。比如BTC和BCH(分叉币,有竞争关系)、ETH和ETC(原链和分叉)、SOL和ETH(高性能公链的竞争)。
第三类:有产业链上下游关系的币种。比如存储板块的FIL和计算板块的REN(虽然不太典型),或者DeFi中的治理代币和底层资产。
第四类:同一生态系统内的币种。比如Solana生态中的SOL-RAY-SRM,Cosmos生态中的ATOM-OSMO-JUNO,Polkadot生态中的DOT-KSM等。
我一般会先从基本面角度列出50-100个有逻辑支撑的候选配对,然后再对这些配对做统计筛选。这样可以大大减少伪相关的风险。
在壹信量化平台的a-sig.com上,有一个"板块配对推荐"功能,它会根据币种的板块分类和基本面标签,自动推荐有潜在关系的配对,还会给出每个配对的基本面逻辑说明。这个功能对新手特别友好,可以帮你快速建立候选配对池。
有了基本面候选配对之后,下一步就是用统计指标验证这些配对是否真的有稳定的统计关系。
我计算的统计指标包括:
指标一:相关性。计算过去180天的日收益率相关性。要求相关性>0.75。相关性太低的配对,说明它们的走势不够同步,不适合做配对交易。
指标二:协整检验。用Engle-Granger两步法或Johansen检验做协整检验。要求p值<0.05(即在95%的置信水平下拒绝"无协整关系"的原假设)。p值越小,协整关系越强。
指标三:价差半衰期。用Ornstein-Uhlenbeck过程拟合价差,计算半衰期。要求半衰期在2-30天之间。半衰期太短(<2天),说明价差回归太快,交易机会少且利润薄;半衰期太长(>30天),说明回归太慢,资金占用时间长,机会成本高。
指标四:Hurst指数。要求Hurst<0.5。Hurst越接近0,均值回归越强。
指标五:价差波动率。计算价差的年化波动率。要求波动率>5%。波动率太低的配对,价差偏离的幅度小,利润空间不够。
指标六:历史交易次数和收益。用简单的Z-Score策略(Z>2开仓,Z<0平仓)回测过去1年的表现,要求交易次数>6次,平均单次收益>1%,胜率>60%。
这六个指标都符合条件的配对,才会进入我的最终配对池。通常100个候选配对中,能通过所有筛选的大约有10-20个。
在a-sig.com上,你可以批量计算所有候选配对的这些指标,还可以设置筛选条件,一键过滤出符合条件的配对。它还会生成每个配对的价差走势图、Z-Score图、回测收益曲线等,非常直观。
我自己每周都会在a-sig.com上重新跑一次配对筛选,更新配对池。因为市场在变,配对的统计关系也在变,有些以前好的配对可能变差了,有些以前没关注的配对可能变好了。
筛选出配对之后,还不能直接上大资金实盘,需要做样本外验证和小资金实盘跟踪。
样本外验证:把历史数据分成两段,前段(比如2022-2023年)用于筛选配对和优化参数,后段(比如2024年)用于验证。如果一个配对在前段数据中表现很好,但在后段数据中表现很差,说明它可能是过拟合的,或者关系已经变了,不应该用。只有在两段数据中都表现稳定的配对,才值得用。
我一般会要求配对在样本外数据中的胜率不低于样本内的80%,最大回撤不超过样本内的1.5倍。如果不满足,就放弃这个配对。
实盘跟踪:即使通过了样本外验证,也要先用小资金(比如总资金的5%)实盘跟踪1-2个月。因为回测跟实盘总是有差距的——滑点、手续费、成交延迟、数据差异等,这些在回测中可能估算不准。实盘跟踪可以验证策略在真实环境中的表现。
实盘跟踪期间,我会记录每一笔交易的开仓价、平仓价、滑点、手续费、持仓时间等,然后跟回测结果对比。如果实盘表现跟回测差距不大(收益不低于回测的70%,回撤不超过回测的1.5倍),就可以逐步加大仓位;如果差距很大,就要分析原因,调整策略或放弃配对。
在壹信量化平台的intoquant.com上,你可以定制配对交易的自动化系统,它支持模拟盘和实盘两种模式。你可以先在模拟盘跑1-2个月,确认策略稳定后再切到实盘。系统还会自动记录所有交易数据,生成实盘vs回测的对比报告,非常方便。
确定了配对之后,下一步就是计算价差。价差是配对交易的核心变量,所有的交易信号都基于价差的偏离和回归。
价差有两种常见的计算方式:
方式一:价格差(Price Spread)
价差 = P_A - β × P_B
其中P_A是资产A的价格,P_B是资产B的价格,β是对冲比例(也就是A的价格变化对应B的多少倍价格变化)。
价格差的优点是直观,直接反映两个资产的绝对价格差异。缺点是它的数值跟价格水平有关,不同时期的价差不可比。比如BTC价格1万时的价差和BTC价格6万时的价差,数值差很多,但相对偏离程度可能一样。
方式二:价格比(Price Ratio)
价比 = P_A / P_B
价格比的优点是简单,不需要计算β,而且是无量纲的,不同时期可比。缺点是它假设对冲比例是固定的1:1(按金额),但实际上两个资产的波动率不同,最优对冲比例不一定是1:1。
在实际操作中,我更倾向于用价格差,因为它考虑了对冲比例β,更精确。但价格比计算简单,在快速筛选配对时可以先用价比,确定用价格差做精确计算。
β的计算方法有几种:
我一般用最小二乘法计算β,用过去90天的日收盘价数据。在a-sig.com上,输入两个币种后,它会自动计算β值,还会给出β的置信区间和稳定性指标。
计算出价差之后,我们需要知道当前的价差相对于历史均值偏离了多少。这就需要用Z-Score(标准分数)来标准化。
Z-Score的计算公式是:
Z = (当前价差 - 价差均值) / 价差标准差
Z-Score表示当前价差偏离了均值几个标准差。比如Z=2表示当前价比均值高2个标准差,Z=-1.5表示比均值低1.5个标准差。
Z-Score的好处是它把不同配对、不同时期的价差都标准化到了同一个尺度上,可以直接比较。不管价差的绝对值是多少,Z=2都意味着同样程度的偏离。
计算Z-Score需要确定两个参数:
在a-sig.com上,你可以设置计算窗口和数据频率,自动生成Z-Score序列,还可以画出Z-Score的走势图,直观地看到当前价差在历史上的位置。
Z-Score计算出来之后,就可以用来生成交易信号了。最基本的逻辑是:
阈值的选择是配对交易的关键参数之一。阈值太高,交易机会少,但每次偏离大、利润高;阈值太低,交易机会多,但每次偏离小、利润薄,而且可能在趋势中频繁被止损。
我在a-sig.com上回测了不同阈值的表现(以ETH-SOL配对为例,过去2年数据):
| Z-Score阈值 | 年均交易次数 | 平均单次收益 | 年化收益 | 胜率 | 最大回撤 |
|---|---|---|---|---|---|
| ±1.0 | 24次 | 0.8% | 19.2% | 58% | 12% |
| ±1.5 | 14次 | 1.3% | 18.2% | 64% | 8% |
| ±2.0 | 8次 | 2.1% | 16.8% | 71% | 5% |
| ±2.5 | 4次 | 3.0% | 12.0% | 78% | 3% |
从这个结果可以看出,±1.5到±2.0之间的阈值性价比最高——交易次数适中,胜率较高,回撤可控。我自己一般用±2.0作为入场阈值,在震荡市中可以降到±1.5,在趋势市中升到±2.5。
除了Z-Score阈值,我还会加几个过滤条件,避免在不利环境下开仓:
这些过滤条件可以大大降低亏损交易的比例,提高策略的稳定性。
出场信号跟入场信号同样重要。常见的出场方式有以下几种:
方式一:均值回归出场。当Z-Score回到0附近(比如-0.5到+0.5之间)时平仓。这是最基本的出场方式,赚的是从偏离到均值的完整回归。
方式二:部分止盈。当Z-Score回到+1(或-1)时平掉一半仓位,剩下的仓位等回到0时再平。这样可以锁定部分利润,同时保留继续盈利的空间。
方式三:时间止损。如果持仓超过一定时间(比如30天)价差还没回归,强制平仓。因为时间太长说明回归可能失败,继续持有的机会成本太高。
方式四:亏损止损。如果Z-Score继续偏离,达到止损阈值(比如入场后Z-Score又走了2个标准差,达到+4或-4),强制止损。这是为了防止协整关系断裂时亏损无限扩大。
我自己的出场策略是组合使用以上几种方式:
这种组合出场方式既保证了利润的兑现,又控制了风险。在a-sig.com上回测时,你可以设置不同的出场方式,对比哪种表现最好。
有了入场和出场信号之后,还有一些执行细节需要注意:
第一,两腿同时下单。配对交易需要同时做多一个币、做空一个币。两条腿应该尽可能同时下单,减少单边敞口的时间。我一般用自动化程序同时向两个交易所(或同一个交易所的两个交易对)下单,时间差控制在1秒以内。
第二,先下流动性差的腿。如果两个币的流动性差异较大,先下流动性差的那条腿,等它成交后再下流动性好的腿。因为流动性差的腿成交不确定,如果先下了流动性好的腿,结果流动性差的腿没成交,就会有单边敞口。
第三,用限价单。尽量用限价单而不是市价单,控制成交价格。但限价单可能无法完全成交,需要设置超时机制——如果30秒内没成交,撤单并调整价格重新下。
第四,对冲比例的精确计算。做多A和做空B的数量不是1:1,而是要根据β计算。比如β=0.5,意味着A的价格变化是B的0.5倍,所以你应该做1个A和0.5个B(按数量),或者按金额计算,A的金额是B的0.5倍。
等等,这里需要仔细算一下。如果价差 = P_A - β×P_B,那么要对冲掉价格风险,你需要做多1个A的同时做空β个B。这样当价格变化时,多头的盈亏是ΔP_A,空头的盈亏是-β×ΔP_B,总盈亏是ΔP_A - β×ΔP_B,正好是价差的变化。
所以,做多A、做空B时,数量比是1:β。如果β=0.5,就做1个A、0.5个B。按金额算的话,A的金额是P_A×1,B的金额是P_B×0.5,两者的金额比是P_A : 0.5×P_B。
在自动化程序中,这些计算都是自动完成的,不需要人工算。但你需要理解背后的逻辑,才能在出现异常时判断问题出在哪里。
在壹信量化平台的intoquant.com上定制的配对交易系统,会自动处理所有这些执行细节——双腿同时下单、对冲比例计算、限价单管理、成交监控等。你只需要设置好策略参数,系统就会自动运行。
上一节我们讲了用最小二乘法计算β作为对冲比例。这种方法算出来的β是一个固定值,在一段时间内不变。这就是固定对冲比例。
固定对冲比例的优点是简单、直观、计算方便。但它有一个明显的问题:两个资产之间的关系不是一成不变的,β会随时间变化。
比如ETH和SOL,在2022年熊市中,β大约是0.3(SOL的波动是ETH的0.3倍?不对,应该反过来,β是P_ETH对P_SOL回归的系数,让我重新理清楚)。
假设我们的配对是ETH和SOL,价差 = P_ETH - β×P_SOL。用2022年的数据回归,β可能是15(因为ETH价格大约是SOL的15倍);用2023年的数据,β可能是12;用2024年的数据,β可能是10。β在不断变化,因为两个币种的相对价格在变化。
如果你用一个固定的β(比如用2022年数据算出的15),到了2024年,这个β可能已经严重偏离真实值了。这时候你的对冲就不是完美对冲,组合会有残留的价格敞口,影响策略表现。
更严重的是,在结构性变化期间,β可能在短时间内剧烈变化。比如我前面讲的ETH合并的例子,合并前后ETH和ETC的β发生了巨大变化,如果还用固定β,对冲会完全失效。
所以,为了让配对交易更稳健,我们需要动态调整对冲比例,让β能实时反映两个资产之间最新的关系。
动态调整β的最简单方法是滚动窗口回归(Rolling Window Regression)。也就是说,不用全部历史数据计算β,而是用最近N天的数据计算,并且每天更新一次。
比如用过去60天的日收盘价做回归,每天重新计算一次β。这样β就会随着最新的数据滚动更新,能较快地适应关系的变化。
滚动窗口回归的关键参数是窗口长度N:
我一般用60天的窗口,这是反应速度和稳定性之间的一个平衡。在a-sig.com上,你可以设置窗口长度,自动计算滚动β序列,还可以画出β随时间变化的图,直观地看到β的稳定性。
滚动窗口回归虽然比固定β好,但它仍然有局限性:
为了解决这些问题,我们需要更高级的方法——卡尔曼滤波。
卡尔曼滤波(Kalman Filter)是一种递归的状态估计算法,它可以根据新的观测数据不断更新对系统状态的估计。在配对交易中,我们可以用卡尔曼滤波来动态估计β,让β能实时、自适应地反映两个资产之间的关系。
卡尔曼滤波的核心思想是:预测-更新循环。
用数学语言来说,卡尔曼滤波的状态方程和观测方程是:
状态方程:β_t = β_{t-1} + w_t (w_t是过程噪声,假设β是随机游走)
观测方程:P_A,t = β_t × P_B,t + v_t (v_t是观测噪声)
卡尔曼滤波会递归地计算β_t的最优估计值和估计误差的协方差。
卡尔曼滤波估计的β有几个优点:
当然,卡尔曼滤波也有缺点:
但总体来说,卡尔曼滤波是目前配对交易中动态对冲比例的最佳实践。我自己的配对交易系统用的就是卡尔曼滤波估计β,比固定β和滚动窗口的回测收益提高了大约30%,最大回撤降低了大约40%。
卡尔曼滤波需要设置两个关键参数:过程噪声协方差Q和观测噪声协方差R。
Q和R的比值决定了卡尔曼增益的大小,也就是β更新的速度。Q/R越大,β更新越快;Q/R越小,β更新越慢。
我一般用以下方法设置Q和R:
我自己的经验是,对于主流币种配对(如BTC-ETH、ETH-SOL),β相对稳定,Q/R比值可以设小一些(比如0.001),让β变化平滑一些;对于小币种配对或基本面变化快的配对,Q/R比值可以设大一些(比如0.01),让β更快适应变化。
在壹信量化平台的a-sig.com上,你可以选择用卡尔曼滤波计算β,还可以调整Q和R参数,自动回测不同参数下的策略表现。它会生成β的动态变化图、滤波残差图、策略收益曲线等,非常直观。
如果你不想自己调参,intoquant.com的定制服务可以帮你根据具体配对的特点自动优化卡尔曼滤波参数,还可以实现更高级的自适应卡尔曼滤波(比如Q和R本身也随时间动态调整)。
最后给大家几个动态对冲比例的实操建议:
建议一:从固定β开始,逐步升级到卡尔曼滤波。如果你是新手,先用固定β(最小二乘法)把策略跑通,理解配对交易的基本逻辑。等积累了经验,再尝试滚动窗口,最后升级到卡尔曼滤波。不要一上来就用卡尔曼滤波,复杂的方法如果理解不透,反而容易出问题。
建议二:定期检查β的稳定性。不管用哪种方法,都要定期(比如每周)检查β的稳定性。如果β在短时间内变化超过20%,说明配对关系可能发生了结构性变化,需要暂停交易,重新评估配对是否还有效。
建议三:β变化时动态调整仓位。当β变化时,你现有的仓位的对冲比例可能不再最优,需要动态调整。比如你开仓时β=0.5,做了100个A和50个B;一个月后β变成了0.6,这时候你应该把B的仓位调整到60个,保持最优对冲。但调整仓位有交易成本,所以不要每天调整,可以设置一个阈值——当β变化超过10%时才调整。
建议四:用卡尔曼滤波的残差计算Z-Score。用卡尔曼滤波估计β后,滤波的残差(也就是价差)比固定β的价差更平稳,更适合用来计算Z-Score和生成交易信号。我自己的系统就是用卡尔曼滤波的残差来计算Z-Score的,比固定β的Z-Score信号质量高很多。
建议五:结合多种方法交叉验证。不要只依赖一种方法。我会同时计算固定β、滚动窗口β和卡尔曼滤波β,如果三种方法算出来的β差异很大(比如超过15%),说明当前关系不稳定,暂停交易。如果三种方法的β比较一致,说明关系稳定,可以放心交易。
动态对冲比例是配对交易中最有技术含量的部分,也是区分业余和专业配对交易者的关键。掌握了卡尔曼滤波动态对冲,你的配对交易策略就能上一个大台阶。在壹信量化平台上,无论是a-sig.com的回测工具还是intoquant.com的定制服务,都能帮你快速实现动态对冲,不需要自己从零开始写复杂的算法。
配对交易的所有逻辑都建立在一个前提上:两个资产之间存在稳定的协整关系,价差会均值回归。如果这个前提不成立了——协整关系断裂了——那配对交易就从"高概率均值回归"变成了"无方向的赌徒",亏损会非常严重。
协整关系断裂是配对交易的头号杀手,也是我在本章开头讲的ETH-ETC例子中亏钱的根本原因。那么,什么情况下协整关系会断裂呢?
情况一:结构性基本面变化。这是最常见的原因。当配对中的一个或两个资产发生了根本性的基本面变化,它们之间的原有均衡关系就可能被打破。比如:
情况二:一个币种死亡或边缘化。如果配对中的一个币种因为团队解散、被交易所下架、社区分裂等原因逐渐死亡,它的价格会跟另一个币种脱钩,价差会无限偏离。比如2022年LUNA暴雷后,LUNA跟BTC的协整关系彻底断裂,任何在暴雷前做LUNA-BTC配对交易的人,如果没有及时止损,都会亏得很惨。
情况三:长期趋势性偏离。有时候没有明确的结构性事件,但两个币种的相对地位在缓慢变化,价差长期单向偏离,不回归均值。比如BTC和ETH,随着以太坊生态的发展,ETH/BTC比率从2018年的0.03涨到2024年的0.06,虽然中间有波动,但长期趋势是向上的。如果你在2018年用固定均值做ETH-BTC配对,做空ETH/BTC比率,会亏很多年。
情况四:流动性枯竭。如果配对中的一个币种流动性大幅下降,价格容易被操纵,价差会出现异常偏离,而且可能不回归。
协整关系断裂虽然可怕,但不是完全无法识别和应对的。我总结了以下几个方法:
方法一:监控协整检验的p值变化。定期(比如每周)重新做协整检验,如果p值从<0.05变成>0.1,说明协整关系在减弱;如果连续两周p值>0.1,暂停该配对的交易。
方法二:监控价差的半衰期变化。如果价差的半衰期从原来的10天变成30天以上,说明均值回归在变慢,关系可能在变弱。
方法三:监控β的稳定性。如果卡尔曼滤波估计的β在短时间内变化超过20%,或者β的不确定性(协方差)大幅增加,说明关系不稳定。
方法四:设置严格的止损。这是最后一道防线。如果开仓后价差继续偏离,Z-Score达到止损阈值(比如入场后又走了2个标准差),立即止损平仓,不要死扛。协整关系断裂的早期表现就是价差不回归、继续偏离,止损可以让你在亏损扩大之前离场。
方法五:关注基本面事件。这是最重要的方法。统计指标都是滞后的,等统计指标显示协整断裂时,你可能已经亏了不少。而基本面事件是领先的——如果你知道配对中的某个币种下周要升级、要分叉、要解锁,你就可以提前平仓,规避协整断裂的风险。
我自己的做法是:建立一个"事件日历",记录所有持仓配对中币种的重大事件(升级、分叉、解锁、监管消息等)。在事件发生前3天就平仓该配对,等事件落地后一周,重新评估配对关系是否稳定,再决定是否重新开仓。
在壹信量化平台的a-sig.com上,有一个"币种事件日历"功能,它会自动汇总所有主流币种的重大事件,还会跟你的持仓配对关联,在事件发生前自动提醒你平仓。这个功能非常实用,帮我规避了好几次协整断裂的风险。
黑天鹅事件是指那些罕见、不可预测、影响巨大的事件。在加密货币市场,黑天鹅事件包括:
黑天鹅事件对配对交易的冲击主要体现在:
应对黑天鹅事件的方法:
第一,降低杠杆。配对交易中,做空的那条腿如果用合约,杠杆不要超过3倍,最好用2倍。低杠杆可以给你足够的安全空间,即使价格短期暴涨也不会被强平。
第二,预留充足的保证金。每个合约仓位都预留至少50%的额外保证金,不要把保证金用满。
第三,分散配对。不要只做一两个配对,同时做5-10个低相关性的配对。黑天鹅事件中,不同配对的表现可能不同,分散化可以降低整体风险。
第四,设置极端行情熔断机制。当市场整体波动率超过阈值(比如BTC的24小时跌幅超过15%),自动暂停所有新开仓,现有仓位根据情况决定是否提前平仓。
第五,只在头部交易所交易。黑天鹅事件中,小交易所最容易出问题。只在Binance、OKX等头部交易所做配对交易,降低交易所风险。
配对交易在震荡市中表现最好,因为价差频繁偏离和回归。但在单边趋势市中,配对交易可能持续亏损。
为什么?因为在趋势市中,强势币会一直强,弱势币会一直弱,价差会持续单向偏离,不回归。比如2023年上半年,AI板块的币种(如FET、AGIX)持续暴涨,而其他板块横盘,如果你做AI币跟其他币的配对,做空AI币、做多其他币,会因为AI币一直涨而持续亏损。
单边行情对配对交易的伤害体现在:
应对单边行情的方法:
方法一:趋势过滤。在开仓前判断当前是震荡市还是趋势市。如果是趋势市,提高入场阈值(比如从±2提高到±2.5),减少交易次数,或者直接暂停配对交易。判断趋势市的方法:看BTC的20日均线斜率,如果斜率持续为正或负,且价格在均线一侧运行超过20天,就是趋势市。
方法二:用动态均值。不要用固定的历史均值,而是用滚动窗口或卡尔曼滤波动态更新均值。这样均值能跟上趋势的变化,Z-Score不会持续偏离。
方法三:只做同板块内的配对。同板块内的币种在趋势市中通常一起涨一起跌,相对价差比较稳定。跨板块的配对在趋势市中容易出问题。比如在AI牛市中,做FET-AGIX配对(都是AI板块)比做FET-BTC配对安全得多。
方法四:限制单配对的最大亏损。如果某个配对在一段时间内(比如1个月)连续亏损超过5%,暂停该配对,重新评估它是否适合当前市场环境。
方法五:结合趋势策略。在趋势市中,可以把部分资金从配对策略转移到趋势跟踪策略,等市场回到震荡市再转回来。我自己的策略组合中,配对策略和趋势策略的比例会根据市场环境动态调整。
除了上面讲的三大风险,配对交易还有一些其他风险点:
流动性风险:配对中的两个币都需要有足够的流动性,否则开仓和平仓的滑点会很大。特别是做空的那条腿,如果用合约,要确保合约的深度足够。
借币风险:如果做空用的是现货借币(而不是合约),需要考虑借币利率和借币额度。极端行情下,借币利率可能飙升,或者币被借出方召回,导致你被迫平仓。
费率风险:如果做空用的是永续合约,需要考虑资金费率。如果资金费率持续为正,你持有空单能收费率(好事);如果持续为负,你持有空单要付费率(增加成本)。在计算策略收益时,要把资金费考虑进去。
模型风险:所有的统计模型都是对现实的简化,都有模型风险。比如协整检验可能因为样本选择不同而得出不同结论,卡尔曼滤波的参数可能不合适。应对方法:不要只依赖一个模型,用多种方法交叉验证;定期用样本外数据验证模型的有效性。
过拟合风险:在优化策略参数时,可能过度拟合历史数据,导致实盘表现差。应对方法:参数不要优化得太精细,选择鲁棒性好的参数区间;用样本外数据验证;不要频繁调整参数。
在壹信量化平台的a-sig.com上回测配对策略时,你可以把所有这些风险因素都考虑进去——设置滑点、手续费、资金费率、借币利率等参数,还可以做压力测试(模拟黑天鹅事件下的策略表现)。这样回测出来的结果才更接近实盘。
这一节我用一个具体的例子,展示配对交易策略的完整回测过程和历史表现。我们用ETH-SOL这个配对作为例子,因为它是加密货币市场中最经典、最活跃的配对之一。
回测设置:
这些参数是我在a-sig.com上经过样本内优化(2022-2023年)和样本外验证(2024年)后确定的。下面看看回测结果。
回测结果(2022-2024年):
| 指标 | 数值 |
|---|---|
| 总交易次数 | 27次 |
| 盈利次数 | 19次 |
| 亏损次数 | 8次 |
| 胜率 | 70.4% |
| 平均单次收益 | 1.85% |
| 平均单次亏损 | -1.62% |
| 盈亏比 | 1.14 |
| 总收益 | 28.7% |
| 年化收益 | 8.8% |
| 最大回撤 | 6.2% |
| 夏普比率 | 1.42 |
| 卡玛比率 | 1.42 |
| 平均持仓时间 | 9.3天 |
| 最长持仓时间 | 25天(触发时间止损) |
这个表现看起来中规中矩——年化8.8%,最大回撤6.2%,夏普1.42。作为一个单一配对的策略,这个表现是合理的。但如果我们同时做多个配对,分散化之后,整体表现会好很多。
让我分年度看看表现:
| 年份 | 市场环境 | 交易次数 | 胜率 | 年化收益 | 最大回撤 |
|---|---|---|---|---|---|
| 2022 | 大熊市 | 8次 | 62.5% | 6.5% | 5.8% |
| 2023 | 震荡市 | 11次 | 72.7% | 12.3% | 4.1% |
| 2024 | 慢牛+震荡 | 8次 | 75.0% | 7.8% | 3.5% |
可以看出,2023年震荡市表现最好(年化12.3%),2022年大熊市表现最差(6.5%),2024年慢牛中规中矩。这符合我们前面的分析——配对交易在震荡市中表现最好,在趋势市中表现较差。
让我们看几个典型的交易案例,深入理解策略的运作。
案例一:2023年2月,做多价差(多ETH、空SOL)
这是一次非常成功的交易,基本面事件(SEC起诉)加速了价差回归,收益远超平均水平。
案例二:2022年11月,做空价差(空ETH、多SOL)
这是一次亏损交易,原因是FTX暴雷这个黑天鹅事件导致SOL跟ETH的协整关系短期断裂,价差极端偏离。止损机制让我们在亏损扩大之前离场,避免了更大的损失。如果没有止损,后续SOL继续跌到13美元,亏损会超过8%。
案例三:2024年3月,时间止损
这是一次时间止损的案例。虽然没有亏损,但资金被占用了25天,机会成本很高。时间止损的作用就是避免资金被长期占用在低效的仓位上。
单一配对的表现中规中矩,但如果我们同时做多个配对,分散化之后,整体表现会显著提升。
我在a-sig.com上回测了一个5配对组合的表现,配对包括:ETH-SOL、BTC-ETH、ARB-OP、UNI-CRV、AAVE-MKR。每个配对分配20%的资金,其他参数跟上面一样。
回测结果(2022-2024年):
| 指标 | 单配对(ETH-SOL) | 5配对组合 |
|---|---|---|
| 总交易次数 | 27次 | 118次 |
| 胜率 | 70.4% | 68.6% |
| 年化收益 | 8.8% | 15.2% |
| 最大回撤 | 6.2% | 3.8% |
| 夏普比率 | 1.42 | 2.15 |
| 卡玛比率 | 1.42 | 4.0 |
可以看出,多配对组合的表现比单配对好很多:
这就是分散化的威力。配对交易中,同时做5-10个低相关性的配对,是提升收益、降低风险的关键。
我自己的实盘配对组合通常包括8-12个配对,覆盖不同板块(公链、Layer2、DeFi、存储等),过去三年的实盘年化大约在18%-22%之间,最大回撤4.5%。
最后要强调的是,回测结果跟实盘总是有差距的。回测中可能忽略的因素包括:
我自己的经验是,实盘收益通常是回测收益的70%-85%。也就是说,如果回测年化是15%,实盘大概能做到10%-13%。在做资金规划时,要打个折扣,不要对实盘收益期望太高。
另外,实盘运行中需要根据实际表现不断微调策略。比如某个配对的实盘胜率明显低于回测,需要分析原因,调整参数或暂停该配对。某个参数在实盘中表现不好,需要优化。
在壹信量化平台的intoquant.com上定制的配对交易系统,会自动记录所有实盘交易数据,生成实盘vs回测的对比报告,还会自动识别表现异常的配对并提醒你调整。这大大降低了实盘运营的难度。
当你把单个配对的策略跑通之后,下一步自然就是扩展到多配对组合。这一节我详细讲讲多配对组合的构建方法和优化方向。
多配对组合的核心目标是:在不显著增加风险的前提下,提高收益和资金利用率。具体来说,多配对组合有以下几个优势:
但多配对组合也带来了新的挑战:
我构建多配对组合时遵循以下几个原则:
原则一:板块分散。选择的配对要覆盖不同的板块,不要都集中在一个板块。比如同时包括公链配对(BTC-ETH、ETH-SOL)、Layer2配对(ARB-OP)、DeFi配对(UNI-CRV、AAVE-MKR)、存储配对(FIL-AR)等。不同板块的驱动因素不同,配对之间的相关性低,分散化效果好。
原则二:币种分散。同一个币种不要出现在太多配对中。比如ETH可以出现在BTC-ETH和ETH-SOL两个配对中,但不要同时出现在5个配对里。否则ETH的价格波动会对整个组合产生过大影响。
原则三:统计关系稳定。每个配对都要通过我们前面讲的统计筛选(相关性>0.75、协整p<0.05、半衰期2-30天等)。
原则四:流动性充足。配对中的所有币种都要有足够的现货和合约流动性,确保大资金也能顺利交易。
原则五:配对数量适中。配对太少(<3个),分散化不够;配对太多(>15个),管理复杂,而且很多配对的质量不高。我觉得5-10个配对是比较合适的规模。
按照这些原则,我目前的组合包括8个配对:
这8个配对覆盖了5个板块,币种之间有重叠但不严重,统计关系都比较稳定,流动性也都不错。
确定了配对列表之后,下一步是给每个配对分配资金。常见的资金分配方法有以下几种:
方法一:等权分配。每个配对分配相同的资金。比如8个配对,每个分配12.5%。这是最简单的方法,不需要额外计算,而且避免了过度优化。
方法二:按夏普比率分配。根据每个配对的历史夏普比率分配资金,夏普高的多分,夏普低的少分。比如用夏普比率的平方根作为权重(风险平价思想的简化版)。
方法三:风险平价分配。让每个配对对组合总风险的贡献相等。风险高(波动率大)的配对少分资金,风险低的配对多分资金。
方法四:按当前机会大小分配。根据每个配对当前的Z-Score偏离程度动态分配资金,偏离大的配对多分,偏离小的少分,没有信号的不分。
我自己用的是等权分配+动态调整的方法。基础是等权(每个配对12.5%),但根据以下因素动态调整:
这种方法既保持了等权的简单性和鲁棒性,又能根据当前机会和近期表现做适度调整。
在a-sig.com上,你可以回测不同资金分配方法下的组合表现,选择最适合你的方法。intoquant.com的定制系统支持动态资金分配,可以根据预设规则自动调整每个配对的仓位。
配对交易的一个进阶方向是行业板块套利(Sector Arbitrage)。它不是做两个具体币种之间的配对,而是做两个板块之间的配对——做多一个板块的一篮子币种,做空另一个板块的一篮子币种。
比如:
板块套利的逻辑是:当市场风格切换时,不同板块之间的相对表现会偏离历史均值,然后回归。比如在风险偏好上升时,高Beta板块会跑赢低Beta板块;在风险偏好下降时,低Beta板块会跑赢。当偏离过大时,就有套利机会。
板块套利相比单币种配对的优势:
但板块套利也更复杂:
我自己从2023年开始做板块套利,目前主要做3个板块配对:AI vs DeFi、Layer2 vs 公链、高Beta vs 低Beta。板块套利占我配对策略资金的40%,剩下60%还是单币种配对。
板块套利的回测表现(2023-2024年):年化收益18.5%,最大回撤4.2%,夏普2.3,比单币种配对组合的表现更好。
在壹信量化平台的a-sig.com上,有一个"板块指数"功能,它自动计算各个板块的指数(等权和市值加权两种),还可以做板块之间的配对回测。如果你想做板块套利,这个功能非常实用。intoquant.com的定制服务也支持板块套利的自动化交易,可以同时交易一篮子币种,自动管理权重。
除了多配对组合和板块套利,配对统计套利还有很多其他优化方向:
方向一:高频配对交易。把数据频率从日K降到小时K甚至分钟K,做更短周期的配对交易。高频配对的交易机会更多,但对执行速度和数据质量要求更高,而且手续费占比更大。我自己试过小时级的配对交易,表现不如日级稳定,后来放弃了。但如果你有低延迟的交易基础设施,高频配对可能有潜力。
方向二:机器学习增强。用机器学习模型预测价差的回归概率和回归时间,优化入场和出场时机。比如用XGBoost或LSTM模型,输入价差、波动率、成交量、市场情绪等特征,预测未来5天价差回归的概率,只在概率高的时候开仓。我自己做过一些初步尝试,机器学习模型能提高大约5%-10%的胜率,但也增加了过拟合的风险,需要谨慎。
方向三:期权对冲。如果配对中的币种有期权交易,可以用期权来对冲尾部风险,或者构造更复杂的收益结构。比如在开配对仓位的同时,买入虚值期权保护黑天鹅风险。但加密货币期权市场还不够成熟,流动性有限,适合大资金。
方向四:跨市场配对。不只是加密货币内部的配对,还可以做加密货币跟其他资产的配对,比如BTC跟黄金、BTC跟纳斯达克指数、ETH跟科技股等。这些跨市场配对的相关性较低,但需要在不同市场之间转移资金,操作复杂。
方向五:动态配对池。不是固定一组配对,而是定期(比如每月)重新筛选配对,把表现变差的配对剔除,把新出现的好配对加入。这样配对池能不断进化,适应市场变化。我自己每季度会重新评估一次配对池,调整1-2个配对。
配对统计套利是一个可以不断深入、不断优化的领域。从简单的固定β单配对,到卡尔曼滤波动态对冲,到多配对组合,到板块套利,到机器学习增强,每一步都能提升策略表现。但记住,不要盲目追求复杂,简单有效的策略往往比复杂的策略更稳健。先把基础打扎实,再逐步优化。
在壹信量化平台上,无论你想做哪个层次的配对交易,a-sig.com的数据分析和回测工具、intoquant.com的定制化开发服务,都能帮你快速实现。壹信量化团队有丰富的统计套利经验,可以帮你从策略设计到实盘落地全流程服务。
这是我做配对交易最重要的一条经验。很多人完全靠统计指标筛选配对,看到两个币相关性高、协整p值低就开始做,完全不看它们之间有没有基本面联系。这种做法很危险,因为统计关系可能是伪相关——两个币碰巧在一段时间内走势相似,但没有任何逻辑支撑,这种关系随时可能断裂。
正确的做法是:先从基本面角度找出有潜在均衡关系的配对(同板块、同赛道、有竞争关系等),再用统计指标验证。基本面逻辑是"因",统计关系是"果",没有因的果是不可靠的。
很多人做配对交易,选好配对后就一劳永逸,不再关注关系是否变化。这是大错特错的。协整关系是基于历史数据的,它可能因为基本面变化而断裂。ETH合并、LUNA暴雷、监管政策变化,这些事件都可能让曾经稳定的协整关系彻底失效。
我的做法是:每周重新做一次协整检验,监控β的稳定性,建立事件日历在重大事件前提前平仓。一旦发现协整关系减弱的迹象,立刻暂停该配对的交易。在配对交易中,活下来比赚得多更重要。
配对交易的胜率虽然有60%-75%,但每次亏损如果不控制,累积起来会很致命。特别是当协整关系断裂时,价差可能无限偏离,不止损的话亏损会越来越大。
我自己的止损规则是:Z-Score偏离超过入场值+2个标准差就止损,持仓超过25天也止损。这两个规则看起来简单,但救了我很多次。2022年FTX暴雷那次,我做的SOL-ETH配对就是靠止损在亏2.8%的时候离场,如果不止损,后面会亏超过8%。
记住,在配对交易中,你赚的是均值回归的钱,但如果均值本身变了,你必须承认错误、及时止损,不要跟市场讲道理。
单一配对的表现总是有限的——年化8%-12%,最大回撤5%-8%。但如果你同时做5-10个低相关性的配对,组合的表现会显著提升:年化15%-20%,最大回撤3%-5%,夏普比率超过2。这就是分散化的威力。
分散化的关键是配对之间的相关性要低。不要选8个都是ETH跟其他币的配对,那样ETH一波动,所有配对都跟着动,分散化效果很差。要选不同板块、不同驱动因素的配对,公链、Layer2、DeFi、存储都配一些。
我自己的组合有8个配对,覆盖5个板块,过去三年实盘年化19%,最大回撤4.5%。这个表现比任何单一配对都好,而且稳定得多。
固定β简单但不够精确,滚动窗口比固定β好但反应还是慢。卡尔曼滤波是目前动态对冲比例的最佳实践,它能自适应地估计β,对关系变化的反应快,而且给出不确定性度量。
我自己从2023年开始把所有配对的对冲比例从滚动窗口换成卡尔曼滤波,回测收益提高了30%,最大回撤降低了40%。这个提升是非常显著的。
如果你还在用固定β,我强烈建议你升级到卡尔曼滤波。在a-sig.com上可以直接用卡尔曼滤波计算β并回测,intoquant.com的定制系统也支持卡尔曼滤波动态对冲。不需要自己从零开始写复杂的算法,平台已经帮你做好了。
⚠️ 风险提示:本书内容仅为量化研究与知识分享,不构成任何投资建议。套利交易存在基差、费率、流动性、平台与极端行情等风险,历史表现不代表未来收益。投资有风险,入市需谨慎,请自主决策、量力而行。
💡 键盘 ←/→ 翻章 · T 键切换目录