Перейти к основному содержанию

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

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

Для 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 — поля 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. Чтобы рассчитать ожидаемые комиссии за будущий период для перспективного диапазона, оцените:
expected_fees_per_day = Σ_ticks_in_range (volume_at_tick · fee_rate · your_share_at_tick)
SDK Raydium предоставляет getEstimateAprFromPositionAndPool, которая выполняет эту оценку, используя недавнюю гистограмму объёма за тик.

Помощник SDK

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 для математики эмиссии фермы.

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

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

Ссылки

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