什么是加密货币无常损失?通过实例读懂流动性池损失 | KTX Crypto Exchange

KTX
KTX
  • 更新
KTX Learn:无常损失,以及流动性池盈利后仍可能跑输持币的原因

一笔流动性仓位从 2,000 美元涨到 2,828 美元,持有人却比另一种做法少赚了约 172 美元。这并不矛盾:如果最初的代币一直放在钱包里,同期价值会达到 3,000 美元。

这段差额就是无常损失所衡量的问题:池内资产构成变化,使仓位相对“持有原始代币数量”的结果落后。它不一定代表美元亏损,也不是提现手续费,更不能据此认定协议遭到攻击。先弄清比较对象,比记住术语更重要。

提供流动性,会改变你实际持有的资产

在自动做市商中,交易者与资金池交换代币。流动性提供者(LP)存入资产,取得对池内一定份额的权利。随着交易改变储备余额,这份权利对应的两种代币数量也在变化。

以全价格范围、两种资产等值各占 50% 的恒定乘积池为例,忽略手续费时,其模型为 x × y = k,x、y 是两种代币余额。外部价格变化后,套利交易者可以利用池内尚未调整的报价交易,推动储备比例接近市场价格。LP 最终会减少相对升值的资产、增加相对贬值的资产。这是向交易者提供兑换机会所承担的经济代价。

下文计算假设套利使池价与外部价格一致、LP 份额不变,不计手续费、奖励与网络费用,并假设稳定币始终为 1 美元。它们只是特定模型下的算例,不是价格预测,也不能套用到所有资金池。

ETH 翻倍时,池子已经卖出了一部分 ETH

假设 ETH 为 1,000 美元时,你的仓位对应 1 ETH 和 1,000 枚稳定币。两边各值 1,000 美元,总值 2,000 美元;按这份仓位缩放后的余额满足 x × y = 1,000。

ETH 涨到 2,000 美元后,新的价格比例要求 y ÷ x = 2,000。联立两式,得到约 0.707107 ETH 与 1,414.21 枚稳定币。按新市价计算,两边各值 1,414.21 美元,总值 2,828.43 美元。

若保留最初的 1 ETH 与 1,000 枚稳定币,总值则为 3,000 美元。资金池少了 171.57 美元,约为持币基准的 5.72%。但相较最初投入,它仍赚了 828.43 美元。把这个结果说成“最初 2,000 美元亏了 5.72%”,就用错了分母。

假设投入 2,000 美元,ETH 翻倍后持币价值为 3,000 美元,无手续费池价值为 2,828.43 美元,差额为 171.57 美元
美元盈利可以与跑输持币同时发生。采用全范围 50/50 模型,不计手续费和成本。

如果 ETH 反而跌到 500 美元,仓位约为 1.414214 ETH 与 707.11 枚稳定币,总值 1,414.21 美元;持币则值 1,500 美元。此时资金池既出现美元亏损,也比持币少了 85.79 美元,比例仍为 5.72%。ETH 数量增加,并没有保住组合的美元价值。

基础公式看的是两种资产的相对价格

令 r 为“一种代币相对另一种代币的期末价格”除以“存入时的相对价格”。在上述模型里,池内价值与持币价值之比为 2√r ÷ (1 + r)。若用正数表示跑输幅度,无常损失为 [1 − 2√r ÷ (1 + r)] × 100%。

期末相对价格 / 初始相对价格 示例变化 相较持币的差额比例
0.50 倍 价格减半 5.72%
1.00 倍 相对价格不变 0%
1.25 倍 上涨 25% 0.62%
2.00 倍 价格翻倍 5.72%
4.00 倍 价格变为四倍 20.00%

这种对称性针对互为倒数的相对价格变化,例如翻倍与减半,并不针对同幅度的涨跌。上涨 50% 与下跌 50% 并非互为倒数。不同权重、稳定币兑换曲线和限定价格区间,都需要各自的计算方式。

“无常”是指相对价格回归时,模型中的差额可能缩小,并不意味着一定恢复。继续留在池内,是继续承担接下来的价格变化,而不是消除今天已经存在的经济差额。

手续费要覆盖实际差额,不能只看年化数字

在价格翻倍的例子里,仓位需要额外取得 171.57 美元的净价值,才能在当时追平持币。这是记账上的门槛,不是未来手续费预测。真实协议中,手续费可能进入储备,也可能单独累计,取决于具体实现。

比较时,应把 LP 权益的市值,加上单独持有的手续费和奖励,再扣除相关成本,与同一时刻原始代币数量的市值对照。如果仓位估值已经包含手续费,就不能重复加一次。奖励代币应按实际可变现的价格估值,同时考虑锁定、归属期和出售成本。

界面上的年化收益率依赖成交活动与资金规模假设。它不能证明你实际持有期间的收入超过了实际差额。成交量高,也不能直接说明有多少符合条件的流动性共同分配手续费。

集中流动性与稳定币,会改变风险的形状

集中流动性把资金放在指定价格区间内。价格穿过区间时,两种资产的余额随之变化;越过边界后,本金仓位会变成单一资产。Uniswap 文档说明,出区间仓位在重新激活前不再赚取交易手续费。较窄区间可能放大库存变化,也需要更多管理。上面的全范围公式不能当作限定区间仓位的计算器。

稳定币交易对在正常情况下可能只有较小的相对价格变化,但脱锚会改变这个前提。交易者可能持续取走更强的资产,把走弱的资产换入池中。名称里都有“美元”,并不等于储备充足或兑付得到保证。

合约漏洞、管理权限失守和恶意代币是额外风险。借钱提供流动性,还可能引入清算风险。这些损失不能塞进无常损失公式,就当成已经计算过了。

也要把库存变化造成的跑输,与实际买卖的执行成本分开。KTX 的流动性与交易规模指南以及滑点说明解释了进入或卖出所得代币为何可能另有成本。符合条件的读者可以通过 KTX 了解市场;交易所买卖与向链上池存入资产,是两种不同活动。

比较资金池收益前,先回答五个问题

如果两种代币的美元价格都翻倍,还会有无常损失吗?

若相对价格不变,基础模型没有无常损失,即使组合的美元价值上涨。这里衡量的是两种资产之间的相对变化。

LP 代币能保证拿回最初投入吗?

不能。它代表池规则下的权益,不保证返还最初的代币数量或美元金额。部分集中流动性仓位使用 NFT,而不是同质化 LP 代币。

领取手续费后,损失计算会重新开始吗?

不会。领取手续费是获得收入,本身不会重置最初的持币基准。应记录存入、提取与分配,避免无意中改写比较口径。

中途追加资金该怎么算?

每次追加都有不同的起始价格和资产比例。可以按不同存入批次分别记录,或采用一致的现金流调整基准,而不是全部按第一笔计算。

单纯质押也有这种机制吗?

质押本身不会通过兑换交易重配两种池内储备。若把质押凭证放入流动性池,就会在凭证自身风险之外,再增加一层 LP 风险。

本文仅供教育参考,不构成投资建议。所有数字均为假设示例。提供流动性可能损失本金。

技术参考:Uniswap 无常损失说明、集中流动性文档及 Balancer 白皮书。文中算例与百分比根据所列假设独立推导。

这篇文章有帮助吗?

0 人中有 0 人觉得有帮助

还有其它问题?提交请求