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

# CLMM APR の推定

> Raydium が CLMM プールに表示する APR 数値の計算方法、ポジションを開く前に仮想レンジの APR を推定する方法、そして末尾の APR が誤解を招く理由。

<Info>
  **このページは AI による自動翻訳です。すべての内容は英語版を正とします。**

  [英語版を表示 →](/algorithms/clmm-apr)
</Info>

<Info>
  Raydium UI に表示される CLMM プール向けの **APR は、過去 24 時間にわたるレンジ内リクイディティの実現フィー APR を 1 年間に投影したもの**です。あなたのポジションが獲得する APR ではありません。それはあなたのレンジ、レンジ内での時間、およびトレーディング期間中にアクティブだったリクイディティにおけるあなたのシェアに依存します。
</Info>

## 基本的な公式

CLMM プールでは、Raydium に表示される 24 時間フィー APR は以下のように計算されます：

```
apr_24h = (fees_24h / tvl_in_range_24h) · 365
```

ここで：

* `fees_24h` は過去 24 時間にアクルーされた LP 側スワップフィーの合計（USD）。
* `tvl_in_range_24h` は、トレーディング期間中に**レンジ内**にあったリクイディティの時間加重平均 USD 価値。

分母が CLMM APR を CPMM APR から区別する重要なポイントです。CPMM はすべてのドルが常に貢献するため、総プール TVL を使用します。CLMM はレンジ外のドルが何も獲得しないため、レンジ内のサブセットのみを使用します。

## あなたの実際の APR

ヘッドライン APR はプールの統計値であり、あなたのポジションの統計値ではありません。あなたの APR は 4 つの乗数に依存します：

```
your_APR = headline_APR
         · (your_in_range_fraction / pool_in_range_fraction)     # 集中ボーナス
         · time_in_range                                          # レンジ規律
         · (1 − transfer_fee_haircut)                             # Token-2022 税
         · compounding_factor                                     # オート・リステーク時
```

* **集中ボーナス。** あなたのレンジがプール全体の平均より狭い場合、アクティブな各ティックではあなたのリクイディティがドルあたり平均的な LP よりも多くなります。狭い = より大きいボーナス（そして比例して大きい IL 増幅）。
* **レンジ内時間。** レンジ内にいる時間が 40% だけの場合、0.40 を掛けます。
* **トランスファーフィー控除。** Token-2022 ミント（トランスファーフィー付き）の場合、すべてのフィー収集はそれ自体がベーシスポイントを消費するトランスファーを経由します。
* **コンパウンディング。** 毎週 `collectFee` を実行し、同じレンジに再配備する場合、有効 APR は約 `(1 + daily_APR)^365 − 1` です。コンパウンディングがない場合は線形です。

### 実例

SOL/USDC CLMM プールが以下を有するとします：

* 24 時間ボリューム：\$120M
* フィーティア：0.05%（LP がプロトコルカット後のフィーの 88% をシェア）
* 総 TVL：\$40M
* レンジ内 TVL：\$18M（プールの 45% が現在レンジ内）

```
fees_24h = 120M · 0.0005 · 0.88 = $52,800
apr_24h  = (52,800 / 18,000,000) · 365 = 107%
```

Raydium UI はプール向けに **107% APR** を表示します。（この例は数値を具体的に保つために深い高ボリュームプールを使用します。典型的な CLMM プールは 10% から 50% APR のどこかを表示し、低ボリュームプールはそれより大幅に低い値です。）

これで、ポジションを開くことを検討しています：

* あなたのレンジ：平均的な集中度の 2 倍を持つほど狭い。
* 想定レンジ内時間：70%（毎週確認します）。
* Token-2022 フィーなし。オート・コンパウンディングなし。

```
your_APR ≈ 107% · 2 · 0.70 = 150%
```

これは保証ではなく、推定値です。実現ボリュームは 1 週間で 2 倍になったり半減したりしうます。

## 末尾 APR が遅れインディケータである理由

CLMM APR は、レンジ内 TVL 分母が急速に動くため、CPMM APR より**速く**動きます：

* 大きな価格変動により、チャンク単位のポジションがレンジ外に押し出され、分母が縮小します。突然あなたの残りのレンジ内 TVL が「より高い APR」に見える — ただし競合他社が去った場合のみで、典型的にはボリュームも低下します。
* プールが新しい ATH に到達すると、ほとんどのポジションがより低い価格に対して調整され、わずかに積極的な LP だけがレンジ内に残るため、1 時間で 500～1000% APR を一時的に表示できます。
* 市場が落ち着くと、LP は再バランスし、APR は平均値に回帰します。

経験則：

