自动化做市商(AMM)通过预设的数学公式为流动性池中的资产定价,取代了传统订单簿模式。其中,最著名的是恒定乘积公式 x * y = k,它确保了池中资产总价值在交易前后保持不变。本文将深入解析AMM的核心公式及其应用场景,并通过实例演示其运作过程。
恒定乘积公式(x * y = k)
恒定乘积公式是去中心化交易所(如Uniswap)最常用的定价模型。其中:
- x 代表池中第一种代币的数量
- y 代表池中第二种代币的数量
- k 是一个固定不变的常数
该公式通过代币数量比率自动计算价格:当用户购买某一代币时,池中该代币数量减少,另一种代币数量相应增加,从而推动价格变化,同时保持k值恒定。
基础交易示例
假设某流动性池包含1,000枚Token A和1,000枚Token B,则初始常数 k = 1,000 * 1,000 = 1,000,000。
若用户购买100枚Token A,池中Token A数量减至900枚。为维持k不变,需要重新计算Token B的数量:
y = k / x = 1,000,000 / 900 ≈ 1,111.11
这意味着用户必须向池中注入约111.11枚Token B才能换取100枚Token A。通过这一机制,AMM实现了自动定价和交易结算。
添加流动性规则
添加流动性时必须保持池中原有资产比例。例如池中有2,000枚Token A和4,000枚Token B(比例1:2),若用户要添加500枚Token A,则需同时添加1,000枚Token B。添加后池资产变为2,500枚Token A和5,000枚Token B,新常数 k = 2,500 * 5,000 = 12,500,000。
移除流动性机制
流动性提供者按份额比例提取资产。例如池中有5,000枚Token A和10,000枚Token B,若某提供者拥有10%的份额,则可提取500枚Token A和1,000枚Token B。剩余资产仍保持恒定乘积关系。
其他AMM公式类型
除了恒定乘积模型,市场上还存在多种适应不同需求的计算公式。
恒定和公式(x + y = k)
该公式要求两种代币数量之和始终保持不变。虽然能提供稳定价格,但存在单一资产被完全掏空的风险,实际应用较少。
恒定均值公式
支持多资产池的通用模型,公式为 ∏(x_i)^{w_i} = k。其中x_i代表各代币数量,w_i为其权重系数。Balancer等平台采用此模型,允许创建不同资产权重的投资组合。
混合函数模型
针对稳定币等价格锚定资产设计的混合模型。Curve Finance通过结合恒定乘积与恒定和公式的优点,显著降低了无常损失,特别适合稳定币交易对。
动态自动化做市商(DAMM)
根据市场条件动态调整参数的新型做市商。通过引入外部价格预言机或实时波动率数据,DAMM能够优化流动性配置,在剧烈波动的市场中保持稳定性。
集中流动性(Uniswap v3)
革命性的流动性提供模式,允许将资金集中在特定价格区间。这不仅提高了资本效率,还使流动性提供者能够针对预期交易范围进行精准部署,获得更高手续费收益。
常见问题
什么是无常损失?
无常损失指流动性提供者因池中资产价格变化而面临的暂时性价值损失。当外部市场价格与池内价格出现偏差时,套利者会进行交易使价格回归一致,此过程可能导致LP资产价值低于单纯持有。
恒定乘积公式的主要缺点是什么?
在较大交易量时会产生显著滑点,且对于价格高度相关的资产(如稳定币)而言无常损失较为明显。这也是混合模型和集中流动性模式被开发的原因。
如何选择适合的AMM池?
考虑资产波动性、交易对相关性和预期持有期限。对于稳定币交易,优先选择Curve等低滑点平台;对于波动性大的资产,Uniswap v3的集中流动性可能带来更高收益。
AMM是否需要传统做市商?
完全不需要。AMM通过数学算法自动执行做市功能,任何用户都可以通过提供流动性参与做市过程,实现了真正的去中心化市场运作。
添加流动性时为何要保持比例?
维持比例才能保证原有流动性提供者的权益不受稀释。如果随意添加单一资产,会改变池内资产比率,导致价格偏离并产生套利机会。
集中流动性如何提高资本效率?
通过将资金集中在最可能发生交易的价格区间,避免了资金在无用区间的闲置。这使得少量资金就能提供深度流动性,显著提升手续费收益。
AMM公式的演进展现了去中心化金融的创新活力。从简单的恒定乘积到动态调整模型,每一种改进都在尝试解决流动性深度、资本效率和无常损失等核心问题。随着技术的不断发展,未来必然会出现更先进的做市商模型。