Skip to main content

套利机制收益分析 #


套利收益分析 #

为简化计算,这里假设 FreeSwap 交易及套利过程如下:

  1. AA 池、BB 池初始具有相同数量的两种代币,其数量分别用 XX, YY表示;

  2. 用户在 AA 池内用数量为 xxTokenAToken A , 兑换数量为 yyTokenBTokenB , 导致 AA 池资产价格产生滑动,滑动幅度为 γ\gamma , 触发 AA 池、BB 池发生套利操作;

  3. 套利完成后,AA 池、BB 池的代币数量变为 (X+x1 , Yy1)(X+x'_1\ ,\ Y-y'_1)(X+x2 , Yy2)(X+x'_2\ ,\ Y-y'_2)

交易及套利过程的交易池状态及其 TokenToken 数量变化,如下表所示:

子交易池A 池B 池
交易池状态:(NAA , NB)(N_{AA}\ ,\ N_B)(NA , NBB)(N_A\ ,\ N_{BB})
初始代币数量:(X , Y)(X\ ,\ Y)(X , Y)(X\ ,\ Y)
兑换交易后代币数量:(X + x , Y  y)(X\ +\ x\ ,\ Y\ -\ y)(X , Y)(X\ ,\ Y)
套利完成后代币数量:(X + x1 , Y  y1)(X\ +\ x'_1\ ,\ Y\ -\ y'_1)(X + x2 , Y  y2)(X\ +\ x'_2\ ,\ Y\ -\ y'_2)

根据 "恒定资产乘积" 公式,有:

(X+x)(Yy)=XY(X+x)*(Y-y) = X*Y
y=xX+xY(3.2.1)y = \frac{x}{X+x} * Y \tag{3.2.1}

根据 (2.4.19)(2.4.19) 中的套利触发条件,有:

(X+x)Y=γX(Yy)(X+x)*Y = \gamma * X* (Y-y)
x=(γ1)X(3.2.2)x = (\sqrt{\gamma} -1 )* X \tag{3.2.2}

根据 (3.1.3)(3.1.3)(3.1.6)(3.1.6),子交易池套利后的最大 KK 值增加为:

ΔKAM=ΔKBM=((X+x)YX(Yy))24(X+(X+x))((Yy)+Y)=(xY+yX)24(2X+x)(2Yy)=(γ1)24γXY(3.2.3)\begin{aligned} \Delta K_A^M = \Delta K_B^M &= \frac{((X+x)*Y-X*(Y-y))^2}{4*(X+(X+x))*((Y-y)+Y)} \\[3mm] &= \frac{(x*Y+y*X)^2}{4*(2X+x)*(2Y-y)} \\[3mm] &= \frac{(\sqrt{\gamma}-1)^2}{4\sqrt{\gamma}}*X*Y \end{aligned} \tag{3.2.3}

套利后,AA 池、BB 池的 KK 值增加比例为:

δKA=δKB=(γ1)24γ(3.2.4)\delta K_A = \delta K_B = \frac{(\sqrt{\gamma}-1)^2}{4\sqrt{\gamma}} \tag{3.2.4}

根据 (2.4.19)(2.4.19),可以计算得出套利操作在子资金池之间相互交换的代币金额如下:

LAe =  x 2(3.2.5)L_A^e \ = \ \frac{\ x \ }{2} \tag{3.2.5}
LBe = x2(X+x)Y=  y 2(3.2.6)L_B^e \ = \ \frac{x}{2(X+x)} * Y = \ \frac{\ y \ }{2} \tag{3.2.6}

可见套利完成后,两个子资金池的代币数量变为:

(X+ x 2 , Y y 2)    (X+ x 2 , Y y 2)(3.2.7)(X + \frac{\ x\ }{2}\ ,\ Y - \frac{\ y \ }{2} ) \ \ || \ \ (X + \frac{\ x\ }{2}\ ,\ Y - \frac{\ y \ }{2} ) \tag{3.2.7}

