Backtesting Our Model
In this section, we will rerun our trading model on historical price data to determine how much return we achieve. Users can also see how our protocol works in real life.
Last updated
In this section, we will rerun our trading model on historical price data to determine how much return we achieve. Users can also see how our protocol works in real life.
Last updated
We rerun our trading model using SOL price, jitoSOL price, and funding rates between November 2022 and May 2024. We chose this period because jitoSOL was launched in November 2022. The period in which we choose to run our model has limited impact on our results because our tokens are immune from directional moves of SOL. Additionally, funding rates and SOL staking yield are relatively stable in the long term.
Result: During this period, USS token achieved 10.67% yield (~7.11%/year) and eUSS achieved 21.39% yield (~14.26%/year). Due to our perfectly hedged position, the standard deviation of USS’ value was 0.2%, while eUSS’ return standard deviation was impressively low at 0.58%. This makes USS and eUSS an especially attractive investment vehicle compared to alternatives throughout the same period:
In this section, we will explain how our trading model is set up. Users can also learn how our protocol works in real life.
Jito charges a 4% fee on our returns. This is approximately equivalent to 0.03% of our portfolio value per year. Every time the protocol minted and redeemed USS/eUSS, the protocol also pays a 0.5% fee to swap USDC to jitoSOL.
First, we obtain daily open/close price of SOL and jitoSOL
Let's assume at the beginning of November 11th, 2022, users minted 100,000 USS tokens worth 100,000 USDC. Because of swapping fees, the protocol only receives $99,500. The protocol would then use this $99,500 to initiate a long position of 2,946.79 jitoSOL (jitoSOL price was $33.77 on that day).
These 2,946.79 jitoSOL flowed into the beginning-of-day (BoD) Long Position (jitoSOL). End-of-day (EoD) Long Position equals BoD jitoSOL minus any jitoSOL that were liquidated during the day to meet margin calls. How many jitoSOL needed to be sold depends on how much the required maintenance is bigger than the short position equity and how much smaller we need the short position to be to meet maintenance margin requirement. Yesterday's end-of-day position size is the today's beginning-of-day position size.
Depending on jitoSOL price move on the day, our long position either made money or lost money in terms of USDC. On 11/05/2022, jitoSOL opened at $33.77 and closed at $36.75, so the long position made $8,798.43 unrealized profit, although the number of jitoSOL did not change during the day. Thus, our end-of-day long position size was $108,298.43.
After the protocol mints 2,946.79 jitoSOL, it uses these jitoSOL as collateral to short the same number of SOL. The size of the short position in terms of SOL was always equal to the number of jitoSOL used as collateral. Therefore, the Short Position Change (SOL) was equal to the number of SOL the protocol reduced the short position size by to meet margin requirement. For example, if the margin requirement is 67% and the required margin is $100 higher than the current equity in short position, we need to make the short position smaller by ~$149 worth of SOL so that the required margin of this new position is $100 smaller than the old position's.
The short position's size in terms of USDC is calculated based using the number of short SOL and SOL prices at the beginning/end of that day. The unrealized PnL of the short position depended on how much SOL price moved during the day. If SOL price went up, the short position incurred a loss and vice versa. The sum of the short position PnL and the long position PnL is close to zero, but not zero because jitoSOL price and SOL price do not necessarily move 1:1, but very close to 1:1. Yesterday's end-of-day position size is today's beginning-of-day position size.
The EoD Equity in Short Position equals the BoD Equity in Short Position plus how much the jitoSOL collateral gain/loss and how much PnL the short position incurred that day.
As explained in the Hedging Mechanism section, we set our internal required maintenance margin to be 67%. The required Maintenance Margin was the size of the short position multiplied by 67%. If the required maintenance margin is larger than the equity in short positions, 'Margin Called' equals the required maintenance margin minus the equity in short positions.
For example, on 11/16/2023, the required maintenance margin is $115,828.98 while the equity in the short position is only $111,531.80. Thus, there was a 'Margin Called' of $2,774.95, which also incorporated fees incurred when the protocol rebalanced position size. This means we have to reduce the short position size by $2,774.75/67% = $4,141.42--equivalent to 42.03 SOL on that day. Thus, at the end of day 11/16/2023, both the long and short position size was 2,904.76 jitoSOL/SOL. During this period, the protocol needed to rebalance long and short positions 27 times.
At the end of the day, the portfolio value was calculated as the equity in the short position (how much money we received selling the collateral and closed down the short position) minus the maintenance fee and added the funding fees earned (eUSS only) during the day. Funding fee was calculated using the actual funding rate and short position size on that day.
We assume Drift Protocol charges us of trading fee (Drift trading fee will decline as the market cap of USS/eUSS increases, we assume the highest trading fee to be conservative). Based on our pilot period, we calculate our average slippage to be 0.10%. Therefore, every time we enter/exit/rebalance the positions, we incur a 0.125% fee.