> ## Documentation Index
> Fetch the complete documentation index at: https://docs.injective.network/llms.txt
> Use this file to discover all available pages before exploring further.

> 评估做市商在单一市场中的周期表现

# 评分公式/方法

为了促进 Injective 链上订单簿的深度、持久流动性，OLP 优先考虑以下指标：

* **双边流动性**（买单和卖单流动性）
* **流动性深度**
* **买卖价差**
* **做市商在线时间**
* **交易量**（做市商和吃单者）
* **参与多个市场**

## 总分

对于任何给定市场，流动性提供者在一个周期内的 $TS$（总分）计算如下：

$$
TS_{Market} = (LS_{Epoch})^a \cdot (Uptime_{Epoch})^b \cdot (Volume_{epoch})^c
$$

其中 $LS_{epoch}$ 是流动性提供者在该周期内该市场的[流动性分数](/cn/defi/open-liquidity-program/scoring#liquidity-score)，$Uptime_{Epoch}$ 是流动性提供者在该周期内该市场的[在线时间分数](/cn/defi/open-liquidity-program/scoring#uptime-score)，$Volume_{epoch}$ 是流动性提供者在该周期内该市场的总交易量（做市商和吃单者）。

<Info>
  $a$、$b$ 和 $c$ 是加权公式不同组成部分的指数[参数](/cn/defi/open-liquidity-program/formula-parameters)。
</Info>

## 流动性分数

$$
LS_{Epoch} =  \sum \limits_{N=1}^{40,320}  \min(LS_{N_{Bid}}, LS_{N_{Ask}})
$$

流动性提供者在一个周期内某市场的流动性分数 $LS_{Epoch}$ 是该周期内相关市场所有订单簿快照中买单和卖单流动性分数（见下文）最小值的总和，乘以每个市场的定制波动性参数（用 Θ 表示）。这促进了双边流动性，因为在 $\min()$ 函数下，单边流动性将获得 0 的流动性分数。

订单簿快照每 10-100 个区块随机获取一次。这大约平均每分钟一次，意味着一个周期内大约有 40,320 个快照 $(60 \cdot 24 \cdot 28 = 40,320)$。实际上，求和的上限将根据周期内的实际快照数量而变化。为本指南的目的，我们假设周期内恰好有 40,320 个快照。

$$
LS_{N_{Bid}} = \frac{BidDepth_1}{Spread_1} \cdot \Theta_{vol} + \frac{BidDepth_2}{Spread_2} \cdot \Theta_{vol} + \ldots
 \newline  \forall \ BidDepth_i \geq MinDepth \text{ and } Spread_i \leq MaxSpread
$$

$$
LS_{N_{Ask}} = \frac{AskDepth_1}{Spread_1} \cdot \Theta_{vol} + \frac{AskDepth_2}{Spread_2} \cdot \Theta_{vol} + \ldots \newline  \forall \ AskDepth_i \geq MinDepth \text{ and } Spread_i \leq MaxSpread
$$

$LS_{N_{Bid}}$ 是流动性提供者在快照 $N$ 中所有超过 $MinDepth$ 大小且在 $MaxSpread$ 范围内的限价单的买单深度除以订单价差的总和，乘以该快照的波动性参数。

$LS_{N_{Ask}}$ 遵循与 $LS_{N_{Bid}}$ 相同的逻辑，但在订单簿的卖单侧。

波动性参数计算如下：

$$
\Theta_{\text{vol}}(S_b)\;=\;
\min\!\bigl(\,\Theta_{\max},\;
           \max\!\{\,1,\;
                    e^{\alpha\,\sigma_b\,|\frac{S_b-\mu_b}{S_b}|}\}\bigr)
$$

其中 $\mu_b$ 是 $N$ 个区块（1000 个区块，约 10 分钟）内的预言机价格移动平均值，$S_b$ 代表当前区块的预言机价格，$\sigma_b$ 代表 $N$ 个区块内的已实现波动率。如果当前预言机价格偏离移动平均值，或者在过去 $N$ 个区块内波动率飙升，此函数具有限制并能很好地扩展。$\Theta_{\text{vol}} \in [1, \Theta_{\text{max}}]$ 的范围 - 因此我们将其限制在有限域内。我们引入两个新参数 $(\alpha, \Theta_{\text{max}})$ 来监控对波动率的敏感性和限制。因为 $\Theta_{\text{max}}$ 应该在 10 分钟内 3% 的价格变动时趋向于上限 10，$\alpha$ 目前设置为 2,500。较高的 $\alpha$ 值意味着 $\Theta$ 更快地趋向于 $\Theta_{\text{max}}$，但由于 $\Theta_{\text{max}}$ 目前每个市场设置为 10（可以按市场修改），较高的 $\alpha$ 不会超过该最大值。

$Spread$ 从中间价计算（与中间价的距离除以中间价）。

<Info>
  有关 $MinDepth$ 和 $MaxSpread$ 的当前值，请参阅[公式参数页面](/cn/defi/open-liquidity-program/formula-parameters)。
</Info>

## 在线时间分数

$$
Uptime_{Epoch} = \sum \limits_{N=1}^{40,320} \begin{cases}1&\text{if } \min(LS_{N_{Bid}}, LS_{N_{Ask}}) > 0\\ 0&\text{otherwise} \\\end{cases}
$$

$Uptime_{Epoch}$ 是整个周期内流动性提供者在相关市场中具有[***正买单流动性分数和正卖单流动性分数***](/cn/defi/open-liquidity-program/scoring#liquidity-score)的订单簿快照数量。这意味着流动性提供者在快照中在订单簿两侧报价，订单大小大于或等于 $MinDepth$，价差小于或等于 $MaxSpread$。

对于在周期中途（首次）获得 OLP 奖励资格的流动性提供者，$Uptime_{Epoch}$ 根据从资格认证时刻到周期结束的总快照数量进行缩放。

例如，假设一个周期内恰好有 40,320 个快照，流动性提供者首次获得资格时还剩 20,000 个快照。还假设流动性提供者在周期剩余时间内按上述评分公式定义的 $Uptime_{Epoch}$ 为 18,000。在这种情况下，$Uptime_{Epoch}$ 将缩放为 $\frac{18000}{20000}*40320 = 36288$。

<Info>
  对于在周期中途获得资格但过去曾获得资格的地址（该地址在某个时候失去了资格），$Uptime_{Epoch}$ 将不会被缩放。这是为了抑制地址在周期之间失去资格。
</Info>

## 交易量

$Volume$ 是流动性提供者在周期内该市场的累计符合条件的做市商和吃单者交易量。

## 完全展开的公式

完全展开的公式是：

$TS_{Market} =$

$$
\left(\sum \limits_{N=1}^{40,320}  \min(LS_{N_{Bid}}, LS_{N_{Ask}})\right)^a \cdot \left(\sum \limits_{N=1}^{40,320} \begin{cases}1&\text{if } \min(LS_{N_{Bid}}, LS_{N_{Ask}}) > 0\\ 0&\text{otherwise} \\\end{cases} \right)^b \cdot Volume^c
$$

$$
\text {其中}
$$

$$
LS_{N_{Bid}} = \frac{BidDepth_1}{Spread_1} \cdot \Theta_{vol} + \frac{BidDepth_2}{Spread_2} \cdot \Theta_{vol} + \ldots
 \newline  \forall \ BidDepth_i \geq MinDepth \text{ and } Spread_i \leq MaxSpread
$$

$$
LS_{N_{Ask}} = \frac{AskDepth_1}{Spread_1} \cdot \Theta_{vol} + \frac{AskDepth_2}{Spread_2} \cdot \Theta_{vol} + \ldots \newline  \forall \ AskDepth_i \geq MinDepth \text{ and } Spread_i \leq MaxSpread
$$

<Info>
  有关每个周期个人奖励计算的信息，请参阅[奖励分配页面](/cn/defi/open-liquidity-program/reward-allocations)。
</Info>
