DEX的AMM做市算法如何运作?AMM做市算法有哪些类型

更新时间:2026-11-10 10:24

去中心化交易所(DEX)没有传统交易所那种挂单簿,买卖双方也不用等对方出价,流动性大多靠自动做市商(AMM)撑着你把两种(或多种)代币按规则放进流动性池,交易直接跟池子成交,价格由公式算出来。

DEX的AMM做市算法如何运作?AMM做市算法有哪些类型

核心是流动性池里有足够的代币,AMM根据池子里的资产比例和定价公式计算价格,用户直接和池子交易,支付手续费后完成兑换,提供资金的LP则可以赚取手续费,但也要承担无常损失等风险。

AMM的基本运行机制

大多数AMM都有一套定价公式,用来决定两种代币之间的兑换价格。买的人越多,池子里的代币就越少,价格也会跟着上涨;卖出时则相反。买卖金额越大,对价格的影响通常也越明显,这就是滑点产生的原因。

比如ETH和USDC组成一个资金池,有人用USDC买入ETH,池子里的ETH就会减少,USDC增加,下一位用户再买ETH,价格通常就会更高,提供资金的人(LP)会获得对应的份额凭证,之后可以按份额取回池子里的资产,同时赚取交易手续费。但池子里的资产价值也会随市场价格变化,LP还需要承担无常损失的风险。

DEX的AMM模式就是用户直接和资金池交易,由智能合约按照公式计算价格,不需要像中心化交易所那样等待买卖订单撮合。

常见AMM算法类型

恒定乘积做市(Constant Product)

最经典的是Uniswap V2那一类:x * y = k。x、y是两种代币储备,k在理想交易中保持不变,价格近似为y/x,曲线是双曲线,全价格区间都有流动性,但越远离均衡价,深度越薄,大额交易滑点大。

DEX的AMM做市算法如何运作?AMM做市算法有哪些类型

适合长尾币、通用交易对,实现简单、抗操纵相对直观,代价是资金效率不高很多流动性闲置在极少成交的价格区间。

恒定和与混合稳定币曲线

稳定币之间的价格通常接近1:1,比如USDC和USDT,如果使用普通的恒定乘积公式,兑换时仍可能产生不必要的滑点,Curve等平台采用了混合曲线(StableSwap),把恒定和与恒定乘积两种机制结合起来,当两种资产价格接近1:1时,兑换更接近恒定和模式,滑点较小,当价格偏离较大时,曲线会逐渐转向恒定乘积模式,避免池子里的某一种资产被换光。

DEX的AMM做市算法如何运作?AMM做市算法有哪些类型

这类曲线主要用于稳定币、ETH和stETH等价格接近的资产兑换,就是让价格接近的资产换起来更划算,同时降低池子严重失衡的风险。

集中流动性(Concentrated Liquidity)

Uniswap V3改变了以前把资金平均分布在所有价格区间的做法,允许LP自己设定一个价格范围,只在这个范围内提供流动性,比如你可以设置ETH的做市价格在2000~3000 USDC之间,只有ETH价格处于这个区间时,你的资金才会参与交易并赚取手续费。

这种方式能让同样一笔资金集中在更常交易的价格范围内,提高资金使用效率。但风险是如果ETH价格涨到3000以上或跌到2000以下,你的资金就会变成单一资产,暂时无法继续赚取交易手续费,需要调整价格区间后才能重新参与做市。

集中流动性就是LP自己选择在哪个价格范围内做市,选得好赚取手续费的效率更高,价格跑出区间,做市就会暂停,导致需要经常关注和调整。

恒定均值与多资产池

Balancer采用的恒定均值机制,允许一个资金池里放入两种或多种代币,而且不要求每种代币的数量或价值都一样。比如一个池子可以按照80% ETH、20%USDC的比例配置,也可以同时放入多种不同的资产。

