本文介绍了 Uniswap V3 中 tick spacing 的概念及其与交易手续费、资产波动率之间的关系。Tick spacing 决定了流动性池中允许使用的最小价格间隔,影响交易 gas 成本和流动性提供者的流动性集中程度。文章还阐述了手续费档位与 tick spacing 之间的对应关系,以及 Uniswap 如何通过治理来调整这些参数。
在前面的章节中,我们介绍了 tick(价格跳动) 的概念,它将价格曲线离散化。一个 tick 是由公式 p(i)=1.0001i 定义的价格,其中 i 被称为 tick index(价格跳动指数)。
Tick index 是 范围 [−887272,887272] 内的整数,从而在价格曲线上产生 1,774,545 个价格跳动,从 p(−887272) 到 p(887272)。
Tick 是曲线上流动性可能发生变化的点。例如,流动性提供者可以在两个价格跳动之间增加流动性,但不能在两个不是价格跳动的任意点之间增加流动性。
我们将在本章中看到,并非所有这 1,774,545 个价格跳动都可以在一个池中使用,并且可以使用的特定价格跳动取决于创建池时做出的选择。
每个池定义一个称为 tick spacing(价格跳动间距) 的值,它决定了两个连续允许的 tick 之间的距离。
例如,如果池的 tick 间距设置为 10,则只有 10 的倍数的 tick index 可用,例如 -20、-10、0、10、20 等。如果 tick 间距设置为 60,则只允许 60 的倍数,例如 -120、-60、0、60、120 等,如下图所示。在这两种情况下,像 55 这样的 tick 都不能用作提供流动性的边界。
定义池中 tick 间距的变量名为 tickSpacing
,并在创建池时进行设置。实际上,tickSpacing
与池费用相关联,每个费用层级决定了一个相应的 tick 间距。
Uniswap V3 支持不同的 tick 间距,以适应资产对的不同波动性。在一次 swap 中跨越一个 tick 会产生 gas 成本,因此在典型的交易过程中,应该尽可能减少 tick 的跨越。
波动性较大的交易对,受益于更宽的 tick 间距,以减少过多的 tick 跨越。但是,如果间距太宽,流动性提供者就无法将其流动性精确地定位在他们期望交易对市场价值所在的價格区域附近。
请看下面的动画,我们展示了两种情况。在第一种情况下,涉及一个高度波动的交易对,价格可能会发生显著变化。因此,如果我们想尝试将swap限制为仅跨越两个允许的 tick,则允许的 tick 之间的距离必须很大。在第二种情况下,涉及一个更稳定的交易对,tick 间距可以更小。
https://img.learnblockchain.cn/2025/04/26/volatility.mp4
此外,还要考虑流动性提供者遭受无常损失的风险。高度波动的资产往往会导致更高的无常损失,而更稳定的资产往往会导致更低的无常损失。例如,稳定币对几乎没有无常损失的风险,而 meme 代币对则具有极高的风险。
因此,LP 将要求更高的费用,以弥补为高度波动的资产提供流动性时产生的无常损失。同样,交易者可以容忍波动性资产的更高费用,因为交易这些资产的潜在回报要高得多。
这表明交易对波动性、tick 间距和费...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!