手把手教學:快速掌握Meteora流動性價格區間的查看方法
作者:子布
Meteora是Solana鏈上的一個DeFi項目,專注於為Solana生態系統打造一個高效、可持續且靈活的流動性層。它的目標是解決Solana上流動性不足的問題,讓交易更順暢、成本更低,同時為提供流動性的用戶帶來更好的收益。
Meteora的池子主要是DLMM池和Dynamic Pools(動態池),在DLMM池中可以加雙邊池和單邊池。其中dev可以利用單邊池進行出貨和吸籌,比如trump/sol交易對,在價格上漲時,dev可以在某個更高的價格區間只加$trump的單邊池,當價格上漲到此價格區間時就會自動將$trump換為$sol用來出貨,同時還能獲得手續費;當價格下跌時,dev可以在某個更低的價格區間只加$sol的單邊池,當價格跌到對應價格區間時就自動的買入$trump,達到吸籌目的。
如果我們想知道dev在什麼價格用單邊池出貨和吸籌,那麼知道其對應的價格區間是很有必要的。
一、基礎概念
網址:https://app.meteora.ag/
1、交易對
任意兩個幣組成一個交易對,比如$trump和$sol組成trump-sol交易對,$trump和$usdc組成trump-usdc交易對。
2、Pool(LP池子)
每個交易對下面可以有多個Pools,每個Pool按Bin Step和Fee(手續費)的不同來區分。比如trump-usdc的交易對下面就有57個Pools,每個Pool都對應一個唯一的地址,如圖
3、bin
DLMM中每個bin代表一個價格,每個 bin 就是掛的某個價格的買單或者賣單。
4、bin step
Bin step是指兩個相鄰bin之間的價格間隔大小,用基點(basis points,1基點=0.01%)來計算。它決定了bin的密度和流動性分布的精細程度,由池子的創建者設置。
舉個例子:
- 假設當前SOL/USDC的價格是20美元,bin step設為25基點(0.25%)。
- 下一個bin的價格就是20 × 1.0025 = 20.05美元,再下一個是20.05 × 1.0025 ≈ 20.10美元,以此類推。
5、Position(倉位)
position是用於描述流動性提供者如何將資金分配到特定的價格區間,每個position對應一個唯一的地址。position是創建於某一個池子裡面,一個池子可以創建多個不同的position。
一個position通常包含以下關鍵元素:
(1)價格區間
每個position都有一個明確的價格區間,表示流動性提供者希望支持的價格範圍,這個價格區間由一組連續的bin組成。
(2)資金量
投入兩種代幣(比如SOL和USDC)的數量。Meteora會根據當前價格和區間範圍,計算每種代幣的具體比例,確保滿足池子的需求。
(3)分布策略 Meteora提供幾種流動性分布方式,讓用戶決定資金如何分配到各個bin:
- Spot(均勻分布):資金平均分配到每個bin,適合預期價格波動小的場景。
- Curve(鐘形分布):資金集中在當前價格附近,越遠離當前價格越少,像個鐘形曲線,適合希望聚焦當前價格的LP。
- Bid-Ask(雙向分布):資金集中在當前價格的兩側,形成兩個高峰,適合高波動市場。
(4) Bin Step 用戶在創建position時無法更改bin step,這是在創建pool時設置。
二、連接錢包查看
Meteora支持連接錢包地址後查看持有的倉位,而且支持以觀察錢包的方式查看,我們可以根據此特性查看池子的價格區間。
以$trump(6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN)為例。
首先,我們打開debot(https://debot.ai?inviteCode=175623)輸入$trump的CA後,找出dev的地址5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7,如圖
然後,打開Phantom錢包,【添加/連接錢包】--【監視地址】,輸入"名稱"和"地址",此處填dev的地址5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7
最後,打開Meteora連接Phantom錢包,點擊頂部的【Portfolio】就能看到所有添加的池子,點擊DLMM的任意一個池子,會顯示池子的詳情和所有的倉位,如圖
圖中左邊的Bin Step和Base Fee就是當前池子的資訊,中間部分就是不同價格區間的倉位。任意點開一個倉位能看到當前餘額、未領的手續費、分布策略等資訊。
用這種方式查看價格區間的好處是方便直觀,可以列出當前存在的所有倉位數據;缺點是當流動性被撤掉後無法查看。
三、鏈上數據計算
我們可以用鏈上的數據計算每個倉位的價格區間,不管倉位是否還存在。
Meteora的文檔中給出了計算公式
價格區間的最小值:minprice = (1 + binstep/10000) \^ lowerbinid
價格區間的最大值:maxprice = (1 + binstep/10000) \^ upperbinid
如果交易對以A/B表示,其中代幣A的精度為decimalsA,代幣B的精度為decimalsB,那麼最終的計算公式為
價格區間的最小值:minprice = (1 + binstep/10000) \^ lowerbinid/10\^(decimalsB-decimalsA)
價格區間的最大值:maxprice = (1 + binstep/10000) \^ upperbinid/10\^(decimalsB-decimalsA)
需要注意的是,這裡計算的價格是代幣A相對於代幣B的價格,如果想查看代幣A相對於usd的價格,那麼還需要查詢代幣B的usd價格,再進行轉換。
由以上公式可知,要計算出數據,我們需要知道一個池子的binstep、倉位的lowerbinid和upperbinid,此外還需要知道交易對中兩個幣的精度。
繼續以$trump(6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN)為例,計算此dev的某一單邊池的價格區間。
我們打開solscan,輸入$trump的dev地址( https://solscan.io/account/5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7?activitytype=ACTIVITYTOKENADDLIQ\&page=5#defiactivities ),打開【Defi Activities】標籤頁,【Action】的過濾選中"ADD LIQUIDITY",在Amount那一列能看到列出的加流動性交易全是單邊池,要麼只添加了$trump,要麼只添加了$usdc。本文以圖中最後一筆交易為例,如圖
打開上圖中的最後一筆交易( https://solscan.io/tx/284UXTrgWNFFXTovbCAQsJA8U5mW4rntwa8KyRvSmhNYf7cus1rtskiVqwNkErdosDMUsJfxXm8KgkCf1DzTPmPr ),查看交易詳情,能看到此筆添加池子只添加了$trump,如圖
我們分別打開$trump和$usdc的連結,可以查到$trump的精度為6,$usdc的精度也為6,如圖
在交易詳情頁面往下查看,在【#4.1 - Meteora DLMM Program: initializePosition】可以知道lowerBinId為1062,bin的寬度即個數為46,池子地址為9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2,如圖。由以上資訊可以計算出upperBinId=lowerBinId + widh - 1 =1062+46-1=1107
在solscan上打開池子地址9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2( https://solscan.io/account/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2 ),點擊【data】標籤頁,在"LbPair"切換成"Table",可以查到binStep的值為50,如圖
由以上資訊可以獲得計算公式中需要的所有數據:
binstep=50
lowerbinid=1062
upperbinid=1107
decimalsA=6
decimalsB=6
則可以計算出
價格區間的最小值:minprice = (1 + binstep/10000) \^ lowerbinid/10\^(decimalsB-decimalsA)=(1+50/10000)\^1062/10\^(6-6)=199.6905832
價格區間的最大值:maxprice = (1 + binstep/10000) \^ upperbinid/10\^(decimalsB-decimalsA)=(1+50/10000)\^1107/10\^(6-6)=249.9368917
計算出的價格區間和第二部分圖片中的價格區間完全一致。
四、總結
結合著監控工具,當發現dev或者其他大戶在添加單邊池子的時候,我們就可以用上面的方法計算出他準備出貨或者吸籌的價格範圍,然後再配合K線和其他數據做決策。阿根廷總統米萊發的$libra也是用的單邊加池子出貨,可以用上面介紹的方法復盤他當時加池子的價格範圍。
我常用的工具是debot、gmgn和okx,不過這三個工具在查看流動性時還不是很方便,理想中的一些好用的功能:
1、列出dev的所有操作,包括轉入、轉出、加池子、撤池子,並且對轉入、轉出中涉及到鎖倉和加撤池子的交易能識別並標明。
debot能識別所有的轉入和轉出,但是沒有加池子和撤池子;
gmgn能識別出加池子和撤池子,但是識別不到dev的轉入和轉出,在trump這個幣中也沒有識別dev的加池子和撤池子交易;
okx有資金池變化功能,即將加池子和撤池子單獨列出來,但是在trump這個幣中也沒有識別dev的加池子和撤池子交易。
2、針對每筆加池子和撤池子,能給出具體的價格區間,這樣就不用手動計算。
3、在計算dev的盈利數據時,把領取的手續費以及撤池子時資金的變化包含在內,這樣就不用手動去統計盈利情況。
這個功能主要是debot和gmgn有可能實現,畢竟他們做了每個地址的盈利數據。
期待這些工具能做的越來越好用!