这种机制适合做指数型投资组合,用户买卖其中的代币时,池子会根据设定的比例自动调整资产占比,LP相当于把资金放进一个自动调整比例的组合里,既能赚取交易手续费,也要承担资产价格波动带来的风险。

恒定均值就是让LP自己设定每种代币占多少,AMM再根据这个比例计算兑换价格,不同资产的占比会影响交易价格和滑点,配置比例时需要考虑资金风险和交易成本。

主动做市与预言机辅助(Proactive / Oracle-based)

纯被动曲线只看池内储备,外部市场价格一动,池内价会滞后,被套利把「错误定价」搬平LP常吃亏,部分协议引入预言机(或内部均价)去移动报价中心,让曲线锚在外部公允价附近,减少可被套利的价差,提高LP资本效率。

代表思路包括DODO的PMM(先定一个「均衡价」,再在两侧用类曲线承接买卖),依赖预言机就引入预言机延迟、操纵与失效风险,工程上要有熔断、偏差限制等边界。

混合路由与分层曲线

实际交易时,一笔兑换不一定只通过一个资金池完成,比如你想用USDC买ETH,DEX聚合器可能同时查找多个交易池,比较哪条路线价格更好、手续费更低、滑点更小,然后把订单拆成几部分,分别在不同池子里完成。这样做是为了尽量减少交易成本,让用户拿到更多ETH。

还有一些AMM会在传统资金池的基础上增加其他机制。比如把主资金池和做市商的额外资金结合起来,增加可用流动性,或者根据市场波动调整手续费,行情越剧烈,手续费可能越高,用来补偿LP承担的风险。

混合路由解决的是一笔交易走哪个池子更划算,分层做市解决的是如何增加资金来源、改善交易体验,它们是在传统AMM基础上的改进,并不是完全不同的定价公式。

用一个例子理解

假设你要用1000 USDC买ETH

1、池子A:价格不错,但资金较少,大额交易滑点高。

2、池子B:资金充足,但手续费较高。

3、池子C:滑点低,手续费也比较合理。

聚合器可能把1000 USDC拆成几笔,分别通过A、B、C兑换,再把ETH汇总给你。

这样就不必把全部资金放进一个池子交易,可以减少滑点和整体成本,实际是否拆单,还要看Gas费、交易规模和各池子的实时情况。

各类型怎么选、用在哪

类型典型公式/特征适合的场景主要代价
恒定乘积x·y=k,全区间山寨对、通用兑换资金效率低、大单滑点
StableSwap混合锚定价附近极低滑点稳定币、锚定资产脱锚时曲线变陡、需参数治理
集中流动性LP自选价格区间主流对、专业LP管理复杂、出区间停收手续费
恒定均值/多资产加权乘积不变组合池、非50/50权重与再平衡理解成本
预言机/PMM类外部价驱动中心价追求更高LP效率预言机与操纵风险

无常损失与费用,为什么公式再漂亮也可能亏

AMM不保证LP相对「一直持有原代币」更赚,价格相对入池时大涨大跌,池子会自动卖出涨的、买入跌的,赎回时的资产结构与单持不同,这就是无常损失(价格回到原点时损失可消失,故名「无常」,但实盘价格不回去就变成实亏)。

手续费是补偿来源。成交少、波动大的池,费可能盖不住损失,稳定池波动小,费低但损失也往往更可控,集中流动性在区间内把该效应放大,赚得快也可能亏得快。

DEX的AMM做市算法如何运作?AMM做市算法有哪些类型

不同曲线如何影响交易成本与LP收益

DEX的AMM可以理解为:用数学公式决定代币价格,让用户直接和资金池交易,而不需要等待买卖双方挂单撮合。

不同AMM适合不同场景:恒定乘积适合普通代币交易,StableSwap适合价格接近的资产兑换,集中流动性让LP把资金放在常用价格区间,多资产池则可以按设定比例管理多种代币,部分AMM还会借助预言机参考外部价格,或通过聚合器把订单分配到多个池子,尽量降低交易成本。

免责声明:本文所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任!