再平衡
对决有三个池子:A/ETH、B/ETH 和 A/B。交易后,价格可能出现偏差。每笔交易之后,钩子在同一笔交易中尝试执行盈利的再平衡。再平衡可能跳过或受可用 ETH 限制;无法保证价格完全一致。
运作方式
当价格偏差使三角循环在计算规模前具备超过 0.1% 的盈利优势时,钩子可以零手续费绕三角交易。这是循环的盈利门槛,并不保证任意两个池子的价格偏差始终在 0.1% 以内:
- 如果与 A/B 池相比,A 以 ETH 计变贵了,钩子就用 ETH 买入 B,在 A/B 池中把它换成 A,再把这些 A 卖成 ETH;
- 如果是 B 变贵了,就反过来操作。
公式计算盈利循环的规模,再按卖出代币所进入的 ETH 池可支付的数量限制规模。只有盈利的循环会保留。捕获的利润进入回合奖池。 失败的尝试会回滚并跳过,不阻止用户兑换;但若因 gas 不足而失败,兑换本身会以 ArbitrageStarved 回滚,因此无法靠少给 gas 跳过再平衡。受限或跳过的循环可能留下价格偏差。
对占比的意义
占比和回合只读取两个 ETH 池。A/B 价格从不直接计入。经由 A/B 的切换只有在再平衡实际交易 ETH 池时才会影响它们。若 ETH 价格没有变化,切换不会改变占比或回合平均值,也不会激活原本没有活动的回合。
对交易者的意义
A/B 池持有每个阵营的一部分。当一方上涨后执行再平衡时,它可能将该阵营的一部分卖入 ETH 池,并买入另一阵营的一部分。可能出现以下三种效果:
买入效果可能立即被部分抵消。 执行再平衡时,可能卖出部分已买入阵营的代币,并把捕获的 ETH 利润送入奖池。因此,立即买入再卖出的成本可能超过兑换手续费。以下内部示例测量值均采用默认条款,分别来自一场新对决,以及一方阵营占比 97% 的对决(该阵营买入 10 ETH,另一方没有买入);成本随池子状态变化,并非固定费率:
| 买入后立即卖出 | 刚发射的对决 | 97/3,领先阵营 | 97/3,落后阵营 |
|---|---|---|---|
| 0.1 ETH | 约 4% | 约 2% | 约 4% |
| 1 ETH | 约 5% | 约 3% | 约 12% |
| 5 ETH | 约 10% | 约 4% | 约 32% |
| 20 ETH | 约 22% | 约 7% | 约 61% |
落后阵营一次性大额买入成本最高。 领先阵营上涨期间,再平衡把落后阵营的代币存进了 A/B 池。买入落后阵营时,这部分存量会被卖进这笔买入:单笔买入越大,流入奖池的部分越多。总额相同时,分成几笔较小的买入(每笔之后各自再平衡)比一次性大额买入成本更低。
执行再平衡时,两个阵营相互关联。 买入一方也可能拉升另一方,因此逆转的成本可能高于 ETH 差距所暗示的金额。再平衡受限或跳过时,结果可能不同。参见领先者有优势,但不是定局。
默认情况下,A/B 池以每方供应量的 2% 启动,这是合约允许的最低比例,用于减轻这种关联。更高的初始比例会增强关联;实际影响取决于池子状态和交易规模。
为什么在钩子中完成
盈利的再平衡会尝试缩小偏差,并把捕获的利润送入奖池。它会减少套利机会,但不会消除套利:循环可能受限、跳过,或留下残余偏差。