Uniswap V3 LP’s transaction loss case sharing
In order to improve capital efficiency, V3 LP can set a relatively narrow price range and need to adjust the position according to whether the current price falls within the position price range.
It sounds good, but there are losses hidden in the process. LPs who frequently adjust their positions will suffer severe trading losses, and we have already paid a high price for this!
With each position adjustment, the LP has to bear the transaction loss, so the impermanence loss of V3 will be much greater than that of the V2 version.
Let’s take the USDC / ETH liquidity pool as an example to reproduce how the loss occurred? The policy setting is relatively simple:
1) Price range $200
2) Shift the position in the same price range every time after crossing the boundary.
1–1 Initial state
The position at the time of initial investment is $2,400-$2,600, the current price is $2,500
We simulate the process of a price increase and then return, let the price first rise to $2,600 and then return to $2,500 to see what happened in the process as follows:
2–1 Price increase ($2,600)
We will adjust the position to $2,500-$2,700 after the price rises above the price of the original position last term ($2600).
According to the focused liquidity characteristics of V3, all ETH invested at this time has been sold and the positions are all composed of USDC. The average selling price of ETH is:
In order to invest in a new position, we need to re-buy ETH with about half of USDC and the buying price at this time is: $2,600
Expressed in a table as follows:
In the process of price increase, LP passively sells ETH and the transaction is opposite to the trader. When adjusting the position, it was used as a trader to actively buy ETH at the current price. All in all, in order to complete the position adjustment, the LP proactively confirmed the transaction loss.
2–2 Price return ($2,500)
According to the conventional logic, the total value of the asset after the price rises and returns to the initial state should be consistent with the initial state, and the LP will not have any loss. However, this is not the case. We have confirmed the transaction loss during this process!
Let’s take a look at the process:When the position reverted to $2,400-$2,600, because the price fell from $2,600 to $2,500, all the USDC you invested in the ($2,500-$2,700) price range has been bought into ETH. The position is all composed of ETH.
At this time, the average buying price of ETH is:
In order to invest in a new position, you need to sell about half of the ETH. The selling price at this time is $2,500.
Expressed in a table as follows:
In the process of price decline, LP passively bought ETH and when adjusting the position, it actively sold at the current price, which is equivalent to confirming the transaction loss again.
To sum up, since the two adjustments in the position during the price increase and the return process confirmed the transaction loss, the LP has already incurred a loss of about 2% after the price return.
If the price fluctuates frequently and the LP adjusts the corresponding position every time, its fee income is difficult to make up for the transaction loss. LP will suffer a substantial loss.
The situation is the same when prices fall and then return.