How to Capture Intrinsic Productivity in an Index Fund
How to generate yield from tokens held in a market cap based pool and the constraints involved in such actions.
A repost from my old blog, first published 10th November 2020
Introduction
There are four three steps in capturing intrinsic productivity from a crypto index fund:
Free the underlying tokens from the constraints of the fund
Manage the yield risks and deploy the underlying tokens to be productive
Manage the liquidity risks
Allocate the income to the different participants.
This blog will cover one method to do the first part. This is based on my understanding of the SetProtocol as implemented for the Defi Pulse index fund $DPI. Please note, I’m not a smartcontract Dev.
How the fund operates
The index fund has a varying number of $PDI tokens. Fund tokens are minted by the issue module in return for the deposition of the underlying tokens. The weights of the tokens being deposited have to match the weights within the pooled fund exactly (Figure 1). So, if the fund contains 200 of Token A and 20 of token B, then you would need to deposit A and B in a 10 to 1 ratio to generate the fund token(s). The redemption contract does the same process in reverse: the fund token is surrendered and burnt, and the underlying tokens released.
Note that this describes the primary market for the fund, many customers will find it more convenient and cheaper to purchase the fund token on the secondary market (e.g. Uniswap).
In order to maintain correct operation of the issue and redemption contracts, the pooled fund must contain all the underlying tokens in the correct weights. Otherwise the issue and redemption would pull the pool off the target weights as set by the methodologist as part of the periodic rebalancing.
Note that the key thing is the weights of tokens, and not the values or market caps, so long as the weights are correct, the market cap fund value will follow the underlying token prices.
Splitting the pool
Removal of any of the underlying tokens to generate yield will upset the weights in the pool and screw the system. So, any token removal must be done as a group inline with the weights. A simplistic way of presenting this is presented in figure 2.
In this example, the treasury has been split using the governance contracts so that 50% remains in the treasury and 50% is placed in the farming pool.
The treasury maintains all links to external contracts and allows continual issue and redemption and issuance. To all external observers it is unchanged (apart from total Assets Under Vault AUV).
The farming pool is freed from any constraints on its component weights, so any individual token can be deployed to suitable protocols to generate yield (yearn, AAV , Compound or MakerDAO vaults).
As the issue and redemption of the fund token would continue with the treasury, then the overall number of DPI in existence would vary over time. The key for the fund manager is to ensure that even during times of unstable market conditions there is sufficient liquidity within the treasury to maintain redemption liquidity. This is critical as other protocols are likely to be using DPI on the assumption of 24/7 liquidity.
One way to consider this is as a hot wallet (Treasury) and a cold wallet (Farming pool), such a structure is commonly used by centralised exchanges to control risks around the hot wallets at the cost of facing a liquidity crunch. While centralised exchange can pause withdraws to allow transferred between the hot and cold wallets with minimal impact, DeFi composability relies on uninterrupted liquidity.
Final thoughts
Taking the opportunity to capture some of the intrinsic productivity of the tokens held within a fund requires careful consideration of the fund design and the risks. The design of the SetProtocol contracts allows access to these opportunities in a way not possible with other fund designs (my understanding is that a balancer smart pool requires all the tokens to be in the [pool to allow arbitrage to maintain constant $ weights). Note, the recently announced v2 Balancer pools incorporate something similar to the above.
The INDEXcoop is currently discussing how to split, where to farm and most importantly how to manage the risks of trying to collect some intrinsic productivity from $DPI. You can join the discussions in the forum.
Disclosure and Disclaimer
I’m a long term investor in crypto currencies including DeFi. I am an active member of the INDEXcoop which manages the $DPI fund.
This is not financial advice, all investments are risky, crypto investments are more risky than most. Do your own research. Do not invest more than you can afford to lose.