* **24 時間未満の APR は無視してください。** ノイズが多すぎます。
* **7 日および 30 日ウィンドウを優先します。** Raydium は [`GET /pools/info/ids`](/ja/sdk-api/rest-api) 経由で両方を公開します — `week.apr` および `month.apr` フィールド。
* **有意な資本を配備する前に、履歴ボリュームと価格データで特定のレンジをバックテストしてください。**

## 数学がどのように機能するか（単一ティック段階）

単一ティック内では、CLMM はそのティックでアクティブなリクイディティ量 `L` に対して CPMM のように動作します。フィーは `fee_growth_global_X` および `fee_growth_global_Y` でリクイディティ単位ごとにアクルーされます。ティック範囲 `[i_lo, i_hi]` にまたがるリクイディティ `Lₚ` を持つポジションについて：

```
fees_earned_X = Lₚ · (fee_growth_inside_X(i_lo, i_hi, now) − fee_growth_inside_X(i_lo, i_hi, t_open))
fees_earned_Y = Lₚ · (fee_growth_inside_Y(i_lo, i_hi, now) − fee_growth_inside_Y(i_lo, i_hi, t_open))
```

`fee_growth_inside` は `i_lo` 以下および `i_hi` 以上のフィー成長をグローバル累積から差し引きます。詳細については、[`algorithms/clmm-math`](/ja/algorithms/clmm-math) を参照してください。

見込みレンジに対する将来の期間における**予想**フィーを計算するには、以下を推定します：

```
expected_fees_per_day = Σ_ticks_in_range (volume_at_tick · fee_rate · your_share_at_tick)
```

Raydium SDK は、最近のボリューム/ティック当たりヒストグラムを使用してこの推定を行う `getEstimateAprFromPositionAndPool` を公開しています。

## SDK ヘルパー

```ts theme={null}
import { Raydium, TxVersion } from "@raydium-io/raydium-sdk-v2";

const raydium = await Raydium.load({ owner, connection });
const pool = await raydium.clmm.getPoolInfoFromRpc({ poolId });

const apr = await raydium.clmm.estimatedApr({
  poolInfo: pool.poolInfo,
  poolKeys: pool.poolKeys,
  tickLower: -100,   // あなたの意図したレンジ
  tickUpper:  100,
  volumeUsd24h: pool.poolInfo.day.volume, // またはカスタム推定
});

console.log(`Expected APR: ${apr.feeApr * 100}% (fee-only, excludes farm incentives)`);
```

メソッドはまた、プールが関連するファームを持つ場合、任意のファーム APR を別途返します。あなたの完全な「LP APR」は `feeApr + farmApr` です。

## ファーム APR がどこに適合するか

Raydium CLMM プールには、Farm v6 エミッションをレイヤーすることができます。ファーム報酬は、スワップフィーとは独立した**報酬ミント**（しばしば RAY またはパートナー トークン）で支払われます。Raydium UI は通常以下を表示します：

```
Total APR = Fee APR + Farm APR [in $X, Y, Z reward mints]
```

ファーム APR は同様に計算されますが、報酬エミッション スケジュールと報酬ミントの現在の USD 価格を使用します。フィー APR とは異なり、ボラティリティに依存しません — 固定スケジュールです。

ファーム エミッション数学については、[`products/farm-staking/overview`](/ja/products/farm-staking/overview) を参照してください。

## よくある間違い

* **「APR は自動的にコンパウンドされます。」** いいえ。フィーは `collectFee` で請求され、手動で再配備する必要があります。Raydium は CLMM フィーを自動コンパウンドしません。
* **「私の APR = ヘッドライン APR。」** あなたの集中度が平均的で、レンジ内時間が 100%、そしてあなたがコンパウンディングと同じペースで再配備する場合のみ。通常、3 つすべてが当てはまりません。
* **「より高いフィーティア = より高い APR。」** ボリュームが高いフィーで継続する場合のみ。1% では、ペアは 50% APR を引用するかもしれませんが、ボリュームは 1/10; 120% × 0.1 = 12% で 0.25% 未満の実質結果です。
* **「レンジ外のポジションはゼロリスクです。」** ゼロのフィー収入を持ちますが、既存のトークン構成に対する完全な IL — ポジションは現在「どちらかの側の 100%」です。

## ポインタ

* [`algorithms/clmm-math`](/ja/algorithms/clmm-math) — フィー成長累積の完全な導出。
* [`algorithms/impermanent-loss`](/ja/algorithms/impermanent-loss) — LP 方程式の損失側。
* [`user-flows/choosing-a-pool-type`](/ja/user-flows/choosing-a-pool-type) — この APR 推定を使用する決定フレームワーク。
* [`sdk-api/rest-api`](/ja/sdk-api/rest-api) — ライブボリューム/APR エンドポイント。

ソース：

* Raydium SDK v2 `estimatedApr` 実装。
* Raydium UI プールページ（ライブ APR フィールド）。
* Uniswap V3 フィー成長導出。
