> ## 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을 연 단위로 투영한 것입니다. 당신의 포지션이 벌었을 APR은 아닙니다. 그것은 범위, 범위 내 체류 시간, 거래 기간 동안 활성화된 유동성의 당신 지분에 따라 달라집니다.
</Info>

## 기본 공식

CLMM 풀의 Raydium 일일 수수료 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은 네 가지 승수에 따라 달라집니다:

```
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을 곱하세요.
* **Transfer-fee 차감.** Transfer-fee가 있는 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 사이를 표시하고, 낮은 거래량 풀은 10% 이하입니다.)

이제 당신이 포지션을 오픈할 것을 고려하고 있습니다:

* 범위: 평균 집중도의 2배를 가질 수 있을 정도로 충분히 좁음.
* 예상 범위 내 시간: 70% (주 1회 확인).
* Token-2022 수수료 없음. 자동 복합 계산 없음.

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

이는 추정치이지 보장이 아닙니다. 실현 거래량은 한 주 만에 절반이 되거나 두 배가 될 수 있습니다.

## 추적 APR이 지연 신호인 이유

CLMM APR은 범위 내 TVL 분모가 빠르게 변하기 때문에 CPMM APR에 비해 **빠르게** 움직입니다:

* 큰 가격 변동은 많은 포지션을 범위 밖으로 밀어내고 분모를 줄입니다. 갑자기 남은 범위 내 TVL이 "더 높은 APR"로 보입니다. 하지만 경쟁자들이 떠났을 뿐이고, 일반적으로 거래량도 함께 떨어집니다.
* 풀이 새로운 ATH에 도달하면, 대부분의 포지션이 더 낮은 가격에 맞춰져 있고 오직 몇몇 공격적인 LP만 범위 내에 남아 있으므로 한 시간 동안 일시적으로 500\~1000% APR을 표시할 수 있습니다.
* 시장이 정착되면, LP는 재균형하고 APR은 평균으로 회귀합니다.

경험 규칙:

* **24시간 이하의 APR은 무시하세요.** 너무 많은 노이즈가 있습니다.
* **7일 및 30일 윈도우를 선호하세요.** Raydium은 [`GET /pools/info/ids`](/ko/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`](/ko/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}% (수수료만, 팜 인센티브 제외)`);
```

이 방법은 또한 풀에 연결된 팜이 있으면 팜 APR을 별도로 반환합니다. 전체 "LP APR"은 `feeApr + farmApr`입니다.

## 팜 APR이 어디에 들어가는지

Raydium CLMM 풀은 최상단에 Farm v6 배출을 계층화할 수 있습니다. 팜 보상은 스왑 수수료와는 독립적인 **보상 민트**(종종 RAY 또는 파트너 토큰)로 지급됩니다. Raydium UI는 일반적으로 다음을 표시합니다:

```
Total APR = Fee APR + Farm APR [$X, Y, Z 보상 민트]
```

팜 APR은 유사하게 계산되지만 보상 배출 일정 및 USD의 보상 민트 현재 가격을 사용합니다. 수수료 APR과 달리 변동성에 의존하지 않습니다. 고정 일정입니다.

팜 배출 수학은 [`products/farm-staking/overview`](/ko/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`](/ko/algorithms/clmm-math) — 수수료-성장 누적기의 완전한 유도.
* [`algorithms/impermanent-loss`](/ko/algorithms/impermanent-loss) — LP 방정식의 손실 측면.
* [`user-flows/choosing-a-pool-type`](/ko/user-flows/choosing-a-pool-type) — 이 APR 추정을 사용하는 의사 결정 프레임워크.
* [`sdk-api/rest-api`](/ko/sdk-api/rest-api) — 실시간 거래량 / APR 끝점.

출처:

* Raydium SDK v2 `estimatedApr` 구현.
* Raydium UI 풀 페이지 (실시간 APR 필드).
* Uniswap V3 수수료-성장 유도.
