> ## 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.

# Оценка APR для CLMM

> Как Raydium рассчитывает APR для CLMM пулов, как оценить свой APR для гипотетического диапазона перед открытием позиции и какие граничные случаи делают отстающий APR ненадёжным.

<Info>
  **Эта страница переведена с помощью ИИ. За эталон принимается английская версия.**

  [Открыть английскую версию →](/algorithms/clmm-apr)
</Info>

<Info>
  **APR, показываемый в интерфейсе Raydium** для CLMM пула — это реализованный комиссионный APR **ликвидности в диапазоне** за последние 24 часа, экстраполированный на год. Это не APR, который заработала бы *ваша позиция* — он зависит от вашего диапазона, времени в диапазоне и вашей доли ликвидности, которая была активна во время торговли.
</Info>

## Основная формула

Для CLMM пула дневной APR комиссий, показываемый на Raydium, рассчитывается так:

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

Где:

* `fees_24h` — сумма комиссий LP за своп, накопленных за последние 24 часа (в USD).
* `tvl_in_range_24h` — усреднённое по времени значение USD ликвидности, которая была **в диапазоне** в течение периода.

Знаменатель — вот что отличает APR CLMM от APR CPMM. CPMM использует общую TVL пула, потому что каждый доллар всегда вносит вклад. CLMM использует только подмножество в диапазоне, потому что доллары вне диапазона не приносят доход.

## Каким будет ваш реальный APR

Основной APR — это статистика пула, а не вашей позиции. Ваш APR зависит от четырёх множителей:

```
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.
* **Налог на трансферы.** Для mints Token-2022 с комиссиями за трансфер каждое получение комиссии проходит через трансфер, который сам кровоточит базисные пункты.
* **Компаундирование.** Если вы вызываете `collectFee` и переразвёртываете в тот же диапазон еженедельно, эффективный APR составляет примерно `(1 + daily_APR)^365 − 1`. Без компаундирования он линейный.

### Развёрнутый пример

Предположим, CLMM пул SOL/USDC имеет:

* 24h объём: \$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 показывает **107% APR** для пула. (Этот пример использует глубокий пул с высоким объёмом, чтобы числа были конкретными; типичные CLMM пулы показывают от 10% до 50% APR, низкообъёмные пулы значительно ниже 10%.)

Теперь вы рассматриваете открытие позиции:

* Ваш диапазон: достаточно узкий, чтобы иметь 2× среднюю концентрацию.
* Ожидаемое время в диапазоне: 70% (вы будете проверять еженедельно).
* Нет комиссий Token-2022. Нет автокомпаундирования.

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

Это оценка, а не гарантия. Реализованный объём может вдвое упасть или вырасти на неделе.

## Почему отстающий APR — это запаздывающий сигнал

CLMM APR движется **быстро** по сравнению с CPMM APR, потому что знаменатель in-range TVL движется быстро:

* Большой ценовой ход выталкивает части позиций из диапазона, сокращая знаменатель. Внезапно ваша оставшаяся TVL в диапазоне выглядит как «более высокий APR» — но только потому, что конкуренты ушли, и обычно объём падает тоже.
* Пул, достигший нового ATH, может временно показать 500–1000% APR в течение часа, потому что большинство позиций калибровались для более низких цен и только несколько агрессивных LP остаются в диапазоне.
* Когда рынок стабилизируется, LP переуравновешивают и APR возвращается к среднему.

Правила по практике:

* **Игнорируйте APR менее чем за 24h.** Слишком много шума.
* **Предпочитайте окна 7d и 30d.** Raydium предоставляет оба через [`GET /pools/info/ids`](/ru/sdk-api/rest-api) — поля `week.apr` и `month.apr`.
* **Протестируйте свой конкретный диапазон** на исторических данных объёма и цены перед вложением значительного капитала.

## Как работает математика (один шаг тика)

Внутри одного тика CLMM ведёт себя как CPMM с количеством ликвидности `L`, активной на этом тике. Комиссии накапливаются в `fee_growth_global_X` и `fee_growth_global_Y` на единицу ликвидности. Для позиции с ликвидностью `Lₚ`, которая охватывает диапазон тиков `[i_lo, i_hi]`:

```
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`](/ru/algorithms/clmm-math).

Чтобы рассчитать *ожидаемые* комиссии за будущий период для перспективного диапазона, оцените:

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

SDK Raydium предоставляет `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)`);
```

Метод также отдельно возвращает любой farm APR, если у пула есть прикреплённая ферма. Ваш полный «LP APR» — это `feeApr + farmApr`.

## Где фитует farm APR

CLMM пулы Raydium могут иметь эмиссии Farm v6, наложенные сверху. Награды за ферму выплачиваются в **reward mint** (часто RAY или токен партнёра), независимо от комиссий за своп. Интерфейс Raydium обычно показывает:

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

Farm APR рассчитывается аналогично, но используя расписание эмиссии вознаграждений и текущую цену reward mint в USD. В отличие от комиссионного APR, это не зависит от волатильности — это фиксированный график.

См. [`products/farm-staking/overview`](/ru/products/farm-staking/overview) для математики эмиссии фермы.

## Распространённые ошибки

* **"APR автоматически компаундируется."** Нет. Комиссии должны быть получены через `collectFee`, затем вручную переразвёрнуты. Raydium не автокомпаундирует комиссии CLMM.
* **"Мой APR = основной APR."** Только если ваша концентрация средняя, время в диапазоне 100%, и вы компаундируете с той же частотой. Все три обычно неверны.
* **"Более высокий уровень комиссии = более высокий APR."** Только если объём выживает при более высокой комиссии. При 1% пара может показать 50% APR, но делать 1/10 объёма; чистая сумма меньше 0,25% при 120% × 0,1 = 12%.
* **"Позиции вне диапазона имеют нулевой риск."** Они имеют нулевой комиссионный доход, но полный IL на существующем составе токена — позиция теперь «100% одной стороны».

## Ссылки

* [`algorithms/clmm-math`](/ru/algorithms/clmm-math) — полный вывод аккумулятора накопления комиссий.
* [`algorithms/impermanent-loss`](/ru/algorithms/impermanent-loss) — сторона убытка в уравнении LP.
* [`user-flows/choosing-a-pool-type`](/ru/user-flows/choosing-a-pool-type) — структура принятия решений, которая использует эту оценку APR.
* [`sdk-api/rest-api`](/ru/sdk-api/rest-api) — живые конечные точки объёма / APR.

Источники:

* Реализация `estimatedApr` в Raydium SDK v2.
* Страница пула в интерфейсе Raydium (живые поля APR).
* Вывод fee-growth Uniswap V3.
