手把手教學:快速掌握 Meteora 流動性性價格區間的查看方法

avatar
吳說
03-01
作者:@0x_zibu

Meteora 是 Solana 鏈上的一個 DeFi 項目,專注於為 Solana 生態系統打造一個高效、可持續且靈活的流動性層。它的目標是解決 Solana 上流動性不足的問題,讓交易更順暢、成本更低,同時為提供流動性的用戶帶來更好的收益。

Meteora 的池子主要是 DLMM 池和 Dynamic Pools(動態池),在 DLMM 池中可以加雙邊池和單邊池。其中 dev 可以利用單邊池進行出貨和吸籌,比如 trump / sol 交易對,在價格上漲時,dev 可以在某個更高的價格區間只加 trump 的單邊池,當價格上漲到此價格區間時就會自動將 trump的單邊池,當價格上漲到此價格區間時就會自動將trump 換為 sol 用來出貨,同時還能獲得手續費;當價格下跌時,dev 可以在某個更低的價格區間只加 sol 用來出貨,同時還能獲得手續費;當價格下跌時,dev 可以在某個更低的價格區間只加sol 的單邊池,當價格跌到對應價格區間時就自動的買入 $trump,達到吸籌目的。

如果我們想知道 dev 在什麼價格用單邊池出貨和吸籌,那麼知道其對應的價格區間是很有必要的。

一、基礎概念
網址:https://app.meteora.ag/
1 、交易對
任意兩個幣組成一個交易對,比如 trump 和
trump和sol 組成 trump - sol 交易對,trump 和 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 的文檔中給出了計算公式
價格區間的最小值:min_price = (1 + bin_step / 10000) ^ lower_bin_id
價格區間的最大值:max_price = (1 + bin_step / 10000) ^ upper_bin_id

如果交易對以 A / B 表示,其中代幣 A 的精度為 decimals_A,代幣 B 的精度為 decimals_B,那麼最終的計算公式為
價格區間的最小值:min_price = (1 + bin_step / 10000) ^ lower_bin_id / 10 ^ (decimals_B - decimals_A)
價格區間的最大值:max_price = (1 + bin_step / 10000) ^ upper_bin_id / 10 ^ (decimals_B - decimals_A)
需要注意的是,這裡計算的價格是代幣 A 相對於代幣 B 的價格,如果想查看代幣 A 相對於 usd 的價格,那麼還需要查詢代幣 B 的 usd 價格,再進行轉換。

由以上公式可知,要計算出數據,我們需要知道一個池子的 bin_step、倉位的 lower_bin_id 和 upper_bin_id,此外還需要知道交易對中兩個幣的精度。

繼續以 $trump(6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN)為例,計算此 dev 的某一單邊池的價格區間。

我們打開 solscan,輸入 trump,要麼只添加了 $usdc。本文以圖中最後一筆交易為例,如圖
打開上圖中的最後一筆交易(https://solscan.io/tx/284UXTrgWNFFXTovbCAQsJA8U5mW4rntwa8KyRvSmhNYf7cus1rtskiVqwNkErdosDMUsJfxXm8KgkCf1DzTPmPr),查看交易詳情,能看到此筆添加池子只添加了 $trump,如圖
我們分別打開 trump 和 trump和usdc 的鏈接,可以查到 trump 的精度為 6,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,如圖

由以上信息可以獲得計算公式中需要的所有數據:
bin_step = 50
lower_bin_id = 1062
upper_bin_id = 1107
decimals_A = 6
decimals_B = 6

則可以計算出
價格區間的最小值:min_price = (1 + bin_step / 10000) ^ lower_bin_id / 10 ^ (decimals_B - decimals_A) = (1 + 50 / 10000) ^ 1062 / 10 ^ (6 - 6) = 199.6905832
價格區間的最大值:max_price = (1 + bin_step / 10000) ^ upper_bin_id / 10 ^ (decimals_B - decimals_A) = (1 + 50 / 10000) ^ 1107 / 10 ^ (6 - 6) = 249.9368917

計算出的價格區間和第二部分圖片中的價格區間完全一致。

四、總結
結合著監控工具,當發現 dev 或者其他大戶在添加單邊池子的時候,我們就可以用上面的方法計算出他準備出貨或者吸籌的價格範圍,然後再配合 K 線和其他數據做決策。阿根廷總統米萊發的 $libra 也是用的單邊加池子出貨,可以用上面介紹的方法覆盤他當時加池子的價格範圍。

我常用的工具是 debot(@taokamao、@Diting188)、gmgn(@gmgnai、@haze0x)和 okx(@DegenYin、@0x_KevinZ、@mia_okx),不過這三個工具在查看流動性時還不是很方便,理想中的一些好用的功能:
1 、列出 dev 的所有操作,包括轉入、轉出、加池子、撤池子,並且對轉入、轉出中涉及到鎖倉和加撤池子的交易能識別並標明。
debot 能識別所有的轉入和轉出,但是沒有加池子和撤池子;
gmgn 能識別出加池子和撤池子,但是識別不到 dev 的轉入和轉出,在 trump 這個幣中也沒有識別 dev 的加池子和撤池子交易;
okx 有資金池變化功能,即將加池子和撤池子單獨列出來,但是在 trump 這個幣中也沒有識別 dev 的加池子和撤池子交易。

2 、針對每筆加池子和撤池子,能給出具體的價格區間,這樣就不用手動計算。

3 、在計算 dev 的盈利數據時,把領取的手續費以及撤池子時資金的變化包含在內,這樣就不用手動去統計盈利情況。
這個功能主要是 debot 和 gmgn 有可能實現,畢竟他們做了每個地址的盈利數據。

期待這些工具能做的越來越好用!

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論