撰文:雷达熊,DODO创始人
一个有效的市场包含巨量信息,这些信息承载了市场对价格的判断。但是链上计算资源有限,要在链上实现一个高度灵活的市场,就好像要把大象塞进冰箱。
把大象塞冰箱这种事情并不罕见,互联网历史上已经有过几次壮举。例如图像压缩,音频压缩。
压缩的本质是提取最重要的特征,抛弃不重要的细节信息。
那么,一个市场最重要的特征是什么,是流动性。流动性可以表示为一张深度图。
从下图我们看到,深度图可以抽象为两个三角形,而描述这两个三角形,只需要中间价和斜率即可。
我们盯住右边的卖盘梯形深度,它的最大特点是,被买走的BaseToken越多,价格越高。因此,这种线性深度可以表示为
行情 | XLM过去五分钟涨超10%:据火币数据显示,XLM过去五分钟涨超10%,现报0.089307USDT,行情波动较大,请注意风险控制。[2019/7/18]
其中i是第一个参数「midprice」,k是第二个参数「slope」。
B表示当前的BaseToken库存,B0表示初始BaseToken库存,(B0-B)/B0用来表示有百分之多少的BaseToken被消耗掉了。
这一公式可以使得价格随着BaseToken被卖出的数量线性增长。
但是,线性真的是描述流动性最好的方法吗?并不是,线性描述有两个局限:
真正的市场,大部分流动性集中市场中间价附近,而线性描述并没有反应这种不平衡的分布。
即使价格远远偏离市场中间价,也应该有流动性,而线性描述下的价格是有上下限的。
我们为价格曲线引入了非线性。在不扩充参数的前提下,使深度分布更符合市场规律,灵活度更高。
行情 | ABC币安交易对上线 五分钟振幅超70美元:11月16日消息,今日下午16:00,币安正式上线BCH分叉币BCHABC及BCHSV交易对,上线五分钟内振幅超70美元,目前BCHABC于300美元附近震荡,BCHSV于90美元附近震荡,行情波动较大,请做好风险控制。[2018/11/16]
最简单的非线性解决方案,就是使用乘法而非加法。
这个公式可以满足随着B的减小,P不断增大,直至无穷大。但是要怎么把斜率的影响加进去呢?
这就需要对B0/B这一项做改造了。B0/B≥1,我们用一个参数对其进行缩放,在保持此数值大于等于1的同时,可以控制它「大于1的程度」。
上式中,k的取值范围是,决定了价格的斜率。
当k=0时,价格完全不变
行情 | BTC五分钟内反弹1.48%:据Huobi数据显示,BTC五分钟内由7440美元快速反弹至7550美元,反弹110美元,反弹幅度约为1.48%,现报价为7530美元。[2018/8/2]
当k=1时,价格斜率退化到上一个版本的公式
k越大,价格变化越敏感。k越小,价格变化越不敏感。
但是还有一个小问题,这里的P是边际价格,对边际价格的积分才是用户需要支付的资产数量。上式中,B0/B这项积分后出现了对数函数,这会使后续计算变得很复杂。为了避免这一麻烦,我们再进一步:
在B0/B外面加一个平方项,这样积分后就变成了一个简单的除法。
令人惊叹的是,当k=1时,这条曲线正是AMM所定义的bondingcurve。这种巧合使我们相信,这是一套更加触及市场本质的算法。
同理,对于左半边的深度图,我们用对称的做法,将basetoken替换为quotetoken,将乘法替换为除法:
BTC涨破6200美元 五分钟内上涨79美元:BTC五分钟内上涨1.28%,上涨金额为79美元,其中火币PRO上现价为$6223.03。[2018/6/24]
我们将左右两边的深度图结合起来,就得到了PMM算法的完全版本,整理一下:
PMM算法是对Orderbook市场的高度压缩,参数简单,却极度灵活。
这使得我们在冰箱如此狭小的空间内,拥有了堪比大象的能力。
下面我来列举,通过调整参数和充提规则,这套算法可以实现哪些usecase。
UseCase1跟随外部市场价格的主动做市
这一usecase的应用场景是拥有巨大外部市场的主流币,例如ETHBTC等
PMM可以实现主动调整盘口价格,减少IL。获得比AMM更高的资金利用率,并且持有单币种就能提供流动性
设置如下:
将价格i设置为外部市场价格
将k设置为小于1的数字
允许任何人单边充提
这一UseCase我们称之为DODOClassicPool。
华为云区块链服务正对外放,可五分钟快速上“链”华为云区块链服务:BCS(Blockchain Service)于3月30日正式对外开放,使用 BCS服务可以帮助企业快速搭建基于自身业务场景的区块链应用。
华为云区块链服务面向企业及开发者提供高性能、高可用、高安全的公有云区块链服务,帮助企业及开发者在华为云上快速、低成本的创建、部署和管理区块链应用,将企业从繁琐耗时的区块链基础开发和部署中解放出来,使其聚焦有价值的上层应用,快速开发自身业务场景,不再让技术限制自身业务的想象力和发展。
在产品定向邀测期间,BCS已成功助力多家企业完成现有应用的区块链改造,开放公测后,官网不再限制申请,开发者可以在华为云官网自行选择试用。[2018/4/3]
UseCase2轻资本需求的自动做市算法
这一usecase应用于没有主观定价能力的长尾币市场,将定价权完全交给taker
通常来讲,长尾币都是新资产,在AMM框架下没有足够的卖盘流动性,因而导致其流动性长期匮乏
设置如下:
将价格i设置成起始发行价
任意设置k
第一笔充值可以以任意资产比例,且不改变市场价
后续充值必须按照当前资产比例同时操作两种资产
这一UseCase我们称之为DODOVendingMachine。
UseCase3完全自由的做市算法
这一usecase为那些雄心勃勃,想要大展拳脚的做市商准备。
在此usecase下,资金池的全部资金都归做市商所有。所有参数都可以调整,做市商可以根据他的判断为资产灵活定价。同时做市商可以任意充提单一币种,而不影响市场价格。
例如:
在ETH=700USDT附近做市,使用很小的k获得非常有竞争力的流动性,并赚取大量手续费。当察觉到ETH有上涨预期时,撤出ETH库存以减少单边风险。但这一操作并不削弱买盘流动性。
新资产发行项目方只提供代币而不提供资金。在1$开始销售代币。为了让更多人以合理价格买到代币,设置了较小的k,使得代币上涨温和。随后项目方发现需要使用资金,则可以直接提出资金池中的资产,而不损害卖盘流动性,即用户仍然可以买到大量廉价代币。
设置如下:
只有做市商能充提,允许单币种操作
这一UseCase我们称之为DODOPrivatePool。
UseCase4流动性众筹
我们可以将新资产发行分为两阶段:
不开启现货交易,所有参与发售的人都以相同的价格获得代币
以上一阶段的结束价格开启现货交易,使用上一阶段剩余的代币和资产建立DODOVendingMachine
这一UseCase我们称之为CrowdPooling。
UseCase5退化为AMM
当满足以下条件时,PPM算法表现和AMM相同。
设置k=1
必须按照当前价格比例同时充提两种资产
这也意味着,AMM是PMM的一种特殊情况。推导过程如下:
AMM的价格公式是xy=k,其中k是常数,x、y则分别代表两种代币的数量。为了避免字母上的歧义,我们把AMM公式中的恒定乘积定义为Const,并将其改写为y=Const/x。
其中y代表quotetoken库存,x代表basetoken库存,价格可以写为对y求导。
接下来回到k=1的PMM公式,我们可以将其写成:
我们发现,PMM价格公式的分子上为常数,分母为basetoken的库存。只要令
AMM的定价公式,与PMM的定价公式就一致了!
UseCase6稳定币交易
设置如下:
i=1
k=0.001
算法表现可以与curve相同,并且更灵活,可以比curve更接近刚性兑换,或更接近AMM。
从创历史新高到迅速暴跌,比特币价格玩起了“过山车”。自1月9日凌晨跌破4万美元后,1月11日凌晨,比特币价格再度大跌逾12%,最低至33447美元,相当于一天之内狂跌了近6000美元.
1900/1/1 0:00:00从ETH2.0观察PoS机制下的四大问题Odaily星球日报刚刚15原文标题:从ETH2.0观察PoS机制下的多重问题ETH2.0的最新数据显示,质押数量已经接近230万枚.
1900/1/1 0:00:00日前,CasperLabsCTO?和联合创始人MedhaParlikar?加入Metis团队成为首席顾问,双方也会在近期宣布深入的技术合作.
1900/1/1 0:00:002021年刚刚开年没过几天,比特币势如破竹,一举冲上4.2万美元,创下历史新高。但这势头来得快去得也快,其价格又很快跌至3万美元左右。一时间,比特币“泡沫”说再一次甚嚣尘上.
1900/1/1 0:00:00本文来源:火星财经,编译,Bite比特币经历了腥风血雨的一天一夜,价格从4.1万美金最低跌倒了3万美金关口,历史上第一次经历万刀暴跌,而且昨日降幅是2020年3月黑色星期四降幅以来的第二大跌幅.
1900/1/1 0:00:00就在比特币以惊人涨势重新点亮加密货币希望之光时,1月11日,比特币遭遇“暴力洗盘”,整个加密货币市场哀嚎一片.
1900/1/1 0:00:00