传统做市商
在传统市场中,“做市商”是帮助交易成为可能的人。他们通过维护“订单簿”来做到这一点,当他们的首选价格匹配时,他们将买家和卖家匹配在一起。
做市商为了保留这本账簿,会收取少量费用。像这样的做市活动基本上一直存在。
举一个简答的例子。如果说市场供需双方众多,买家 A 如果想买一个桌子,那么他随时去找到一众木匠中找到报价合适的木匠 B, 谈一个合理的价格就可以成交了,这时也不需要什么做市商。但如果交易者稀少,只有一个买家和一个木匠,那么当买家 A 一大早跑到市场上想买个东西,待了半个小时依然发现市场空无一人,买不到货。木匠 B 下午到了市场,也发现自己的桌子无人问津,只得兴尽而归。这就导致了他们虽然都有买卖的需求,但是无法成交的状况。
更严重的是,如果买家 A 每天只有早上有空能到市场, 木匠 B 每天也只能下午到市场,那他们之间就永远无法实现交易。于是,机智的做市商 C 出现了。既然他知道 A 想买 B 想卖,又苦于碰不到面,那他就可以下午的时候先把木匠 B 的桌子买走,第二天早上再在市场上等着 A 出现,转手把桌子卖给 B。不过代价嘛... C 的进价很可能是 100,卖价是 110。这中间的 10 块钱的差价就是 C 的利润。
美国推行的是做市商制度。推行做市商制度,主要目的是为了稳定股票的价格,让做市商提供日常的流动性,当市场有突发的情况,不至于股价暴跌或者暴涨。在股价下跌的时候,做市商有义务不停的买入,在股价上涨的时候做市商有义务不停的卖出,不允许做市商单方向推动股价。那么做市商如何盈利呢?做市商的盈利主要靠价差、返点以及佣金折扣。所谓的价差就是买价和卖价之差,流动性好的股票往往价差只有0.01美元,流动不好的股票往往有0.10到0.50美元左右甚至更高,返点是向提供流动性的一方提供的补偿,一般的通道商每100股大概向去除流动性的一方收取0.30美元的费用,然后提供流动性的一方提供0.29美元左右的返点。佣金折扣指交易所不仅不收取做市商的佣金,有的时候反而因为他们稳定了市场,根据他们交易量的大小,给他们提供一定的工资奖励。因此在美国市场,我们散户大部分都是在和做市商交易,而不是和所谓的庄家在做交易。
AMM
DeFi催生了新一代自动做市商(AMM),如Uniswap、Curve、Balancer和Kyber。
与传统的做市商不同,这些AMM的运作方式不是维持订单记录。相反,他们使用一种称为“恒定乘积”模型的数学方法。
x * y = k
不知道有什么大不了的?继续阅读以了解这个简单的方程式如何改变金融。
每个AMM由一系列“池”组成。每个池允许用户在构成该池的两个资产之间进行交易。
当有人向协议发送两个等值的资产时,就会创建池。例如,在代币A中存入1000美元和在代币B中存入1000美元创建 A/B 池。
A/B池 = (等值)Token A + Token B
(注意:这两种资产不需要具有相同的价格,只需相同的价值——如果A代币的价值是B的2倍,那么您只需要一半。)
创建后,AMM池可用于将一种资产交换到另一种资产。当交易通过池时,资产的价格会自动更新。
价格如何自动更新?有一些基本的数学和常数乘积方程。
简而言之,恒定乘积方程表示,只要 x*y 的值保持不变,x和y(我们在池中的资产)的价格就可以随心所欲地移动。
x * y = k
下面是一个例子:
假设在两个代币A和B之间有一个池。当这个池被创建时,代币的价值是完全相等的。他们处于平衡状态。
现在假设您想进行交易——用您的一些代币A交换一些池中的一些代币B。或者换句话说,您想将一些A添加到池中并提取一些B。如果您添加A并删除B然后突然池失去平衡。
在其他条件相同的情况下,添加A和删除B会打破平衡
保持池平衡的唯一方法是移动支点——在A和B之间移动汇率。改变汇率意味着您必须投入更多的A来获得相同数量的B。就像魔术一样,B更有价值!
这种简单的机制——基于池中锁定价值的动态汇率——是使AMM发挥作用的关键。
您为什么要关心?
因为建立在这些原则上的AMM已经处理了数百亿笔交易,而且它们没有任何放缓的迹象。
恒定产品方程和AMM技术等创新有助于创建24/7、完全去中心化的市场,任何有互联网连接的人都可以参与其中。
流动性挖矿
最开始,他们用的是撮合交易双方的模式,一个人要来换1000美元,另外有4个人要换一共820欧元,然后窗口撮合上这几个人,完成交易。
暂时没有匹配的交易的,就挂在账面上,两边谁想换就找挂单的人换就行了。
这叫订单簿模式,之前加密货币交易所都用的这个模式。
但是这个模式需要有人挂单,才能形成一笔交易,而很多人手里有欧元美元的,看价格不合适就回家了,也不挂了,这样交易单就那些,如果整体换币的人不多,一笔订单要很久才能成交,流动性就不怎么好。
此时,兑换点老板想出个新办法。
他开了美元和欧元的存款,有钱又暂时不用的人可以把外币放在这里,拿利息。
这样,很快,他就有了100万美元和82万欧元的存储量。
他把这美元和欧元结对组成一个池子,池子里是100万美元:82万欧元。
如果有人来兑换美元,直接从欧元池子里拿出来按照汇率给他,反之亦然。
这样一天24小时任何时候都可以来兑换,再也不用像订单簿那样等着成交了。
兑换流动性就此大为提升。
然后老板把兑换手续费拿出来当做利息发给存款的人,这样手里有外币的人就有动力来存款了,池子流动性就会越来越好,原来能容纳几十万一次的交易,后来就能容纳几百万了。
但是手续费的收入太少,不够吸引人怎么办??
老板又想了个办法,在这存款的,根据存款量能定时给积分,积分可以用来在店里兑换一些周边产品,或是打折券,或是抽奖机会等,这样加上积分的效益,存钱就更有利可图了。
更厉害的是,积分不仅可以换东西,还可以用来参与表决,比如增加新的兑换对、增减手续费等投票表决,这又直接和存款收益息息相关,所以积分更值钱了。
甚至在兑换店规模做大后,积分已经分散到很多用户手里,这些用户因为积分获得了不少权益,并不着急兑换积分而是留着了,此时老板决定将每天高额手续费拿出一部分来给积分持有者分红。
于是积分在消费、表决的功能外,又增添了股权功能。
积分就成了有价值的香饽饽、金饼饼。
这样,存款进兑换点,来赚取积分的行为,就叫挖矿——用户出钱给店里提供流动性,挖出来手续费和有价值的积分作为回报。
这就是流动性挖矿。
无偿损失
假设一个流动性提供者向流动性池添加 1 个 ETH 和 100 个 USDC,这是两个代币的价值相等。他们的存款金额是 200 美元,因为他们的 ETH 和 USDC 都值 100 美元。目前,流动性池中有 10 个 ETH 和 1000 个 USDC,比例为 50/50,这使得流动性提供者在池中占有 10% 的份额。他们将收到 LP 代币,他们可以使用这些代币随时赎回他们在池中的 10% 份额。
由于代币的价格依赖于其流动性池的比率,它们的价格可以与其他交易所的价格分开。如果 ETH 价格上涨 100%,现在每 ETH 价值 200 美元,流动性池将变为 7.071 ETH 和 1,414.21 USDC。这是因为池子的比例发生了变化,不再是 50/50,这影响了 ETH 的价格。
由于流动性提供者有 10% 的流动性池份额,他们可以提取 0.7071 ETH 和 141 USDC,相当于 282 美元。然而,如果流动性提供者仅仅持有他们的 1 个 ETH 和 100 个 USDC,他们将价值 300 美元。两者之间的差额 18 美元是流动性提供者所经历的无常损失。池的比例变化越大,产生的无常损失就越大。
AMM的问题
AMM使用恒定乘积公式 X*Y=K,其中 X 和 Y 分别代表交易池中两种代币的可用数量。这个公式是一个反比例函数,如下图显示。
当 K 不变时,X 增大,Y 就会减小,反之亦然。在 DEX 真实交易的场景中,当交易对中的一种代币因为交易数量发生变化时,另一种代币的数量也会相应的发生改变。
我们以 LINK-USDC 交易对为例,假设用户计划通过 USDC 买入 LINK,他相当于是向交易池中充入了 USDC,并从中拿走了一部分 LINK,从而池子中的代币数量发生了改变,兑换比例的改变又相当于影响了价格。
在这个过程中,是比例和数量的改变,跟价格是没有直接关系的,AMM 的价格来源于套利。它被动的依赖套利交易来改变价格,当兑换比例发生变化,并且与其他交易平台不一致时,套利者会发现机会进行套利,进而把价格缺口搬平。
资金利用率低:乘积恒定曲线,意味着资金均匀分布在这条曲线的每个价格点位上。但是,不会有人以 1 美金卖掉 ETH,也不会有人愿意用 10 万美金买 1 枚 ETH。所以曲线两端的资金是无法被用于交易的,只有中间聚集的资金被用于交易。这也导致了交易滑点高的问题。
改变做市商的资产结构:恒定函数做市商的做市策略,会在行情波动的时候,导致做市商的资产配置发生变化,这也被称为无常损失。
僵硬的做市策略:AMM 只是一个固定的策略,做市商退化成流动性提供者,只能充币,无法将币价的主观判断应对到市场上进行相关操作。专业做市商的主动报价能力无法应用到这样的 DEX 上。
Uniswap V3
Uniswap v3 详解(一):设计原理 - Fantasy