4、自动化做市商(AMM)原理:恒定乘积公式、流动性池、无常损失、滑点与深度关系

做市商这个角色,在传统金融里一直是高盛、摩根这些大投行的专属。他们手握巨额资金,在买卖双方之间赚取差价。但在DeFi世界,我们普通人也能参与做市——这就是自动化做市商(AMM)带来的革命。

我个人第一次接触AMM时,其实挺震撼的。你想想看,不需要挂单簿,不需要撮合引擎,仅仅靠一个数学公式就能完成交易。这背后的核心,就是今天我们要聊的恒定乘积公式。

4.1 恒定乘积公式:x * y = k

这个公式看起来简单得不像话。x和y代表池子里两种资产的数量,k是它们的乘积,必须保持不变。

举个例子。假设一个ETH/USDC池子里有10个ETH和20000个USDC。那么k = 10 * 20000 = 200000。这个k值就是整个池子的“定海神针”。

当你想用USDC买入1个ETH时,池子里的ETH会减少到9个。为了保持k不变,USDC的数量必须增加到:200000 / 9 ≈ 22222.22 USDC。也就是说,你需要支付2222.22 USDC才能买到这1个ETH。

嗯,这里要注意一点:你实际支付的价格,并不是池子当前的“中间价”。因为你的交易本身就在改变池子的比例,从而影响价格。这就是AMM的定价机制——价格由池子深度和交易量共同决定。

核心要点: 恒定乘积公式保证了无论交易量多大,池子永远不会枯竭。但交易量越大,你支付的价格就越高。

4.2 流动性池:做市商如何提供流动性

流动性池说白了就是一个资金池。用户把两种资产按一定比例存入池子,就能成为流动性提供者(LP)。作为回报,LP可以赚取交易手续费。

我在项目中遇到过不少新手,他们以为随便存点钱就能当LP。其实没那么简单。你存入的资产比例必须和池子当前的比例一致。比如池子里是50% ETH和50% USDC,你存入的也必须是等值的ETH和USDC。

为什么?因为如果比例不一致,你存入的那一刻就产生了套利空间。机器人会立刻把你的“错误定价”吃掉。

流动性池有几个关键参数:

  • 总流动性: 池子里所有资产的总价值
  • 你的份额: 你存入的资产占总流动性的比例
  • 手续费率: 每笔交易收取的费用,通常0.3%
  • LP代币: 代表你在池子中份额的凭证
实战技巧: 我个人习惯在提供流动性前,先查看池子的历史交易量和手续费收入。如果日均交易量不到池子总流动性的10%,那这个池子可能不太活跃,你的资金会被闲置。

4.3 无常损失:做市商最大的敌人

无常损失,这可能是AMM里最让人头疼的概念。我第一次听说时也觉得不可思议——明明我提供了流动性,怎么还会亏钱?

简单来说,无常损失是因为池子里的资产价格比例发生了变化。假设你存入了1 ETH和2000 USDC(当时ETH价格2000 USDC)。后来ETH涨到了4000 USDC。这时候池子里的资产比例会自动调整,你的ETH会变少,USDC会变多。

我们来算一笔账:

场景 持有不动 提供流动性 无常损失
ETH涨到4000 USDC 1 ETH + 2000 USDC = 6000 USDC 0.707 ETH + 2828 USDC ≈ 5656 USDC -5.7%
ETH跌到1000 USDC 1 ETH + 2000 USDC = 3000 USDC 1.414 ETH + 1414 USDC ≈ 2828 USDC -5.7%

看到了吗?无论涨跌,只要价格偏离了你存入时的比例,你就会亏。而且偏离越大,亏损越严重。

避坑指南: 我曾经在Uniswap V2上为一个波动极大的山寨币提供流动性,结果一周内无常损失达到了30%。后来我学乖了——对于高波动资产,要么选择稳定币对,要么使用集中流动性AMM(如Uniswap V3)来控制价格范围。

不过话说回来,无常损失也不是绝对的亏损。如果你赚取的手续费超过了无常损失,那整体还是盈利的。关键在于找到平衡点。

4.4 滑点与深度:交易成本的核心

滑点,就是你下单时的预期价格和实际成交价格之间的差异。在AMM里,滑点直接由池子的深度决定。

池子深度越大,滑点越小。举个例子:

  • 一个深度100万USDC的ETH/USDC池,买入10 ETH可能只产生0.1%的滑点
  • 一个深度只有1万USDC的池,同样的交易可能产生5%甚至更高的滑点

为什么会这样?因为恒定乘积公式决定了:池子里的流动性越少,每笔交易对价格的影响就越大。这就像在一个小池塘里扔一块石头,水花肯定比在大湖里大得多。

我个人在做市商策略中,会重点关注两个指标:

  1. 深度分布: 不同价格区间的流动性分布情况
  2. 滑点曲线: 不同交易量对应的滑点变化

这里我画了一张图,帮你理解滑点、深度和交易量的关系:

滑点与深度关系示意图 交易量 滑点 浅池(低流动性) 深池(高流动性) 高滑点区 低滑点区 浅池 深池

从这张图可以清楚看到:浅池的滑点曲线非常陡峭,小交易量就能产生大滑点;而深池的曲线几乎是一条平线,即使大交易量也影响不大。

实战建议: 做交易时,我建议你设置滑点容忍度。对于主流币对(如ETH/USDC),0.5%的滑点容忍度通常足够。但对于小币种,你可能需要设置到2-3%。不过滑点设得越高,被MEV机器人“三明治攻击”的风险也越大。

4.5 三者关系:一个动态平衡系统

流动性池、无常损失、滑点,这三者其实是相互关联的:

  • 流动性池越大 → 滑点越小 → 交易体验越好
  • 流动性池越大 → 无常损失相对越小(因为手续费收入更高)
  • 价格波动越大 → 无常损失越大 → LP可能撤出流动性 → 池子变浅 → 滑点变大

你看,这是一个动态平衡的系统。作为做市商,你的目标就是在无常损失和手续费收入之间找到最优解。作为交易者,你的目标是在滑点和交易成本之间找到平衡。

我记得有一次,我在一个刚上线的AMM池子里做市,池子总流动性只有5万美元。虽然手续费率设得很高(1%),但无常损失实在太大了。一周下来,我亏了15%的本金,手续费只赚了2%。从那以后,我再也不碰流动性低于10万美元的池子了。

总结一下: AMM的核心是恒定乘积公式,它让任何人都能成为做市商。但做市不是无风险的——无常损失是最大的敌人,滑点是交易的成本,深度是流动性的体现。理解这三者的关系,你才能在DeFi世界里游刃有余。

专注资料整理