硬核:深入分析 TWAMM 做市商的數學原理
鏈聞 - ChainNews 2021-08-06 00:00
從數學角度論證和解釋 Uniswap 創始人與 Paradigm 研究團隊設計的全新做市模型 TWAMM 的工作原理。
撰文:luffy
最近,Paradigm 研究合夥人 Dave White、Dan Robinson 與 Uniswap 創始人 Hayden Adams 一起合作設計了一個全新的做市模型「時間加權做市商 TWAMM」(The Time-Weighted Average Market Maker)。根據其發表文章介紹,TWAMM 可以在以太坊上有效地交易大額訂單,工作原理是將長期大額訂單分解爲無限多個無限小的虛擬訂單,在一定時間內使用嵌入式 AMM 平滑地執行這些交易。
關於 TWAMM 的虛擬交易所涉及的數學,Dave White 在文中並沒有多費筆墨,只在最後給出了非常簡單的數學結論,這對於理解 TWAMM 的數學原理非常不利。本文將重點對 TWAMM 的數學原理進行嚴格的論證和解釋,至於 TWAMM 模型詳細的設計原理,可以前往 Paradiagm 官網查看,本文不再做詳述。
定義
假設 TWAMM 執行大額虛擬交易需要 N 個區塊,出售 X 的池子以每區塊 xrate 的速率出售,而出售 Y 的池子以每個區塊 yrate 的速率出售。因此,在整個期間售出的 X 總量爲 xin=Nxrate,售出的 Y 總量爲 yin=Nyrate。
同時,我們將此時間段嵌入 AMM 的初始儲備 xreserve 和 yreserve 分別表示爲 x0=xammStart 以及 y0=yammStart。
按照 TWAMM 的設計,大額訂單是隨着區塊進行交易的,每個區塊出售 xrate 得到 yout,或者出售 xrate 得到 yout,同時 AMM 會更新 xreserve 和 yreserve 的值,整個過程總共交易 N 次。
值得注意的是,AMM 的每個區塊交易總是遵循恆定乘積做市。
公式
首先,在執行第 n-1 區塊的交易後,我們假設此時 AMM 的 xreserve 和 yreserve 值分別爲 xn-1 和 yn-1。
接下來執行第 n 區塊的交易,X-Pool 和 Y-Pool 分別向 AMM 輸入 xrate 和 yrate,命:
因爲 xrate 和 yrate 非常微小,且區塊的交易 AMM 遵循恆定乘積做市商,我們可以得到,
化簡,
在得到 xout,n 和 yout,n 的值後,我們進一步可以獲得 n 區塊的交易後 AMM 的 xreserve 和 yreserve 值 xn 和 yn,
通過觀察,我們發現 xn*yn=xn-1*yn-1,這正好符合 AMM 的循恆定乘積做市的前提要求。
令, xn*yn=xn-1*yn-1=...= x1*y1=x0*y0=k,這是一個常數。
分式線性遞歸
先對 xn 求得一般公式,並獲得 xammEnd=xN 的值,yn 同理。
yn 的分式線性遞歸表達式如下:
解
首先,若 yin 等於 0,xin 不等於 0,則
而
計算得到,
而,
xin 等於 0,yin 不等於 0 時,討論同上。
若 xin 和 yin 都不等於 0,對於一般的分式線性遞歸,我們可以採用不動點的方法求解。
進一步計算,
極限
TWAMM 的基本假設是將長期大額訂單分解爲無限多個無限小的虛擬訂單,也即是 N 可以取無窮大,這時候可以獲得 xN 的極限值。
其中,
相似的,
最後,經過簡單的驗證 xammEnd*yammEnd=xammStart*yammStart=k, 依然滿足 AMM 的恆定乘積。
至此,我們完成了 TWAMM 的數學原理嚴格的論證和解釋,並得到了與 「時間加權做市商 TWAMM」 一文完全相同的結論。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零開始學合約系列講座熱烈報名中
- 掌握全球財經資訊點我下載APP
上一篇
下一篇