最近几个月市场及其沉闷,即使中间伴随了一场大跌,Frax V3也没有如约推出,以至于市场上最热的话题居然是“去中心化美债”和一个旁氏交友应用。
今天终于看到一个让我有意愿深究下去的东西,去中心化做市商协议Elixir。
长久以来,与做市商相关的内容都是我认为自己极其缺乏的专业知识,大多数情况下,【做市商】对于【项目方】和【交易所】的运行细节了如指掌,但反过来则不成立。这也使得做市商成为了这个行业里毫无疑问的处于金字塔最顶端的玩家。
首先声明,Elixir仍然处于测试阶段,它的代币ELXR仍未正式发布,我也不认为它一定能够成功,但是Elixir确实为我打开了一扇了解做市商这个专业群体的窗口。
背景
大多数情况下,我在了解一个项目机制的时候并不会太在意它的开发团队背景,但是在阅读DOCs的过程中,我越来越觉得它的团队里一定有专业做市商背景。以下为其官网上公开的团队创始人及backer。
可以看到确实有量化和CEX背景。
关于Elixir提供的服务,可以看到他们希望在用户侧能够尽量简单,但是它的实际运行机制极其复杂,我甚至认为开发Elixir的复杂度相当于开发一条新的区块链。
但这也契合我之前的一个观点,做市本身就是一个专业性极高的活动,即使是在模型极其简洁的Uniswap V2时代,成为AMM LP并精确计算出自己的潜在风险与收益,对于普通用户来说几乎不可能,更不必说CEX做市。而AMM的做市效率一定无法和专业MM相比,这也促使Uniswap从V2到V3再到UniswapX的转变。
附一张Uniswap在22年发布的Uniswap V3深度图,集中流动性机制确实是一个了不起的创举。
首先上一个对于做市商的定义:
Traditionally, market making is a financial practice undertaken by financial firms who play the "bid-ask-spread of a particular asset's orderbook in an effort to turn a small profit on trades. Market makers set both bids and asks, deepening the liquidity of an asset and allowing traders to place orders with limited slippage.
MM通过买卖价差来赚取利润。
在Crypto市场的实践中,我们将被做市的代币分为两种:主流代币和新上代币
对于主流代币:
比如BTC和ETH,正经的做市商是通过买卖价差,即Bid-Ask-Spread来获利。
做市商这个概念比Crypto存在的时间要久远的多,在一个最简化的模型里,MM在current market mid price两侧均衡的设定ask price和bid price。在横盘的过程中,这个模型没什么问题,但在市场出现单边行情时,MM会因为发生库存偏移而出现亏损。2008年,Avellaneda & Stoikov,这俩老哥发表了一篇论文:
主要介绍了MM如何根据自己的库存情况与目标期望来调整bid price和ask price,并且给出了数学公式推导。这里我们接下来单独介绍。
当然,我仍然希望求证AS公式是否被专业MM广泛应用,这里有一篇斯坦福大学在2018年的论文“Optimal High-Frequency Market Making”,里面有涉及到AS模型的表现。更直接的方式是求证于从事MM的朋友。
对于新上代币:
新代币在上线中心化交易所之前,一般CEX都会要求项目方有签约的做市商,来保证交易量和流动性。在这种情况下,项目方实际上成为了做市商的服务对象,所谓的“做市即服务”。一般约定的履行情况如下:
项目方和做市商约定一个价格,项目方提供项目代币,做市商提供等额的USD;
一般履约时间为12~18个月,合同到期后,做市商将能够以约定价格根据当初提供的USD金额,对项目代币行权(也可以放弃行权)
通过这种方式,做市商往往能够掌握项目代币2%~5%的份额。
结合上周的新闻,Binance向交易量低的代币项目方询问是否有签约的做市商,并决定下架代币与否。
我们能够很容易想到当前的做市商存在的对于普通用户的弊端,Elixir则将其归纳为了四点,并且辅以一些论文进行说明,我们也以做市商的语言来看一下。
Operationalization problem(可操作性)
做市商的服务对象要么是交易所,要么是代币项目方,要么两者皆是。所以做市商如何从两者获得激励是一个核心问题。
一般来说,衡量做市商服务好坏有三个核心指标
1)order uptime,即订单市场正常运行的市场,这里的正常也需要额外定义;
2)spread,即市场的价差
3)volume,即交易量
在过去的分享里,我们了解过DEX和PERP市场对于做市商的激励手段,其中DYDX对做市商的激励模型是最契合上述三点的。而传统做市商与交易所或项目方签订的合同中肯定也会有更加详细的激励条款。
Verification Problem(验证问题)
这里指的是在制定了上述的激励条款后,如何验证做市商的服务。这更像是一个技术上的难题,我们不做过多展开。
Adverse selection problem
这是一个专属名词,直译为“逆向选择”,而在wiki百科的词条介绍里,它实际上指的是“信息不对称”。
在DOCS里,Elixir通过大量的论文举证,说明了
1)买卖价差的主要原因就是“信息不对称”
Wyart et al. (2008) finds empirical correlation between the spread and volatility per trade which alludes that the main component in the bid-ask spread is adverse selection.
2)充分市场里有多个MM共同做市,拥有更多信息的做市商能够以此来攻击其他做市商。
Easley et al. (2011) came to the conclusion that when order flow toxicity increases, market makers face substantial losses and then limit their risks via reducing or closing their positions. Consequently, market illiquidity can then cause severe consequences for broader market participants.
3)股票市场里,“信息不对称”因素会很大影响“战略流动性提供者”们的决策。这当然会涉及到违规,但时时刻刻都在发生。
In an analysis of traditional financial markets, Bonart and Gould (2017) examined Nasdaq’s order book data and showed that strategic liquidity providers primarily consider adverse selection along with expected waiting costs before deciding how to act.
回过来看加密市场,这也符合我们对于某些做市商操纵市场的直观感受。
Monopolization problem(垄断)
跟上一个问题类似,操纵市场,在这里不做再次展开。
专业的做市商当然不可能像Uni V3的散户LP一样,频繁的手动设置参数,他们是依靠算法来实现做市行为的。
AS算法是一个经典的做市模型,于2008年由Avellaneda & Stoikov在一篇论文中经过大量的数学推导后提出,关于AS模型的中英文资料也有很多,附论文原文:
AS模型主要解决两个问题:
库存偏移。对于做市商来说,以BTC/USDT为例,他们最初是使用BTC和USDT两种代币进行做市的,理想情况下,做市商在市价两侧均匀的以bid price和ask price挂单,两侧的单子最好能够同时成交,使得做市商手中的BTC和USDT的金额永远相等。做市商不做市场走势偏好判断,赚取稳定的bid-ask-spread。
但实际上,上述情况在实践中是不可能发生的。市场出现某种单边行情时,做市商的库存中,要么BTC变多,要么USDT变多。AS模型中通过让做市商不再挂市价两侧的均衡订单来消除影响。这里我们先贴一篇英文研究文章的原文,再说明这个对策。
假如做市商的库存里,BTC比USDT更多,AS模型告诉做市商,应该降低bid price,即降低买单的价格,并维持卖单的价格不变。这样之后,买单成交的概率会降低。接下来会发生两种情况:
假如做市商的买单未成交,卖单成交,这样MM的库存实现了再平衡;
假如做市商的买单和卖单同时成交,库存依旧不平衡,但是做市商赚到了差价;
会发生买单成交,但卖单未成交的情况吗?
会有,但很稀少。因为对于taker来说这是非常不划算的。而且,这就涉及到下一个问题,即如何确定做市商设定的买单和卖单的价格。
这里涉及了大量的数学推导,我们只看结论。
首先计算一个预定价格:
r(s,t)=s−qγ(T−t)
再计算一个最优价差
δa+δb=γ*(σ^2)(T−t)+2/γ*ln(1+γ/κ)
其中,
s = current market price,理解为当前市价,即【最佳买价+最佳卖价】/2
q = quantity base asset / units to desired asset target,或者叫quantity of assets in inventory of base asset,指的是要买入的目标代币的数量
γ = inventory risk parameter,由MM定义,风险系数,这个数字越大,计算出来价差就大,风险就小;且当取值为0时,AS就变回了就原始的对称做市策略;
σ = volatility,波动率,常见的计算方式我们之前聊GNS的时候提过,也有其他的计算方法;
T-t,指做市的持续时间,一般T设定为1,t是一个时间分数(没太理解);在crypto这样的连续市场里,一般可以设定T-t为1;
δa, δb = bid/ask spread,也就是价差;
κ = order book liquidity parameter,订单密度参数,需要MM设定,流动性越好,这个值越大;
然后我们有
bid_price = 预定价格 - 最优价差/2 = s−qγ(T−t) - 0.5γ*(σ^2)*(T−t) - 1/γ*ln(1+γ/κ)
ask_price = 预定价格 + 最优价差/2 = s−qγ(T−t) + 0.5γ*(σ^2)*(T−t) + 1/γ*ln(1+γ/κ)
这里需要说明,Elixir使用的计算δa+δb的公式和AS原始论文中的公式并不一致,我这里使用了原始论文中的表述
总结一下,上述公式里
s容易得到;
q也比较容易得到,假设你有2万USDT,并且对BTC/USDT做市;首先你需要设定你的库存目标,假如我们选择了0.5BTC/10KUSDT,此时q = 0 - 0.5 = -0.5;
γ的计算较复杂,这里我们直接贴某篇文章的研究结论,姑且算是也可以得到…
σ也比较容易计算;
κ的计算也很复杂,贴出具体的研究文章
通过以上文章的介绍,我们了解到q,γ,(T-t)仍然需要手动输入,Elixir也构建了一套比较复杂的解决方案。
这是一套类似于公链的技术架构,我们可以粗略的将其中的角色分为
Validator,验证者;
Auditors,审计者;
Controller,控制器
多个验证者构成一个DPOS的验证者网络,他们负责参数的输入,当66%的验证者达成共识,输入结果才有效;
审计者负责保证验证者的诚实,可以通过审计到验证者的错误输入而获得奖励;同时审计者还会根据保证网络的稳定运行时长而获得奖励;
控制器负责裁决,当上述身份发生纠纷时介入,由合约担任。
此外,为了防止受到攻击,Elixir的(T-t)取值在[0,1]之间随机游走。
由于目前仅运行了测试网,我们目前很难评估Elixir的实际运行效果,可以结合其官推宣发的合作伙伴及整合情况来看。
现货DEX
很明显,Elixir这类产品会是UniswapX最受欢迎的“聚合做市商”。我们在之前的分享里也提过这一点,Uniswap发展至今,越来越倾向于选择专业做市商提供的服务,而一个由散户集合组成的去中心化做市协议对于将来的Uniswap来说简直完美。
虽然我们在上述介绍里更多以订单薄举例,但AS模型应用于AMM的做市也并不困难。而且在Elixir的DOCS里,专门拿出了较大的篇幅来介绍和Uniswap结合的技术细节。有兴趣可以去阅读。
PERP市场
公布的合作方:Vertex,Rabbit,Perpetual Protocol。
CEX做市
由于在专业知识和掌握的基础设施上的优势,所以专业做市商的做市效率一定优于AMM,这也是Uniswap积极变革的原因。虽然我们上面介绍了很多非常复杂的机制,但对于用户来说,完全可以把它当作一个黑箱去使用,只需要提供资金成为LP就可以。Elixir这套公链模式的路径不一定能成功,但由于巨大的利润空间,去中心化做市协议应该会是未来一个有前景的发展方向。