Squart
The square root perpetual
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, represents the lower price of the Uniswap LP position, 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.
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.
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 and . The configuration can be derived from equation (5) as follows:
When the range is set as and , the configuration is as follows.
Equations (6) and (7) must be satisfied within the range.
Additionally, the change from equation (6) to equation (7) can be represented as follows.
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.
Exceptional handling is necessary when it occurs after the LP position has fallen outside the range. We consider each case below.
Switching to a normal state from the upper side of the range
Switching from a State to a range that satisfies the state
From equation (14), we have the following case:
In this case, the amount of Token0 and Token1 obtained when burning the LP position in equation (15) is as follows:
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:
Therefore, by holding a position with the change from equation (16) to equation (17) added, it becomes possible to switch the range.
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.
Switching to a normal state from the lower side of the range
Switching from state to a range that satisfies state
From equation (14), we have the following case:
In this case, the amount of Token0 and Token1 obtained when burning the LP position in equation (20) is as follows:
Therefore, by holding a position with the change from equation (21) to equation (17) added, it becomes possible to switch the range.
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.
Oracle-free Pricing
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 price using Uniswap V3 LP positions. This perpetual contract has convexity, and its theoretical interest rate is expressed as in terms of Token1.
Reference
Adams, H., Zinsmeister, N., & Robinson, D. Uniswap (2020). v2 Core. Available at https://uniswap.org/whitepaper.pdf
Clark, Joseph, The Replicating Portfolio of a Constant Product Market with Bounded Liquidity (August 3, 2021). Available at SSRN: https://ssrn.com/abstract=3898384 orhttp://dx.doi.org/10.2139/ssrn.3898384
Clark, Joseph, Spanning with Power Perpetuals (January 3, 2023). Available at SSRN: https://ssrn.com/abstract=4317072 orhttp://dx.doi.org/10.2139/ssrn.4317072
Last updated