为了促进 Injective 链上订单簿的深度、持久流动性,OLP 优先考虑以下指标:
- 双边流动性(买单和卖单流动性)
- 流动性深度
- 买卖价差
- 做市商在线时间
- 交易量(做市商和吃单者)
- 参与多个市场
对于任何给定市场,流动性提供者在一个周期内的 TS(总分)计算如下:
TSMarket=(LSEpoch)a⋅(UptimeEpoch)b⋅(Volumeepoch)c
其中 LSepoch 是流动性提供者在该周期内该市场的流动性分数,UptimeEpoch 是流动性提供者在该周期内该市场的在线时间分数,Volumeepoch 是流动性提供者在该周期内该市场的总交易量(做市商和吃单者)。
a、b 和 c 是加权公式不同组成部分的指数参数。
流动性分数
LSEpoch=N=1∑40,320min(LSNBid,LSNAsk)
流动性提供者在一个周期内某市场的流动性分数 LSEpoch 是该周期内相关市场所有订单簿快照中买单和卖单流动性分数(见下文)最小值的总和,乘以每个市场的定制波动性参数(用 Θ 表示)。这促进了双边流动性,因为在 min() 函数下,单边流动性将获得 0 的流动性分数。
订单簿快照每 10-100 个区块随机获取一次。这大约平均每分钟一次,意味着一个周期内大约有 40,320 个快照 (60⋅24⋅28=40,320)。实际上,求和的上限将根据周期内的实际快照数量而变化。为本指南的目的,我们假设周期内恰好有 40,320 个快照。
LSNBid=Spread1BidDepth1⋅Θvol+Spread2BidDepth2⋅Θvol+…∀ BidDepthi≥MinDepth and Spreadi≤MaxSpread
LSNAsk=Spread1AskDepth1⋅Θvol+Spread2AskDepth2⋅Θvol+…∀ AskDepthi≥MinDepth and Spreadi≤MaxSpread
LSNBid 是流动性提供者在快照 N 中所有超过 MinDepth 大小且在 MaxSpread 范围内的限价单的买单深度除以订单价差的总和,乘以该快照的波动性参数。
LSNAsk 遵循与 LSNBid 相同的逻辑,但在订单簿的卖单侧。
波动性参数计算如下:
Θvol(Sb)=min(Θmax,max{1,eασb∣SbSb−μb∣})
其中 μb 是 N 个区块(1000 个区块,约 10 分钟)内的预言机价格移动平均值,Sb 代表当前区块的预言机价格,σb 代表 N 个区块内的已实现波动率。如果当前预言机价格偏离移动平均值,或者在过去 N 个区块内波动率飙升,此函数具有限制并能很好地扩展。Θvol∈[1,Θmax] 的范围 - 因此我们将其限制在有限域内。我们引入两个新参数 (α,Θmax) 来监控对波动率的敏感性和限制。因为 Θmax 应该在 10 分钟内 3% 的价格变动时趋向于上限 10,α 目前设置为 2,500。较高的 α 值意味着 Θ 更快地趋向于 Θmax,但由于 Θmax 目前每个市场设置为 10(可以按市场修改),较高的 α 不会超过该最大值。
Spread 从中间价计算(与中间价的距离除以中间价)。
有关 MinDepth 和 MaxSpread 的当前值,请参阅公式参数页面。
在线时间分数
UptimeEpoch=N=1∑40,320{10if min(LSNBid,LSNAsk)>0otherwise
UptimeEpoch 是整个周期内流动性提供者在相关市场中具有正买单流动性分数和正卖单流动性分数的订单簿快照数量。这意味着流动性提供者在快照中在订单簿两侧报价,订单大小大于或等于 MinDepth,价差小于或等于 MaxSpread。
对于在周期中途(首次)获得 OLP 奖励资格的流动性提供者,UptimeEpoch 根据从资格认证时刻到周期结束的总快照数量进行缩放。
例如,假设一个周期内恰好有 40,320 个快照,流动性提供者首次获得资格时还剩 20,000 个快照。还假设流动性提供者在周期剩余时间内按上述评分公式定义的 UptimeEpoch 为 18,000。在这种情况下,UptimeEpoch 将缩放为 2000018000∗40320=36288。
对于在周期中途获得资格但过去曾获得资格的地址(该地址在某个时候失去了资格),UptimeEpoch 将不会被缩放。这是为了抑制地址在周期之间失去资格。
交易量
Volume 是流动性提供者在周期内该市场的累计符合条件的做市商和吃单者交易量。
完全展开的公式
完全展开的公式是:
TSMarket=
(N=1∑40,320min(LSNBid,LSNAsk))a⋅(N=1∑40,320{10if min(LSNBid,LSNAsk)>0otherwise)b⋅Volumec
其中
LSNBid=Spread1BidDepth1⋅Θvol+Spread2BidDepth2⋅Θvol+…∀ BidDepthi≥MinDepth and Spreadi≤MaxSpread
LSNAsk=Spread1AskDepth1⋅Θvol+Spread2AskDepth2⋅Θvol+…∀ AskDepthi≥MinDepth and Spreadi≤MaxSpread
Last modified on April 3, 2026