# Liquidity Concentration

DEX 에 예치된 유동성이 어떻게 스왑에 활용되는지를 이해하고, 유동성을 특정 가격 구간에 집중시킨다는 것이 어떤 의미인지를 이해해보겠습니다.

### DEX 유동성의 가격구간별 분포

**가격 P = (Y/X)^0.5** 라고 정의해보겠습니다.

트레이더가 X 토큰을 팔아서 Y 토큰을 구매하게 된다면 풀의 가격이 내려가고, 트레이더가 Y 토큰을 팔아서 X 토큰을 구매하게 된다면 풀의 가격이 올라가게 됩니다.

이를 다르게 표현하자면, 가격이 내려가는 방향의 거래가 발생할 때 풀은 트레이더로부터 X 토큰을 받고 Y 토큰을 줘야 하며, 가격이 올라가는 방향의 거래가 발생할 때 풀은 트레이더로부터 Y 토큰을 받고 X 토큰을 줘야 합니다.

따라서, 풀은 **현재 가격(Pc)으로부터 가격이 내려가는 방향(Pc→Pa)의 거래를 처리하기 위해 Y토큰이 필요**하며, **가격이 올라가는 방향(Pc→Pb)의 거래를 처리하기 위해 X 토큰이 필요**합니다.

![](https://3996449394-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo5oaAPNdOPaztDd5hPuZ%2Fuploads%2F2sFvkeYmikLTLhCevHnA%2Fimage.png?alt=media\&token=3eecb183-de58-4a2a-917e-5db70dbf7ca2)

이는 통상적인 주식 거래에 있어서 “현재 시장가보다 낮은 가격에 매수 주문을 걸기 위해 현금(≈Y 토큰)을 예치" 하고 “현재 시장가보다 높은 가격에 매도 주문을 걸기 위해 주식(≈X 토큰)을 예치" 하는 것과 유사한 방향이라고 이해해도 좋습니다.

### Liquidity Concentration

위의 그래프를 토대로 주어진 가격 범위에 유동성을 공급하기 위해 필요한 X, Y 토큰의 수량은 아래와 같이 도출할 수 있습니다.

$$
amountY = L \cdot (P\_c - P\_a) \ amountX = L \cdot (\frac{1}{P\_c} - \frac{1}{P\_b})
$$

위 식을 토대로 유니스왑 V2 방식으로 전체 가격 구간(0\~∞)에 대해 L 만큼의 유동성을 공급하기 위해 필요한 X, Y 토큰의 수량을 구해보자면 아래와 같습니다.

$$
amountY\_{full range} = L \cdot (P\_c - 0) = L P\_c\ amountX\_{full range} = L \cdot (\frac{1}{P\_c} - \frac{1}{\infty}) = \frac{L}{P\_c}
$$

하지만 앞의 장(Lazy Liquidity)에서도 언급했듯이 실제 두 토큰의 가격이 0에서 무한대까지 변하는 경우는 극히 예외적인 경우를 제외하고는 없습니다. 만일 두 토큰의 가격이 현재 가격을 기준으로 50%\~200%(-50% 또는 +100%) 사이에서 변화한다면, 전체 가격 구간에 공급된 L 크기의 유동성 중 얼만큼의 유동성이 실제 스왑에 사용될까요? 아래의 식을 통해 알아보겠습니다.

$$
amountY\_{50% \sim 100%} = L \cdot (P\_c - \frac{1}{\sqrt 2} P\_c) = \frac{2 -\sqrt2}{2} LP\_c \simeq 0.29 \* amountY\_{fullrange} \ amountX\_{100% \sim 200%} = L \cdot (\frac{1}{P\_c} - \frac{1}{\sqrt 2P\_c} ) = \frac{2 -\sqrt2}{2} \frac{L}{P\_c} \simeq 0.29 \* amountX\_{fullrange}
$$

가격이 현재 가격에서 50%\~200% 사이에서 변화한다면 공급된 유동성 중 약 29%의 유동성만 실제 스왑에 사용되고(Active Liquidity), 나머지 71%의 유동성은 스왑에 사용되지 않는 게으른 유동성(Lazy Liquidity)으로 존재하게 됩니다.

![](https://3996449394-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo5oaAPNdOPaztDd5hPuZ%2Fuploads%2FpDy5xhwzycIfpk70ktta%2Fimage.png?alt=media\&token=1d2e98cd-9b76-461a-951f-8beab294112c)

이를 바꿔서 이야기하자면 아래와 같이 이해해볼 수 있습니다.

* V3 방식으로 50%\~200% 가격 구간에 집중해서 유동성을 공급했더라면, V2 방식 대비 29%의 유동성만 공급해도 똑같은 효과를 기대할 수 있습니다.
* V3 방식으로 50%\~200% 가격 구간에 집중해서 공급된 유동성은 **V2 방식 대비 3.41배(**$$\frac{1}{29%}$$**)의 효과를 발휘합니다.**

### Concentration Ratio

유동성을 특정 가격구간에 집중하는 것을 통해 **V2 방식의 유동성 공급 대비 올라가는 효율성**을 나타내는 숫자를 **Concentration Ratio** 라고 부르도록 하겠습니다(서비스 UI 에서는 유저의 이해를 돕기 위해 수수료 부스트(Fee Boost) 라는 용어를 사용했습니다. Fee Boost = Concentration Ratio). Concentration Ratio 는 **유동성을 공급하는 가격구간이 보다 집중될 수록 올라가며**, 아래와 같은 수식으로 표현할 수 있습니다.

* reference : [uniswapv3#capital-efficiency](https://uniswap.org/blog/uniswap-v3#capital-efficiency)

$$
Concentration Ratio = \frac{1}{1-{\frac{P\_l}{P\_u}^{0.25}}}
$$

가격 범위 별 **Concentration Ratio**는 다음과 같습니다.

<table><thead><tr><th width="209.57142857142856">Price Range</th><th>Concentration Ratio</th></tr></thead><tbody><tr><td>Full Range</td><td>1.00</td></tr><tr><td>10% ~ 1,000%</td><td>1.46</td></tr><tr><td>25% ~ 400%</td><td>2.00</td></tr><tr><td>50% ~ 200%</td><td>3.41</td></tr><tr><td>90% ~ 111%</td><td>21.49</td></tr><tr><td>95% ~ 105%</td><td>41.49</td></tr></tbody></table>
