第二章 无常损失深度解析:公式推导、数值模拟与实战中的对冲策略
无常损失,这个词我当年第一次听到时,心里想的是:「这玩意儿到底有多无常?」
后来在项目中真金白银地亏过几次,才明白——它其实很「有常」。只要你理解了数学本质,它就是个可计算、可对冲的风险因子。今天我就把这套东西掰开了讲给你听。
2.1 无常损失的本质:一个数学视角
先问个问题:你往Uniswap V2的池子里加了ETH/USDC,ETH涨了50%,你赚了还是亏了?
很多人第一反应是「当然赚了,币价涨了啊」。但实际情况是——你赚得比单纯持有要少。这个「少赚的部分」,就是无常损失。
我习惯用一个简单例子来理解:
- 假设你存入1 ETH + 100 USDC,当时ETH=100 USDC
- 池子总流动性是10 ETH + 1000 USDC,你的份额是10%
- ETH涨到200 USDC,套利者会把池子里的ETH买走,直到价格平衡
- 最终你的份额变成0.707 ETH + 141.4 USDC,总价值282.8 USDC
- 而如果你只是持有,你会有1 ETH + 100 USDC = 300 USDC
- 无常损失 = (282.8 - 300) / 300 ≈ -5.7%
核心结论:无常损失不是「亏钱」,而是「少赚」。只要价格回到存入时的水平,损失就消失了——所以叫「无常」。
2.2 公式推导:从恒定乘积说起
Uniswap V2的核心公式是 x * y = k。这个公式看似简单,但推导无常损失时,我建议你记住一个更实用的形式:
设:
- P0 = 存入时的价格
- P1 = 提取时的价格
- r = P1 / P0 (价格变化倍数)
无常损失率 = (2√r) / (1 + r) - 1
这个公式怎么来的?我简单推一下:
- 初始状态:x0 = √(k/P0),y0 = √(k*P0)
- 价格变化后:x1 = √(k/P1),y1 = √(k*P1)
- 你的资产价值 V_pool = x1*P1 + y1 = 2√(k*P1)
- 持有价值 V_hold = x0*P1 + y0 = √(k/P0)*P1 + √(k*P0)
- 损失率 = V_pool / V_hold - 1
嗯,这里要注意:公式中的 √r 是核心。当r=1时,损失率为0;当r偏离1越远,损失越大。
我的经验:这个公式在r=2(涨100%)或r=0.5(跌50%)时,损失率都是-5.7%。也就是说,涨跌对称时损失也对称。我曾经在ETH从2000跌到1000时亏了5.7%,后来涨回2000时损失归零——但中间那段时间,资金利用率确实很低。
2.3 数值模拟:不同价格波动下的损失
光看公式不够直观。我做了个模拟表,你感受一下:
| 价格变化倍数 (r) | 涨跌幅 | 无常损失率 |
|---|---|---|
| 1.0 | 0% | 0.00% |
| 1.1 | +10% | -0.11% |
| 1.25 | +25% | -0.60% |
| 1.5 | +50% | -2.02% |
| 2.0 | +100% | -5.72% |
| 3.0 | +200% | -13.40% |
| 4.0 | +300% | -20.00% |
| 0.5 | -50% | -5.72% |
| 0.33 | -67% | -13.40% |
看到没?涨100%和跌50%的损失一模一样。这就是恒定乘积的对称性。
避坑指南:我曾经在LUNA崩盘前加了UST/LUNA池子,价格跌了99%以上,无常损失接近-80%。那笔交易让我明白——高波动资产的对冲不是可选,是必须。
2.4 实战中的对冲策略
既然无常损失是价格波动的函数,那对冲思路就很清晰了:用衍生品锁定价格风险。
我个人常用的三种方法:
- 方法一:永续合约对冲
- 存入ETH/USDC池子,同时在交易所做空等量ETH
- 优点:操作简单,流动性好
- 缺点:资金费率会吃掉利润,需要频繁调仓
- 方法二:期权对冲
- 买入看跌期权保护下行风险,卖出看涨期权补贴成本
- 优点:精确控制风险敞口
- 缺点:期权费不便宜,且需要专业判断
- 方法三:Delta中性策略
- 动态调整对冲比例,使组合Delta接近0
- 优点:理论上完美对冲
- 缺点:需要高频监控和交易,成本较高
举个例子,假设你存了10 ETH到池子里,ETH现价2000 USDC:
# 永续合约对冲示例
存入池子:10 ETH + 20000 USDC
做空合约:10 ETH(永续)
当ETH涨到3000时:
- 池子价值变化:+约28%(含无常损失-5.7%)
- 做空亏损:-33%(10 ETH * 1000 = 10000 USDC)
- 净收益:约-5%(取决于具体参数)
当ETH跌到1000时:
- 池子价值变化:-约28%(含无常损失-5.7%)
- 做空盈利:+50%(10 ETH * 1000 = 10000 USDC)
- 净收益:约+22%
你看,对冲后收益变得不对称了——下跌时反而赚钱。这是因为做空合约的收益覆盖了池子的损失还有余。但要注意,如果价格横盘,资金费率会持续消耗你的利润。
我的建议:对于大多数散户,最简单的方式是「部分对冲」。比如只对冲50%的仓位,这样既降低了无常损失,又保留了部分上涨收益。我自己的池子通常保持30%-50%的对冲比例,视波动率调整。
2.5 知识体系总览
下面这张图是我自己梳理的无常损失知识框架,你可以对照着看:
2.6 一些实战中的细节
最后分享几个我踩过的坑:
- 资金费率陷阱:永续合约对冲时,如果市场长期单边,资金费率可能吃掉你所有收益。我建议只在波动率高的时期使用,或者选择资金费率低的交易所。
- 滑点问题:大额对冲时,市价单的滑点可能超过无常损失本身。我习惯用限价单分批进场,虽然慢但安全。
- 多资产池:像Curve那样的稳定币池子,无常损失极小(通常<0.1%),基本不需要对冲。但如果是ETH/BTC这种波动对,损失就不可忽视了。
一句话总结:无常损失不是洪水猛兽,它是你提供流动性时必须支付的风险溢价。算清楚、对冲好,你就能在DeFi里稳稳地赚交易费。
好了,这一章的内容就到这里。记住:数学是武器,策略是盾牌,实战经验才是你真正的护城河。