Uniswap V3 形式上是用极坐标代替直角坐标,用一系列不连续的反比例函数曲线段代替了原来暂时固定的单条曲线,用众多做市商在各自做市区间累积的流动性分布代替了恒定乘积隐含强制的流动性分布。所谓的range order和tick机制,很大程度上是在向传统订单簿学习,当然局部机制有些差异——最根本的差异是range order并不是传统的订单,而是用户定制的做市策略。由于是策略,所以只要策略不变化,做市商就不需要如订单簿模式那样反复撤单挂单,手续费比较省。但如果这个策略本身要进行修正,包括价格区间和流动性的变化,这些就都需要如同传统订单簿下的做市商一样,提交指令进行变更。如果市场变化出乎意料,很可能这种操作也会比较频繁。
为什么说是极坐标?因为恒定乘积做市商中,每一点的价格是Y/X,恰好是从原点引出射线的斜率,可以看作倾斜角的另一个形式。L是乘积k的包装,k越大,曲线距离原点越远,因此是距离的变体。
Uniswap V3白皮书总体写得不错,但里面的前后不一致。这个变量的增量是实实在在的token数(以fee的形式缴纳),但后面又说是单位流动性上的均值。那么要问的就是分母到底是什么?这个变量只是当前价格射线对应的流动性水平,虽然是全局的,但不是全部流动性的累加值,似乎不适合作为分母——那么白皮书中漏掉了一个重要变量?
还有一个没填的坑:所谓的in和out如何确定?经过分析后面的计算公式,我认为应该这样认定:参考价格有其两侧;两侧中,当前价格所在的一侧称为in,另外一侧被称为out。理解这个定义是看明白fee计算公式的关键。
最后一句话:是不是系统和人最终都会活成自己讨厌的样子? 我个人点赞团队这种创新本身,但对创新的内容表示并不欣赏。