We introduce square root perpetual (Squart), a financial product that enhances trading strategies and risk management. Squart redefines perpetual futures by not having a strike price, yet it carries gamma exposure like options, addressing liquidity fragmentation in gamma trading. Squart is fully covered by Uniswap V3 LP positions. This section explains how Squart is covered by Uniswap V3 LP positions.
Prerequisite: We assume that you own the Uniswap V3 LP position as an asset and can borrow it.
The Relationship between the Value of Uniswap V3 LP Position and the square root of the price
First, let's confirm that the value of a Uniswap V3 liquidity provider (LP) position can be represented by the following formula [2]:
Here, pa represents the lower price of the Uniswap LP position, pb represents the upper price, and x is expressed as the current price of Token0 in terms of Token1.
To make it easier to understand, let's assume Token0 is ETH and Token1 is USDC.
Here, we define the quantities of Token 0 and Token 1 as equation (4) as follows.
(Amounttoken0,Amounttoken1)=(Lpb1,Lpa)
By adding equation (4) to equation (1), which represents the value of the Uniswap LP position, we create a position with a value of 2√x. In Squart, by combining asset borrowing/lending with the Uniswap LP position, the value of 2√x is maintained even when the range shifts.
(1)+(4)=L(2x−pa−pbx)+(Lpbx+Lpa)=2Lx
However, these equations are valid only when the price x is within the LP range. We will explain range switching in the next chapter.
Switching Price Ranges in Uniswap V3 Liquidity Provider Positions
Let the initial LP Price range be denoted as pa1and pb1. The 2x configuration can be derived from equation (5) as follows:
L(2x−pa1−pb1x)+(Lpb1x+Lpa1)=2Lx
When the range is set as pa2and pb2, the configuration is as follows.
L(2x−pa2−pb2x)+(Lpb1x+Lpa1)=2Lx
Equations (6) and (7) must be satisfied within the range.
V(x)={2Lx−Lpa−xpbLfor pa<x<pb,
Additionally, the change from equation (6) to equation (7) can be represented as follows.
(6)−(7)=L(pb1x−pb2x)+L(pa1−pa2)
Equation (9) holds for any arbitrary n and n-1 states. Therefore, we should adjust by borrowing or lending the token amount in equation (10) during each rebalance.
What we aim to do is to maintain Squart at 2√x by adjusting the offset during rebalances. Equation (11) represents the LP position after the n th rebalance. Equation (12) represents the position created through borrowing and lending from the lending pool. When combined, they amount to 2√x.
However, these processes are only valid when the price x is within the LP range. The following explains how to handle situations when the price is outside the range.
Handling Cases When Falling Outside the Range
This section explains the process when the timing to switch ranges has already reached the following state due to price changes.
Also, the amount of Token0 and Token1 that make up the LP position satisfying State $p_{a_{n}}<x< p_{b_{n}}$, according to equation (4), is as follows:
As a generalization, adding the difference between equation (10) and equation (18) allows the range to be switched. By adjusting the token amount in equation (19) through the lending pool, we can maintain the value of Squart.
As a generalization, adding the difference between equation (10) and equation (22) allows the range to be switched. By adjusting the token amount in equation (23) through the lending pool, we can maintain the value of Squart.
The key difference between the pricing of regular options in TradFi (Traditional Finance) and in Predy is the way the premium is calculated. Instead of requiring users to pay for their options upfront, the pricing of Predy's Squart depends on the trading fee income from the UniswapPool and increases with each block. While this may add a level of uncertainty for traders, it is a unique feature of Predy's pricing model.
Conclusion
Using the method described above, it is possible to create a perpetual contract with a constant 2x price using Uniswap V3 LP positions. This perpetual contract has convexity, and its theoretical interest rate is expressed as x4σ2 in terms of Token1.