LiquidityNet
LiquidityNet
LiquidityNet 是集中流动性池在某个刻度边界上的净流动性变化量。它不是该刻度拥有的流动性总额,而是价格穿越边界后,当前有效流动性应增加或减少的差值。
与 LiquidityGross 的区别
liquidityGross记录引用该刻度的所有仓位流动性绝对值之和,用于判断刻度是否已初始化。liquidityNet记录从低价方向向高价方向穿越刻度时,有效流动性的净变化。- 一个刻度可以具有较大的
liquidityGross,同时liquidityNet接近零。这说明在该边界开始和结束的仓位规模相近。
仓位如何影响边界
流动性提供者在区间 [tickLower, tickUpper) 增加数量 L 时,两个边界按以下规则记录:
1 | liquidityNet[tickLower] += L |
1 | flowchart LR |
示例
设仓位甲在区间 [-100, 100) 提供 5000 单位流动性,仓位乙在区间 [0, 200) 提供 3000 单位流动性。
| 刻度 | LiquidityNet | 含义 |
|---|---|---|
| -100 | 5000 | 仓位甲开始生效 |
| 0 | 3000 | 仓位乙开始生效 |
| 100 | -5000 | 仓位甲停止生效 |
| 200 | -3000 | 仓位乙停止生效 |
价格从刻度 -150 上升到 150 时,有效流动性依次为 0、5000、8000 和 3000。所有刻度的 liquidityNet 理论总和应为零,因为每一份流动性都同时具有开始边界与结束边界。
实现要点
1 | function crossTick( |
审计时应重点检查符号方向、整数位宽、流动性下溢、刻度初始化状态,以及删除最后一个仓位后是否正确清理边界数据。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 EIGHTJIU!
评论





