Teahouse’s Approach to A Stablecoin Strategy Design
Various organizations issue their proprietary stablecoins that are pegged to another asset in real-life or to other cryptocurrencies to benefit their own ecosystems through:
Creating additional liquidity for trading and hedging
Providing alternatives for investment profit settling, such as interest payments or liquidity rewards
Teahouse looked into managing and providing stablecoin LP about a year ago. However, at the time, other major pools such as WETH/USDC and WBTC/WETH pairs provided greater returns on investments. It was not until recently that the market conditions have turned. Following the TerraUSD failure, the crypto community began questioning the transparency of stablecoin mechanisms and/or reserves. This created a higher volatility which translated into opportunities for arbitrageurs.
As a liquidity provider, we welcome arbitrage activities as they generate swap fees. Meanwhile, we generally expect the stablecoins’ issuers to have effective ways to stabilize the token prices and keep them pegged. In addition, we are expecting even more parties to launch innovative and secure stablecoins.
Selecting stablecoin pairs for liquidity provision & yield farming
Under conditions mentioned above, Teahouse’s stablecoin portfolio strategy performs a combination of (mostly) stablecoin LPing on Uniswap V3, with (some) yield farming on other AMM protocols. Here are the key criteria we use to select the best stable pools:
1. Liquidity depth — the TVL and trading volume for the stablecoin pairs must be high enough relative to Teahouse’s TVL in order to make high yields.
2. Reserve level & type — we look for a sufficiently high collateral ratio when using cryptocurrencies to back the stablecoins, or, using fiat assets (cash, cash equivalents, money market funds, etc.) as collaterals.
3. Stability mechanism — we grade the issuer on how they control the supply and pegging of the stablecoins, such as setting aside an active stability pool or giving incentives to stability providers.
4. Yield benchmarking — Teahouse periodically backtests different stablecoin pairs to compare potential ROI and select the top ones.
Providing single-sided stablecoin LP on Layer 2’s Uniswap V3
The Teahouse stablecoin strategy provides single-sided liquidity for stablecoin pairs on Layer 2’s Uniswap V3. Instead of the traditional LP price ranges that are set to contain the current spot price, the single-sided LP sets the price range above and below the current spot price so that only one token asset needs to be deposited as liquidity. It may seem counterintuitive, as initially it would not be earning any fees. However, as long as there are swaps happening, the spot price will not stay constant under the AMM model. If our prediction is correct, soon the spot price will move into our range and generate fee earnings for us.
The main benefit of positioning our liquidity as two single-sided LP ranges to sandwich the spot price of the stablecoin pair is that it lowers the frequency of rebalancing, which in turn reduces the divergence loss (when impermanent loss becomes realized). Double-sided LP (covering the whole price range) incurs frequent transaction costs from rebalancing, and requires swap fees to reinvest the fee earnings back into the LP pool (because a double-sided LP requires the liquidity pair to be provided in a fixed ratio). Providing single-sided LP helps mitigate these fees (because in an A-B pool, one side of the LP would be solely in token A, the other in token B).
The expected LP range for stablecoin pairs is already quite narrow (just a few ticks), and it needs to be set even narrower in order to earn higher, more concentrated fees. Therefore, finding an efficient way to manage our single-sided ranges is even more critical for making a profit on the stablecoin pairs.
Live testing data
Let’s visualize our live testing data in a graph. Below are our test results for the previous month (2022/10/29 ~ 2022/11/29).
Blue trendline is the spot price of the USDC/sUSD pair on Uniswap V3 on Optimism.
Red and green-shaded boxes represent the two single-sided LP positions.
Red trendline is the accumulated PnL % for this period, ending at 0.87% (APR 10.44%).
The purple boxed area highlights the extreme volatility during the time FTX collapsed.
Some key insights for future improvements:
To reduce the rebalance frequency and LP range, adjustments can be made to the data being fed into our price movement prediction model.
As shown in the graph above, the extreme price volatility wiped out previous gains. If we had just removed the LP and waited it out, the accumulated PnL% would increase to 1.03% (APR 12.36%).
If Uniswap V3 on Layer 2 is experiencing downtime or low trading volume, Teahouse can flexibly move funds to other types of AMMs (e.g. Curve/other StableSwaps) as an alternative.
Delving Into Employing Uniswap v3
What makes Uniswap v3 different than other automated market makers (AMM) is that one can provide concentrated liquidity. The liquidity provider can make the highest profit if they provide the liquidity in the exact and tightest range of the pool price on Uniswap v3 compared to other AMMs. Hence Uniswap v3 is the best protocol for active liquidity providers, and we decided to develop a strategy on it.
Each pool on Uniswap v3 has a minimum tick spacing, representing the minimum price range to put in liquidity. We provide liquidity in the minimum tick spacing range to best use the concentrated liquidity feature. Therefore, capital efficiency is guaranteed. The cost of being a liquidity provider is the divergent loss and rebalance fee when changing the liquidity range. Therefore, we divide our liquidity position into two parts to reduce the cost.
Liquidity Strategy
Add liquidity in two ticks: one is the tick just below to the current tick, the other is the tick just above the current tick.
When the price moves into one of the liquidity positions after the rebalance time, we remove the other liquidity positions, and add liquidity to the tick just below or above the current tick. Whether is it placed below or above is determined by historical data to predict the price trend.
When the price moves outside the current tick after the rebalance time, if the prediction is true, then we redo step 2.
Otherwise, we redo step 1.
Price Trend Prediction
As active liquidity providers, it's crucial to anticipate price movements to adjust our liquidity effectively.
Dividing the tick range by the minimum tick spacing, we get tick intervals [i0, i1, . . . , in] for the pool. To model the price in the pool with time T , we separate the period T into [t1, t2, . . . , tN ], where tk denotes the time when the price move outside its current tick interval i. We estimate the price movement by the following conditional probability.
Thus, the expected return of providing liquidity has the following two relations.
Thus, if the current price is in is, we can determine to put our liquidity in is+1 or is−1 by the estimated return.
Using the Stablecoin Portfolio Strategy for Analysis
We need to choose the rebalance time t and the training period T to collect historical data. We use the sUSD/USDC 0.05% pool to conduct backtesting. Figure 1. is the backtesting result of the profit with respect to the rebalance time and training period. We can see that the strategy makes a profit in most cases. Figure 2. is the strategy performance with a rebalance time of 0.45 days and a training period of 27 days. Figure 3. is the performance of providing constant liquidity between the first and third quantiles of the price as a benchmark to compare.
Looking at Figure 1, the y-axis is the profit and loss. The x-axis is the rebalance time. The color of the dots represents the training period.
In Figure 2, the y-axis is the profit, the loss is the red line, and the pool price is the blue line. The x-axis is the time. The green and red intervals indicate the liquidity provided.
The y-axis is the profit, loss is the red line, and the pool price is the blue line. The x-axis indicates the time. The brown intervals reflect the constant liquidity between the first and third quantiles of the price.