un.Block

Posted on Oct 09, 2021Read on Mirror.xyz

自动化做市商

两种做市商

传统做市商

传统做市商在交易市场中扮演交易中间人的角色,他向市场同时给出买价和卖价。给出报价后,市场上的买家和卖家根据报价与做市商进行交易,买家和卖家间接完成交易。买卖交易依赖于订单簿(Order Book)来撮合,买卖双方需要将订单挂到订单簿上,以价格为信号进行交易。

自动化做市商(Auto Market Maker)

自动化做市商(AMM)是一种去中心化的交易所(DEX)的协议,它在没有中间商的情况下自动撮合交易。在 AMM 协议下,传统的订单簿被流动性池(Liquidity Pool)所取代;买家、卖家、做市商不复存在,取而代之的是流动性提供者、交易者和套利者。由于是全自动地撮合交易,交易者也失去了报价的权力,只能接受 AMM 所提供地价格。

角色

流动性池(Liquidity Pool)& 流动性提供者(Liquidity Provider)

流动性池和流动性提供者是紧密关联的两个概念,因此我们一并解释。

流动性池可以理解为一个大池子,里面有许多的加密货币资产,流动性提供者将自己的资产注入到流动性池中,为交易提供流动性,通过交易手续费获取一定收益。任何人都可以成为流动性提供者,只要他向池子里注入了资金。

交易者

交易者可以与流动性池发生交易,向池子中投入一种资产,以换取另一种资产,这个交换的过程需要支付交易手续费。

套利者

套利者负责修正交易价格,以保证流动性池中的资产交易价和市场价一致,并从中套利,他们会给流动性提供者带来无常损失(Impermanent Loss)。

运作机制

流动性初始化

在交易开始前,流动性提供者向一个流动性池子的智能合约注入一定数量的两种资产(两种不同的资产可以组成一个 LP 对)例如在 ETH-UNI 池子中,就需要同时注入 ETH 与 UNI ,以作为流动性储备。

注入到流动性池的两种资产的数量基于当前 AMM 下的资产交易价计算得出。假设在 ETH-UNI 的 LP 对中,当前价格:1 ETH = 100 UNI,那么流动性提供者在注入 1 ETH 的同时需要注入 100 UNI 。

交易

我们将继续沿用上文的例子。

流动性池子建好后,交易者可以向流动性池的智能合约发送交易请求,他可以放入 x 个 ETH ,换出 y 个 UNI (换出的 UNI 的数量受资产价格影响)。同时,交易者需要为它的交易付手续费。

需要注意的是,交易可能会受滑点影响,交易者最终得到的 UNI 数量并可能和交易申请时的数量不一致。关于滑点,我们下次再聊。

套利

交易者交易结束后,AMM 中的资产交易价会发生变动,与市场公允交易价有偏差,套利者可以进场购买被低估的资产或卖出被高估的资产,直到 AMM 的资产交易价与市场公允交易价匹配。

无常损失(Impermanent Loss)

在 AMM 下,只要发生了交易,就会引起价格变动。只要价格偏移了注入流动性地时候,就会产生无偿损失。沿用上文的例子,假设 UNI 价格翻倍,此时我们提取流动性时就会发现到手的 UNI 变少了,ETH 变多了。

流动性提供者为 AMM 提供流动性是为了获取交易费用,然而无常损失的存在提高了流动性提供者的投资风险。

减少无常损失可以从改变 AMM 模型下手,选择更加平滑的价格曲线。

相关阅读: