恒定乘积做市商模型:x*y=k 公式详解
做市商模型有很多种,但要说最经典、最基础的,还得是恒定乘积模型。说白了,就是 Uniswap 用的那个 x*y=k。我第一次看到这个公式时觉得太简单了,就一个乘法等式,能玩出什么花?后来真上手做流动性挖矿,才发现这背后全是门道。
1. x*y=k 的数学本质
公式本身不复杂:x 是代币 A 的数量,y 是代币 B 的数量,k 是一个常数。交易过程中,k 保持不变。你往池子里放一个代币,就必须拿走另一个代币,乘积不变。
举个例子:假设池子里有 100 个 ETH 和 200,000 个 USDC。那么 k = 100 × 200,000 = 20,000,000。你想用 1 个 ETH 换 USDC,池子里的 ETH 变成 101,那 USDC 必须变成 20,000,000 / 101 ≈ 198,019.8。你拿到的 USDC 就是 200,000 - 198,019.8 = 1,980.2 个。
核心要点:交易价格由池子里的资产比例决定,而不是由外部订单簿决定。这就是 AMM 和传统交易所最大的区别。
2. 滑点:为什么交易越多越吃亏
滑点这个词,我估计做交易的朋友都听过。但在 AMM 里,滑点不是交易所的问题,而是数学上的必然。为什么?因为 x*y=k 是一条双曲线,不是直线。
你想想看,池子里的深度是有限的。你交易的数量越大,对池子比例的影响就越大,价格也就越偏离原始价格。这个偏离量,就是滑点。
滑点计算公式:
滑点 = (实际成交价格 - 原始价格) / 原始价格 × 100%
实际成交价格 = Δy / Δx
原始价格 = y / x
我做过一个测试:在深度 100 ETH / 200,000 USDC 的池子里,交易 1 ETH 的滑点大约是 1%。交易 10 ETH 的滑点就飙到了 11% 左右。嗯,这里要注意,大额交易一定要拆单,否则滑点能吃掉你大部分利润。
个人经验:我习惯用滑点保护设置,一般设 0.5%-1%。如果滑点超过这个值,交易自动取消。别嫌麻烦,我曾经有一次没设滑点保护,结果一笔交易被 MEV 机器人夹了,亏了 3 个 ETH。
3. 无常损失:做市商的隐形杀手
无常损失,英文叫 Impermanent Loss。这个名字起得好,因为只要你不撤出流动性,损失就是「无常」的——价格涨回来就没了。但如果你在价格波动后撤出,损失就变成「永久」的了。
为什么会发生无常损失?因为做市商和单纯持有代币的收益不一样。你想想看,你往池子里放了 50% ETH + 50% USDC,如果 ETH 价格翻倍,单纯持有的话你的资产总值应该涨 50%。但做市商因为要维持 x*y=k,会自动卖出部分 ETH 买入 USDC,导致你的 ETH 仓位减少。最终你的资产总值只涨了 25% 左右。那 25% 的差距,就是无常损失。
无常损失的计算公式:
无常损失 = 1 - (2 × √(价格变化比例) / (1 + 价格变化比例))
价格变化比例 = 新价格 / 旧价格
| 价格变化 | 无常损失 |
|---|---|
| ±1% | 0.01% |
| ±10% | 0.5% |
| ±50% | 5.7% |
| ±100% | 20% |
| ±200% | 33% |
避坑指南:我曾经在 ETH 从 2000 涨到 4000 的过程中做流动性,赚了手续费但亏了无常损失。算下来总收益还不如直接持有 ETH。所以做流动性之前,一定要算清楚手续费收入能不能覆盖无常损失。
4. 流动性池的深度与价格影响
流动性深度,说白了就是池子里有多少钱。深度越大,滑点越小,大额交易对价格的影响也越小。深度越小,你稍微买一点,价格就飞了。
深度可以用一个指标来衡量:价格影响。价格影响 = 交易金额 / 流动性总值。比如一个池子有 100 万美金,你交易 1 万美金,价格影响大约是 1%。如果池子只有 10 万美金,同样交易 1 万美金,价格影响就变成了 10%。
我个人习惯用深度图来判断一个池子是否值得做流动性。深度图越平缓,说明流动性越好。如果深度图陡峭得像悬崖,那这个池子基本就是给大户准备的陷阱。
关键结论:流动性深度决定了你能安全交易的最大金额。做市商赚的是手续费,但承担的是无常损失和滑点风险。深度越大,风险越小,但收益率也越低。这是一个 trade-off。
5. 知识体系结构图
这张图把 x*y=k 的核心逻辑串起来了。从公式出发,衍生出三个关键维度:滑点、无常损失、流动性深度。这三者互相影响,做流动性策略时一个都不能忽略。
我个人习惯是先看流动性深度,再算滑点,最后评估无常损失。如果深度不够,滑点太大,那无常损失再小也没用——你根本没法安全地进出。
实战建议:刚开始做流动性时,选那些深度大、交易量大的池子。虽然收益率低一些,但安全。等经验丰富了,再考虑去小池子博高收益。记住,活得久比赚得快更重要。