Synthetix Debt Pool Mirror Index
Comparison with an on-chain Market Capitalised index fund structure
This is based on a document I prepared while discussing the indexcoop proposal to create a mirror found for the synthetic debt pool. As such it’s probably self-indulgent to share it on my substack, however, I think it could be useful to some people (even if only myself as a future reference).
Apologies if it’s too dense to be understood, this is a complex beast. Feel free to ignore.
Note: This document was written before the proposal to INDEXcoop and so it differs in a number of aspects.
Exec summary
The aim of this document is to capture a review of the Synthetix Debt Pool and compare it to a Market capitalised index fund structure. The aim is to see if there is a practicable implementation of a mirror fund that provides “good enough” matching of the ongoing liabilities for SNX stakers. This is intended to allow stakers to hedge their liabilities with real assets with minimal monitoring or actions.
It is apparent that the debt pool acts as a market capitalised fund that is rebalanced every time there is a swap between synths. Perfect automated replication of these changes is not considered practicable at this time and a periodic (e.g weekly) rebalance with off-chain analysis is proposed.
It is expected that the majority of the swaps are short term and effectively balance out. However, there are numerous significant changes in the overall (token number based) weights that, if combined with market price changes are likely to result in significant tracking errors. Based on the analysis to date, it is unclear how significant these errors may be.
It is recommended that a mirror fund is created using 5 components (USD, ETH, BTC, LINK and DPI) based on the Set protocol with a 7 day rebalance period.
Introduction
Synths are minted by staking SNX tokens. Synths track the price of external assets. Each SNX staker has a liability for a share of the total value of synths (= to the fraction of USD value of the synths they minted to the total value of all synths). As a consequence, there is a risk that the value of their minted synths may not be sufficient to cover the cost of redeeming the liability to unstake the SNX.
For example, if the staker mints and holds sUSD, and the debt pool is 50% sUSD and 50% sBTC, if BTC price doubles, then the sUSD held only covers 66% of the liability. Likewise if the Staker held 100% sBTC, then they would hold 150% of their liabilities and so could redeem their debt and sell the 50% profit.
In order to hedge the risk, so that the staker can claim SNX rewards and trading fees with reduced exposure to market price moves, the SNX staker should use the minted sUSD to purchase tokens in the same ratios as the debt pool. It’s important that the tokens purchased to mirror the ratios of the debt pool exist outside of the Synthetix ecosystem (wBTC for example) because if a staker is holding sBTC as a hedge the same debt problem still exists but the burden is instead on another staker somewhere.
However, as market participants interact with the debt pool to swap synths the token number composition of the pool changes over time. Therefore the hedging position needs to be adjusted on an ongoing basis. In order to reduce the attention and activity to maintain the hedge use of a purpose-built index fund is being considered.
Debt pool as a market capitalization based index fund.
A market capitalisation based fund is based on a structure where every fund unit contains a fixed number of each underlying token. For example, a fund may contain at t= 0, 1 BTC at $60,000, 20 ETH at $2,000 and 100,000 USD in a single unit. If the price of ETH doubles, total value changes, the % composition changes.
If at t= 1, the overall debt pool had a 30:20:50 ratio of BTC, ETH, USD and an SNX holder minted $200,000 USD. Then the staker should purchase 1 BTC and 20 ETH to match the debt pool composition. This means that at T =1, the liability would have grown by 20% and the stakers hedge would also have grown by 20% overall.
This leads to the 1st observation: When hedged, the liability is insensitive to individual component price movements.
Case 2: Effect of synth swaps
Now consider a case where the 40,000 USD is swapped for ETH with minimal price movement.
Here, at T=1, the SNX staker owns tokens with a USD % the same as T=0 (30:20:50), while the debt pool has a 30:40:30 composition. However, as there has been minimal price movement, the asset value equals the liabilities.
This leads to the 2nd observation: Swaps between synths, without price changes, do not destroy the hedge.
Case 3: Effect of synth swaps and price changes and the price of ETH doubles.
Here ,after the swap, the hedge matches the value of the liability. However, after the price change, the hedge is no longer able to cover the liability so the staker has lost money.
This leads to the 3rd observation: Changes in price, combined with changes in the composition of the pool result in the hedge failing.
Note, that the loss is only realised, if the SNX staker exits at T=2. If they stay staked, and the ETH price returns to $2,000, then the situation is returned to T =1 and the liability is covered.
As the market sets the prices, the staker is unable to change them. However, they can trade the tokens within the hedge in order to try and replicate the token number weights of the debt pool. Then they can ride out price movement without losing money compared to the debt pool
i.e. The aim is to actively mimic case 2 (Swaps), so case 1 (price movement) has no impact and case 3 is avoided.
Large stakers can do this activity on-chain with gas being a minor cost. For smaller Stakers, the use of a collective market cap based fund targeting the debt pool composition allows the management and gas costs to be shared.
Set Protocol
The set protocol is an ethereum smart contract that allows multiple tokens to be deposited, in fixed token number weights, to issue the set token. Redemption of the set token allows the underlying tokens to be returned. The governance contracts allow the individual tokens weights to be changed, and for trading so that the composition of the fund matches the target weights. For $DPI, this occurs on a monthly basis following a methodology based on the circulating tokens for each project included in the index.
Each set can contain an unlimited number of tokens, however, each additional token adds to the administrative work, increases the gas costs and requires an additional token to be sourced/sold for issuance or redemption.
All tokens have to be ERC20 on the ethereum network.
Data Used
Data used has been sourced on the 13th March 2021 from:
Where possible synth mcap and price data was used, otherwise price data for the corresponding asset was used.
Data is collated here https://docs.google.com/spreadsheets/d/1ggzXcT2j4PiRo4i-cg-Th8tWAIudulOz74oR-NsC1DM/edit?usp=sharing
Component Selection
Synthetic-monitoring lists 53 different tokens, with 40 of them having non zero market caps. However, the largest 12 tokens comprise 99% of the debt pool. With the remaining 28 being less and 0.25% each.
As a result, the top 12 tokens have been selected for the initial review.
This list can then be rationalised by a number of steps:
The balance of iETH has been subtracted from sETH, in addition any shorts should be considered. Likewise, iBTC and sBTC can been combined.. (note, there rebasing the inverse synths has not been considered in detail as part of this work).
Daily price correlation coefficients have been reviewed for each combination of synths. If two synths are highly correlated, then combination can be considered.
Relative price performance has been calculated for each pair of synths. If synths give similar long term performance, then combination could be considered.
As sDeFi does not have an on chain analogue, $DPI (Defi Pulse index) has been included as a proxy as it shows similar performance over time).
As some synths have different start dates they have compared with a common start date of 01 Aug 2020 or the start date of the shortest lived synth. All comparisons end on the 13th of March 2021.
Daily price correlation coefficients for each pair (over the shorter number of days)
Some initial observations on the correlations:
USD : EUR at 0.74 seems lower than expected
TSLR is uncorrelated with everything else (but very limited data)
All the crypto synths are uncorrelated with USD and EUR.
All the crypto synths appear to be largely correlated with coefficients > 0.85.
Relative price performance for each pair (over the shorter number of days)
Note that the varying time periods can have a significant impact on these comparisons. In crypto terms, EUR is expected to be very close to a perfect match for USD. However, ETH:EUR and ETH:USD show different relative performances, this is purely a factor of the time bias of the available data (Note: This could be fixed by using the forex EUR USD rate for the 1st August 2020 to extend the EUR dataset.).
The impact of time is also apparent in the TSLA data, with it showing reasonable agreement with everything else over the last 14 days.
Stronger observations can be made for the other pairs:
ETH, BTC and DeFi show similar performance over the time period.
DOT has a different performance to the other crypto synths.
Link, UNI and AAVE all appear to give performance that differs from ETH, BTC, DeFi and each other.
When comparing the data for DPI and sDeFI, they show different relative performance to the other tokens. This is surprising given that sDeFi and DPI have similar compositions being the average of blue chip DeFi projects. This appears to be another artifact of looking at different time periods in that same table. When sDeFi and DPI are compared to the others over 180- days they show similar data:
One surprising observation is that both UNI and AAVE show markedly different performance compared to the DeFi indices. This could imply that adding AAVE and UNI to the mirror fund may improve its behaviour (at the cost of more rebalancing and gas costs for issue and redemption).
Recommended composition of the mirror fund
Based on the current market cap of synths, the correlation, and relative performance data the following composition is recommended:
DAI to represent sUSD (and possibly sEUR)
wETH to represent sETH - iETH (and shorts)
wBTC to represent sBTC and iBTC (and shorts)
DPI to represent sDeFi, sAAVE and sUNI
Link to represent sLINK
From the current top 12 synths, this omits TSLA (0.4%) and sDOT (0.82%) due to the lack of ERC20 analogues. Therefore the 5 component fund would capture 97.9% of the current debt pool.
Historical behaviour of the debt pool will follow as a separate post
Conclusion
The available data has been looked at in a number of ways. Even so it is extremely difficult to draw definitive conclusions as to the minimum rebalance frequency needed to provide good enough hedging.
I believe that as a fully automated rebalancing of the fund is beyond the current capabilities of the set protocol, use of an off-chain solution as a trail has merit. The use of a 7 day fixed repeating schedule for rebalances seems to be practicable and is expected to be sufficiently timely to capture major changes in the composition of the debt pool. It is expected that there will be some tracking error between the performance of the mirror fund and the debt pool. Even so, it is expected that the mirror fund would be a better hedge than could be achieved by the majority of SNX stakers working alone.
Given the observation of externally induced changes in the debt pool (e.g.mid February increase in total debt), scheduling system upgrades with an eye on the rebalance schedule would be prudent.