Ahzam Email
← Research

Liquidity range width in concentrated AMMs

How range width changes capital efficiency, inventory exposure, and divergence from holding

Concentrated AMMs let LPs choose where their liquidity sits. Range width changes capital efficiency, inventory exposure, and how quickly a position diverges from holding.

The setup

Consider a Uniswap v3 position over the price range [Pa,Pb]. Token 0 is the base asset, token 1 is the quote asset, and P is the quote price of one unit of token 0.

While the price is inside the range, the position holds:

x(P)=L(1P1Pb)
y(P)=L(PPa)

Below the range it holds only token 0. Above the range it holds only token 1. Its value in token 1 is:

V(P)=y(P)+Px(P)
V(P)=L(2PPaPPb)

A fair comparison

Setting L=1 for every range does not produce equal positions. A narrow range needs less capital for the same liquidity. Comparing those positions directly mixes up range width with position size.

I compare four ranges at a common starting price of P0=1500. Each begins with value 1. Liquidity is scaled separately:

Li=CVi(P0;L=1)
RangeRelative liquidityToken 0 share at start
900–21001.00×40.7%
1000–20001.20×42.2%
1300–17002.93×46.8%
1400–16005.79×48.4%

The tightest range supplies almost 5.8 times as much liquidity near the starting price for the same capital as the widest range.

Position value

The chart below marks every position to the same quote asset over a common price axis. Every line starts at 1 when the price is 1500.

LP position valuePosition value for four equal capital liquidity ranges over a common price axis900–21001000–20001300–17001400–16000.60.81.01.18001000120014001600180020002200startPrice
Position value relative to initial capital. Fees are excluded.

The narrow ranges flatten sooner because they reach a boundary sooner. Above the upper bound the position is entirely token 1, so its quote value no longer rises. Below the lower bound it is entirely token 0, so its quote value continues to fall with price.

Inventory exposure

The position's sensitivity to price is its token 0 balance:

dVdP=x(P)

A tighter range moves through its inventory over a shorter price interval. This makes it more capital efficient around the current price, but its exposure also changes more quickly when price moves.

Compared with holding

For each range, the benchmark holds the exact token quantities the LP owned at the starting price. Its value is:

Vhold(P)=y(P0)+Px(P0)

I measure divergence from that basket as:

D(P)=VLPVhold1
LP performance against holdingPercentage difference between each equal capital LP position and holding its starting inventory900–21001000–20001300–17001400–1600-30%-25%-20%-15%-10%-5%0%8001000120014001600180020002200startPrice
LP performance relative to holding the starting inventory.
RangeAt P = 1200At P = 1800
900–2100−3.19%−2.22%
1000–2000−3.83%−2.65%
1300–1700−8.26%−5.79%
1400–1600−9.83%−7.37%

With equal starting capital, the narrower positions diverge more quickly as price moves away from 1500. That is the cost of concentrating more liquidity into a smaller interval.

So, is wider safer?

For this static comparison, a wider range remains active over more prices and loses less relative to its starting token basket after a given price move. A narrower range provides more liquidity near the starting price and can earn a larger share of fees per unit of capital while it remains active.

Neither result makes one range universally safer. The useful choice depends on expected price movement, fee volume, adverse selection, rebalancing costs, and what risk the LP is trying to control.

What this leaves out

This is a mark to market comparison of static positions. It does not model fees, a stochastic price path, rebalancing, gas costs, or adverse selection. Those can matter more than the inventory curve in a live strategy.