Hedging Impermanent Loss with Power Perpetuals (2)

In the first article of this series, we explained how to hedge the impermanent loss of CFMM (of Uniswap V2 style) by power perpetuals. The idea is to hedge the Delta and Gamma to zero at the entry point (the price at which an LP deposits liquidity) so that the LP portfolio value stays flat in a reasonably wide range around the entry point. The algorithm was based on calculating the Delta and Gamma of an LP position of Uniswap-V2-style CFMM. Since the function in the CFMM of Uniswap V3 is different from that of V2, the hedging would be a bit different too. This article explains how to hedge the impermanent loss of LP position in Uniswap V3 by power perpetuals. We will skip the basic concepts (for which you can the details in the previous article) and directly start with Uniswap’s different Greek letters.

Greek Letters of Uniswap V3

Let’s still take the ETH-USDC pair as an example: provide x0x_0ETH and y0y_0 SDC to Uniswap V3 when ETHUSDC= p0p_0 with the range specified as (pa,pb)(p_a,p_b)When the price of ETH PP changes within the range, you would have xx ETH and yy USDC following the formula:

(x+Lpb)(y+Lpa)=L2\left(x+\frac{L}{\sqrt{p_b}}\right)\left(y+L\sqrt{p_a}\right)=L^2

Just like in Uniswap V2, xx and yy are functions of the ETH price pp (in this article we follow the denotation of Uniswap V3 whitepaper to use pp in place of SS and L2=KL^2=K:

x=L(1p1pb)y=L(ppa)x=L\left(\frac{1}{\sqrt p}-\frac{1}{\sqrt p_b}\right)\\ y=L\left(\sqrt p-\sqrt p_a\right)

The value of your LP position is as follows, for p(a,b)p\in(a,b):

V=xp+y=L(2pppbpa)V=xp+y=L\left(2\sqrt p-\frac{p}{\sqrt p_b}-\sqrt p_a\right)

Therefore, we have Delta and the Gamma of your LP tokens as follows:

Δ=Vp=L(1p1pb)Γ=Δp=L2p32\Delta = \frac{\partial V}{\partial p}=L\left(\frac{1}{\sqrt p}-\frac{1}{\sqrt p_b}\right)\\ \Gamma = \frac{\partial \Delta}{\partial p}=-\frac{L}{2p^{\frac{3}{2}}}

Noticing L2L^2 is corresponding to KK, we can see that LP position in Uniswap V3 has a smaller Delta than V2 (with an extra Lpb\frac{L}{\sqrt p_b}term), but exactly the same Gamma. Therefore, only some small changes are needed to make the LP position Delta-neutral and Gamma-neutral.

Hedging IL with Powers and Futures

Assume you need ww units of ETH^2 to make the portfolio Gamma-neutral:

w21hTL2p32=0w\cdot\frac{2}{1-hT}-\frac{L}{2p^\frac{3}{2}}=0\\
w=(1hT)L4p32w = \frac{(1-hT)L}{4p^\frac{3}{2}}

And then you would need to take zz units of ETHUSD futures to make the portfolio Delta-neutral:

z+L(1p1pb)+w2S1hT=0z+L\left(\frac{1}{\sqrt p}-\frac{1}{\sqrt p_b}\right)+w\cdot\frac{2S}{1-hT}=0\\
z=32Lp+Lpb z=-\frac{3}{2}\frac{L}{\sqrt p}+\frac{L}{\sqrt p_b}

​In other words, you need to short L(32p1pb)L\left(\frac{3}{2\sqrt p}-\frac{1}{\sqrt p_b}\right) units of ETHUSD futures.

In practice, as a static hedge entered at p=p0p=p_0, we just need to fix ww and zz with the value at this point.

To summarize, the following portfolio has 0 Delta and 0 Gamma at the entry point (x0,y0)(x_0, y_0) of the range order:

  • Providing x0x_0 ETH+y0y_0 USDC to the ETH-USDT pair

  • Long (1hT)4p032L\frac{(1-hT)}{4p_0^\frac{3}{2}}L units of ETH^2 power perps

  • Short (32p01pb)L\left(\frac{3}{2\sqrt p_0}-\frac{1}{\sqrt p_b}\right)L units of ETHUSD futures

Please note that the LL is the measure of the liquidity density provided by this range order and is determined by (p0,pa,pb)(p_0, p_a, p_b). Given the amount of provided liquidity (given x0x_0 and y0y_0), the narrower the range is (the smaller (pbpa)(p_b-p_a) is), the bigger LL would be (meaning the liquidity is more concentrated). LL can be calculated by solving the pricing formula, which leads to:

L=(ypb+xpa)+(ypb+xpa)2+4(1papb)xy2(1papb)L=\frac{\left(\frac{y}{\sqrt p_b}+x\sqrt p_a\right)+\sqrt{\left(\frac{y}{\sqrt p_b}+x\sqrt p_a\right)^2+4\left(1-\sqrt\frac{p_a}{p_b}\right)xy}}{2\left(1-\sqrt\frac{p_a}{p_b}\right)}

For Uniswap V3, LP does not have to provide liquidity symmetrically (i.e., x0p0=y0x_0p_0=y_0). However, if we do follow this V2-tradition, then for 1 unit of ETH-USDC pair (i.e., 1ETH + p0p_0USDC), we have

Lp0R=(pap0+p0pb)+(pap0+p0pb)2+4(1papb)2(1papb)\frac{L}{\sqrt p_0}\triangleq R=\frac{\left(\sqrt \frac{p_a}{p_0}+\sqrt \frac{p_0}{p_b}\right)+\sqrt{\left(\sqrt \frac{p_a}{p_0}+\sqrt \frac{p_0}{p_b}\right)^2+4\left(1-\sqrt\frac{p_a}{p_b}\right)}}{2\left(1-\sqrt\frac{p_a}{p_b}\right)}

Then we can rewrite the hedged portfolio as:

  • Providing 1 unit (i.e., 1ETH+p0p_0USDC) to the ETH-USDT pair

  • Long (1hT)R4p0\frac{(1-hT)R}{4p_0} units of ETH^2 power perps

  • Short (32p0pb)R\left(\frac{3}{2}-\sqrt\frac{p_0}{p_b}\right)R units of ETHUSD futures

Numerical Analysis

Assume you provide one unit of ETH-USDC pair to Uniswap V3 when ETHUSDC=2000, i.e., x0=1,y0=2000x_0=1, y_0=2000, with the range specified as pa=1800,pb=2200p_a=1800, p_b=2200. With the formula above we have R=20.4374R=20.4374. Assuming volatility σ=100%\sigma=100\% , we can calculate the values of the portfolio:

  • Providing 1ETH+2000USDC to the ETH-USDC pair

  • Long 0.00253 units of ETH^2 (equals to 2.53 units of mETH^2 on Deri Protocol)

  • Short (3220002200)20.4374=10.9646\left(\frac{3}{2}-\sqrt\frac{2000}{2200}\right)*20.4374=10.9646 units of ETHUSD futures

Cost vs Income

Constructing the portfolio above comes at a cost. Usually, both the futures and powers positions would incur funding fees. However, the expectation of the futures funding fee is 0. Therefore, we only consider the funding fee of the powers. Per the pricing of powers, the theoretical funding fee of 1 unit of powers for one funding period is:

F=Ppowerp2=p2hT1hTF=P_{power}-p^2 = p^2\frac{hT}{1-hT}

This leads to an annualized cost in terms of a ratio of the LP value:

C=wF2p0T=hp2R8p02=R16σ2(pp0)2C=\frac{w\cdot F}{2p_0T}=\frac{hp^2R}{8p_0^2}=\frac{R}{16}\cdot\sigma^2\cdot\left(\frac{p}{p_0}\right)^2

Let’s put this annualized cost into numerical scenarios:

Every second, the cost CC accumulates at the speed proportional to σ2\sigma^2. To figure out the average cost, we need to estimate the average σ2\sigma^2. Statistics show that, for the last 12 months, σ2ˉ(97%)2\bar{\sigma^2}\approx (97\%)^2 for ETH. In the table above, we also show how the annualized cost varies when σ2ˉ(97%)2\bar{\sigma^2}\approx (97\%)^2.

Please note the table above applies for BTC too. Statistics show that, for the last 12 months, σ2ˉ(82%)2\bar{\sigma^2}\approx (82\%)^2 for BTC. We also list the corresponding cost ratio in the table.

Extra Capital for the Derivative Margin

The futures and powers positions require extra capital to be held as margin.

The power position needs:

Mpower=wPpowerrIM.power=14Rp0rIM.powerM_{power}=wP_{power}r_{IM.power}=\frac{1}{4}Rp_0r_{IM.power}

Currently, Deri required 16% as initial margin for powers on BSC and 8% on Arbitrum, which correspond to 1635U on BSC and 817U on Arbitrum respectively.

Similarly the futures position needs:

Mfutures=(32p0pb)Rp0rIM.futuresM_{futures}=\left(\frac{3}{2}-\sqrt\frac{p_0}{p_b}\right)Rp_0 r_{IM.futures}

Currently, Deri required 8% as initial margin for futures on BSC and 4% on Arbitrum, which correspond to 1754 U on BSC and 877 U on Arbitrum respectively.

Therefore, the total required margin would be 3389 U on BSC and 1678 U on Arbitrum. Please note that this initial margin is sufficient to cover the price change of +/-10%, so you don’t need to worry about liquidation.

Last updated