恒定乘积做市商公式是什么?Uniswap做市原理详解
恒定乘积做市商(Constant Product Market Maker,简称CPMM)是自动做市商里最基础的一类模型,核心公式是x · y = k流动性池里两种代币的数量乘积在理想状态下保持不变,Uniswap最早大规模落地这一机制,让兑换不再依赖买卖盘订单簿,而是直接在池子里完成定价与成交,成为去中心化交易的重要底座。

恒定乘积这个概念听起来不好理解,我们可以用面积的思路来类比:两种代币数量相乘等于固定值,兑换时此消彼长,价格随交易自动变化,下面把公式、成交过程,以及Uniswap几代产品怎么用这套思路,拆开说清楚。
恒定乘积公式本身
记池子里代币A的储备为x,代币B的储备为y
x × y = k
这里的k在只有兑换、没有人加减流动性时保持恒定(实际还会扣一点手续费进池,使k缓慢变大)。谁想用A换B,就往池子里扔A,再按公式算出能拿走多少B,保证换完后新的x′、y′ 仍满足乘积关系。
一个直观的小例子:假设池子里有10,000 USDC和5 ETH
●k = 10000 × 5 = 50000
● 此时现货价roughly是2000 USDC / ETH(用y/x的倒数关系来看)
若有人投入1000 USDC买ETH,不考虑手续费时,新的USDC储备变成11000,ETH储备变成50000 / 11000 ≈ 4.545,对方大约拿走0.455 ETH。单价会比起始价差一些,这就是常说的价格冲击(滑点)单笔相对池子越大,滑点越明显。

成交时价格怎么变动
CPMM没有“挂单价”,瞬时价格由储备比例决定。用ETH/USDC举例,边际价格可以写成P ≈ y / x(具体哪边当分子,取决于你把谁当计价资产)
大额买卖会沿双曲线xy=k滑动,而不是一条水平线。池子越深(x、y越大),同样金额造成的曲线位移越小,交易时成交越接近“公允价”,这也是为什么头部交易对往往挤在少数超大池里深度本身就是体验。

手续费怎么进公式
Uniswap V2常见费率为0.30%(部分池可不同)。买入时实际进入储备的是扣费后的数量,费的一部分留在池内,相当于缓慢抬高k,长期为流动性提供者(LP)积累收益。费越高,LP越有补偿,但taker成交成本也更高,池子会在“收益”和“成交量”之间找平衡。
Uniswap几代做市在用什么
Uniswap并不是永远停在裸的xy=k上,几代产品对“流动性怎么摆”做了迭代,公式内核却一脉相承。
| 版本 | 做市要点 | 和恒定乘积的关系 |
|---|---|---|
| V2 | 全区间均匀做市,任意价格都有流动性 | 经典x·y=k,实现简单,资金利用率一般 |
| V3 | 集中流动性,LP自选价格区间 | 在选定区间内仍按恒定乘积曲线定价,区间外头寸“休眠” |
| V4 | 单例合约 + Hooks等架构升级 | 定价仍可基于集中流动性/恒定乘积族模型,更多自定义逻辑挂在钩子上 |
V3以后,很多LP不再把资金均匀铺在0到无穷,而是压在当前价附近。同样的本金能撑起更厚的局部深度,但也意味着价格一旦大幅离开你的区间,头寸会变成几乎单边资产,需要自己判断要不要重设区间。兑换界面仍是“输入、估滑点、确认”,背后可能是V3/V4的多头寸曲线拼接,体感上还是自动做市。

无常损失与LP真实收益
只要你按CPMM规则做市,价格相对你入池时的比例一变,你撤出时的资产组合就会和“干脆持有不动”不一样,这就是无常损失(impermanent loss)。价格回来时损失可能收窄,但若单边暴涨暴跌后你再撤,差额就实打实了。
手续费、激励、还有V3的区间选择,都是在用收益对冲这种结构成本。稳定币对、相关性高的资产对,无常损失通常更温和,山寨对主流币、波动极大的池子,更吃管理能力。把“做市收益”理解成稳定理财,很容易在大波动月份发现账面并不如单纯持有。

LP存入500 USD + 5 ALT,初始价格1ALT=100 USD,总市值1000 USD,满足x·y=2500。
外部ALT下跌至64 USD,池内报价更高,套利者向池子卖出ALT、换走USD;池子储备变为400 USD + 6.25 ALT,池内价格跟随到64 USD。
同行情下对比
1、做市撤出:400 USD + 6.25 ALT = 400 + 6.25 × 64 =800 USD
2、单纯持有原仓位:500 USD + 5 ALT = 500 + 5 × 64 =820 USD
二者相差的20 USD,就是无常损失(未统计手续费收益)。
常见使用场景与边界
●现货兑换:钱包或聚合器路由到Uniswap池,完成链上swap,适合中小额、要自托管的场景。
●提供流动性:存入双币(或V3单边进入后再平衡),赚手续费,同时承担无常损失与智能合约风险。
●价格参考:链上许多协议用Uniswap池的时间加权均价(TWAP)等作为预言机输入,但仍需防范极端操纵与浅池干扰。
CPMM解决的是“有池就能换”,不是保证最优价、更不是保证本金。跨链桥、授权骗局、假池、过时路由,都和公式无关,却能让用户亏光。大额成交前看深度与滑点,合约交互只连官方前端或自己核验过的路由。
常见问题
恒定乘积是不是保证我买卖都是“公平价”?
不是。它保证的是池内储备满足乘积约束,价格由池子比例和你的成交量共同决定。相对外部市场,浅池或剧烈波动时会出现可观偏差,套利者会把它拉回去,但你的那一笔已经按池内曲线成交了。
只有Uniswap在用这套公式吗?
不是。大量AMM从Uniswap V2的恒定乘积出发,再改曲线(如稳定币专用的恒定和、混合曲线)或改流动性分布(集中流动性)。看懂xy=k,再去读别家的白皮书会轻松很多。
普通人要不要自己当LP?
若只想兑换,不必。若想当LP,先用小额在熟悉的稳定对或主流对上试,弄清区间、手续费档位、撤出时的资产比例,再考虑加码。把无常损失和合约风险算进预期,比盯着年化数字靠谱。