即两个子资金池的代币数量相等,达到完全的平衡。

上述分析,是基于 AA 池、BB 池的资金量完全相同的假设进行的,下面分析一下,如果 AA 池、BB 池的资金量不同,按照 FreeSwap 协议套利后, AA 池、BB 池的 KK 值增加比例。

此时,交易池状态及套利过程的 TokenToken 数量变化,可如下表所示:

子交易池A 池B 池
交易池状态:(NAA , NB)(N_{AA}\ ,\ N_B)(NA , NBB)(N_A\ ,\ N_{BB})
初始代币数量:(X1 , Y1)(X_1\ ,\ Y_1)(X2 , Y2)(X_2\ ,\ Y_2)
兑换交易后代币数量:(X1 + x1 , Y1  y1)(X_1\ +\ x_1\ ,\ Y_1\ -\ y_1)(X2 , Y2)(X_2\ ,\ Y_2)
套利完成后代币数量:(X1 + x1 , Y1  y1)(X_1\ +\ x_1'\ ,\ Y_1\ -\ y_1')(X2 + x2 , Y2  y2)(X_2\ + \ x_2'\ ,\ Y_2\ - \ y_2')

假设 AA 池、BB 池的资金比例用 β\beta 表示 , 则存在下面关系:

{Y1X1=Y2X2X2Y2X1Y1=β(X1+x1)(Y1y1)=X1Y1(X1+x1)Y2=γX2(Y1y1)(3.2.8)\left\{ \begin{array}{ccl} &\Large \frac{Y_1}{X_1} \normalsize = \Large \frac{Y_2}{X_2} \\[3mm] &\Large \frac{X_2*Y_2}{X_1*Y_1} \normalsize = \beta \\[3mm] &(X_1 + x_1) * (Y_1 - y_1) = X_1 * Y_1 \\[3mm] &(X_1 + x_1) * Y_2 = \gamma * X_2 * (Y_1 -y_1) \tag{3.2.8} \end{array} \right.

略去推导过程,经过计算可得:

ΔKAM=ΔKBM=(γ1)24γ(γ+1β)(1γ+1β)X1Y1(3.2.9)\Delta K_A^M = \Delta K_B^M = \frac{(\gamma-1)^2}{4\gamma \Large (\normalsize\sqrt{\gamma} + \Large \frac{1}{\sqrt{\beta}})(\frac{1}{\sqrt{\gamma}} \normalsize + \Large \frac{1}{\sqrt{\beta}})} * X_1 * Y_1 \tag{3.2.9}

套利后,AA 池、BB 池的 KK 值增加比例为:

δKA=(γ1)24γ(γ+1β)(1γ+1β)(3.2.10)\delta K_A = \frac{(\gamma-1)^2}{4\gamma \Large (\normalsize\sqrt{\gamma} + \Large \frac{1}{\sqrt{\beta}})(\frac{1}{\sqrt{\gamma}} \normalsize + \Large \frac{1}{\sqrt{\beta}})} \tag{3.2.10}
δKB=(γ1)2  4γ(βγ+1)(β+γ)   (3.2.11)\delta K_B = \frac{(\sqrt{\gamma}-1)^2}{\ \ 4\sqrt{\gamma}(\sqrt{\beta\gamma}+1)(\sqrt{\beta}+\sqrt{\gamma}) \ \ \ } \tag{3.2.11}

(3.2.10)(3.2.10)(3.2.11)(3.2.11) 可见,δKA\delta K_Aβ\beta 单调上升,而 δKB\delta K_Bβ\beta 单调下降,这意味着,在两个子资金池资金量不平衡的情况下,资金池的资金量相对于另一个资金池越大,套利时,KK 值增加比例就越小,相反,资金池的资金量相对越小,套利时的 KK 值增加比例就越大。

因此,用户在加入流动性时,选择加入资金量较小的子资金池,会更为有利。这一内在调节机制可以使得 FreeSwap 交易协议的两个子交易池的资金量达到动态平衡。

等效交易费率 #

如果不是通过交易套利,而是通过收取交易手续费的方式,要取得与 (3.2.4)(3.2.4) 相同的 KK 值增加比例,交易手续费费率需要如何设置呢?

为表述方便,该交易费率用 α\alpha 表示。由于 FreeSwap 协议设有两个独立的单向交易资金池,考虑等效性,计算 α\alpha 时,应当考虑相同资金规模的单一双向交易池,该交易池可表示为:(2X,2Y)(2X,2Y) 。用户利用与 (3.2.2)(3.2.2) 相同的数量为 xxTokenAToken A 换取一定数量的 TokenBToken B,设该数量为 yy',根据 “恒定资产乘积” 公式,有:

(2X+(1α)x)(2Yy)=2X2Y(3.3.1)(2X+(1-\alpha)x) * (2Y-y') = 2X*2Y \tag{3.3.1}

交易完成后,由于收取的交易手续费未参与交易而是直接进入了资金池,导致整体资金池的 KK 值增加,该增加值为:

ΔK=αx(2Yy)=αx2X2Y2X+(1α)x(3.3.2)\begin{aligned} \Delta K &= \alpha x *(2Y-y') \\ &= \alpha x * \frac{2X*2Y}{2X+(1-\alpha)x} \end{aligned} \tag{3.3.2}

相对于兑换交易发生前,整个资金池的 KK 值增加比例为:

δK=αx2X+(1α)x(3.3.3)\delta K = \frac{\alpha x}{2X+(1-\alpha)x} \tag{3.3.3}

结合 (3.2.2)(3.2.2)(3.2.4)(3.2.4),令 δK=δKA\delta K = \delta K_A ,有:

α=γ1γ+1(3.3.4)\alpha = \frac{\sqrt{\gamma}-1}{\sqrt{\gamma}+1} \tag{3.3.4}

计算可得, 当 γ\gamma = 1.01 时,α\alpha ≈ 2.488‰ , 即如果两个子交易池的价格偏离达到 1% 时,自动进行套利操作,资金池提供者的收益等价于收取交易用户 2.488‰ 的交易手续费。目前, UniSwap[3] 收取交易用户 3‰ 的交易手续费,FreeSwap 通过交易套利可以实现 UniSwap 大约 83% 的收益。考虑到 FreeSwap 协议能够为用户提供免费交易服务,可以吸引更多的交易用户,提升交易量,通过交易量的提升,在完全免除交易手续费的情况下,实现与 UniSwap 相当,甚至超过 UniSwap 的收益,是完全有可能的。

(3.3.4)(3.3.4) 也可导出:

γ= 1+α 1α(3.3.5)\sqrt{\gamma} = \frac{\ 1+\alpha \ }{1-\alpha} \tag{3.3.5}

计算可得, 当 α\alpha = 3‰ 时,γ\gamma ≈ 1.0121‰ , 即 FreeSwap 协议如果在两个子交易池的价格偏离达到 1.21% 时进行套利操作,就可以实现与 UniSwap 的 3‰ 交易收费相同的收益。

不适用交易类型 #

由于 FreeSwap 交易协议依靠交易池价格偏离时的交易套利获得收益,因此 FreeSwap 不适用于两个交易对的代币均为稳定币的交易场景。稳定币的兑换交易需要尽量降低价格偏离,通过积累价格偏离,继而进行套利,不会有利于吸引稳定币的交易用户。

FreeSwap 交易协议也不适用于通缩型代币的交易对交易。由于套利操作会在两个子资金池之间进行代币互换,而通缩型代币的转账交易会造成代币通缩,不利于套利换入通缩型代币的一方子资金池,而且套利操作也会增加通缩型代币的转账交易次数,加速通缩,违背通缩型代币的设计初衷。