手把手教学:快速掌握Meteora流动性性价格区间的查看方法

avatar
子布说
4小时前
本文约2452字,阅读全文需要约4分钟
如果我们想知道dev在什么价格用单边池出货和吸筹,那么知道其对应的价格区间是很有必要的。

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 都对应一个唯一的地址,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

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输入$trump 的 CA 后,找出 dev 的地址 5 e 2 qRc 1 DNEXmyxP 8 qwPwJhRWjef 7 usLyi 7 v 5 xjqLr 5 G 7 ,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

然后,打开 Phantom 钱包,【添加/连接钱包】--【监视地址】,输入“名称”和“地址”,此处填 dev 的地址5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

最后,打开 Meteora 连接 Phantom 钱包,点击顶部的【Portfolio】就能看到所有添加的池子,点击 DLMM 的任意一个池子,会显示池子的详情和所有的仓位,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

图中左边的 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 的 dev 地址( https://solscan.io/account/ 5 e 2 qRc 1 DNEXmyxP 8 qwPwJhRWjef 7 usLyi 7 v 5 xjqLr 5 G 7 ?activity_type=ACTIVITY_TOKEN_ADD_LIQpage=5#defiactivities ),打开【Defi Activities】标签页,【Action】的过滤选中“ADD LIQUIDITY”,在 Amount 那一列能看到列出的加流动性交易全是单边池,要么只添加了$trump,要么只添加了$usdc。本文以图中最后一笔交易为例,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

打开上图中的最后一笔交易( https://solscan.io/tx/ 284 UXTrgWNFFXTovbCAQsJA 8 U 5 mW 4 rntwa 8 KyRvSmhNYf 7 cus 1 rtskiVqwNkErdosDMUsJfxXm 8 KgkC f1DzTPmPr ),查看交易详情,能看到此笔添加池子只添加了$trump,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

我们分别打开$trump和$usdc的链接,可以查到$trump的精度为6,$usdc的精度也为6,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

在交易详情页面往下查看,在【#4.1 - Meteora DLMM Program: initializePosition】 可以知道lowerBinId为1062,bin的宽度即个数为46,池子地址为9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2,如图。由以上信息可以计算出upperBinId=lowerBinId + widh - 1 =1062+46-1=1107

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

在solscan上打开池子地址9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2(  https://solscan.io/account/9 d 9 mb 8 kooFfa D3SctgZtkxQypkshx6ezhbKio89ixyy2 ),点击【data】标签页,在“LbPair”切换成“Table”,可以查到 binStep 的值为 50 ,如图

手把手教学:快速掌握Meteora流动性性价格区间的查看方法

由以上信息可以获得计算公式中需要的所有数据:

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 也是用的单边加池子出货,可以用上面介绍的方法复盘他当时加池子的价格范围。

我常用的工具是debotgmgn和 okx,不过这三个工具在查看流动性时还不是很方便,理想中的一些好用的功能:

1、列出 dev 的所有操作,包括转入、转出、加池子、撤池子,并且对转入、转出中涉及到锁仓和加撤池子的交易能识别并标明。

debot能识别所有的转入和转出,但是没有加池子和撤池子;

gmgn能识别出加池子和撤池子,但是识别不到 dev 的转入和转出,在 trump 这个币中也没有识别 dev 的加池子和撤池子交易;

okx 有资金池变化功能,即将加池子和撤池子单独列出来,但是在 trump 这个币中也没有识别 dev 的加池子和撤池子交易。

2、针对每笔加池子和撤池子,能给出具体的价格区间,这样就不用手动计算。

3、在计算 dev 的盈利数据时,把领取的手续费以及撤池子时资金的变化包含在内,这样就不用手动去统计盈利情况。

这个功能主要是debotgmgn有可能实现,毕竟他们做了每个地址的盈利数据。

期待这些工具能做的越来越好用!

原创文章,作者:子布说。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选