[Proposal] Creating a leverage ETH product for YFI

Summary:

Create a 1.25x leveraged ETH product

Abstract:

Should this proposal be implemented, a 1.25x leveraged ETH product will be created. The redemption fees generated will be used to reward YFI staked in governance.

Motivation:

YFI needs more products to generate fees as yields for vaults are low in the current environment. This is a family of new products that will make YFI great again.

Specification:

Checkout the following link for a visualization of the model described below.
Model w/ Chart visualization

Here is a high level of how this would work. (Detailed example below)

  1. User deposits ETH into a yearn smart contract (ySC)

  2. ySC mints yETHLeverage tokens (yEL) and gives it to user. (the amount minted is {[price of ETH * quantity of deposited ETH] / total amount of value in the pool} * number of yEL in circulation )

  3. ySC takes half of the deposited ETH and borrows DAI from MakerDAO’s SC creating a CDP with 200% collateralization. (every 100 ETH would gets you 50ETH worth of DAI) Also keeping the other half ETH as is for redemptions and to add to collateral when ETH price decreases. This results in a 1.25x leverage ratio. 0.5*1.5 + 0.5 = 0.75 + 0.5 = 1.25

  4. ySC takes the DAI and buys ETH from a marketplace (Uniswap or somewhere else)

  5. When another user deposits, ySC checks the price of ETH and recalculate the internal price of yEL to reflect changes in ETH with a 1.25x multipler. This is done simply by [total amount of value in the pool / number of yEL outstanding].

  6. As price of ETH decreases, ySC will re-collateralize with the free ETH whenever the collateralization ratio drops below 175% until there are no more free ETH. This can be calculated whenever a user deposits. ySC can calculate the price of ETH for the future re-collateralization points until liquidation. (See liquidation example)

  7. User redeems their yEL tokens. They would get back [number of yEL redeemed / total yEL outstanding] * pool NAV in ETH. There should be some ETH available, or else we close our CDP with Maker to get more ETH unlocked.

The general process begins with user depositing ETH into the smart contract. Then the smart contract mints yETHLeverage (yEL) tokens and gives it to the user. The yEL token represent a percentage claim of the total value of the “fund” which we will call pool here. So 1 yEL with 100 yEL outstanding would represent a 1% of the total value (NAV) of the pool. The pool only holds ETH. It uses DAI only to buy ETH or to close CDP and is never held.

Since MakerDAO CDP requires a minimum of 150% collateralization, I decided to create this as a 1.25x leverage product. With less collateralization or cheaper ways of getting leverage, we can make a higher levered product.

The internal price of yEL is only needed to be calculated when users deposit and withdraw ETH from ySC.

When there is only one depositor, yEL would be worth 0 when the price drops 80% and thus closing the CPD and the pool would have 0 value. However, when someone else deposits, a new leveraged position would be opened at another price point. As long as there are a user buying in at a lower price than before, yEL will maintain a positive value.

The investor buying in at a lower price “rescues” the original investor. The original investor can have a negative value position relative to when he bought it, but still maintain equity in the pool. In return, the rescuer gets more leveraged exposure to ETH cheaply. There is a strong incentive to buy in at a low price because of this cheap leverage.

Lastly, as price drops, previous investors shares of the pool are diluted by new investors, thus new investors’ capital gain more leverage. This is another reason why 1.25x leverage is preferred to 1.5x because there is a .25 margin to maintain the leverage in the events of a significant price decline.

Below is an example and some breakdowns.

In the example, Investor 1 invests $1000 worth of ETH at $100 per ETH. The price drops to 15 then recovers. Investor 2 invests $1000 worth of ETH at $34 per ETH. Investor 2 rescues Investor 1 from liquidation when the price hits $20. However, when price goes back to $100 per ETH, Investor 1 only has $659 instead of his original $1000 in investments. The Investor 2’s share is worth $3767. Investor 2 has 36.76ETH of exposure. So he has $3676 of exposure. We then subtract the $250 for the loan, we get $3426. $3767 - $3426 = $340 which is the benefit to Investor 2 for being the rescuer. If we add $340 + $659 which is Investor 1’s share, we would get $1000(1 off due to rounding).

The following is a liquidation scenario.

In the top above scenario, Investor 1 invests $1000 USD worth of ETH at $100/ETH. So his breakdown in the ySC is 7.5 ETH and 5 ETH locked as collateral in the CDP. In this model, I re-collateralized the CDP to 200% whenever price falls 25%. So when ETH is $75, we now have 6.66667 ETH locked as collateral and 5.83333ETH as free ETH.

When price hits $20, we have to liquidate because all of our 12.5ETH are in CDP as collateral and our collateralization ratio is 150%. So we are liquidated.

In our second scenario, Investor 2 comes to the rescue at $25/ETH. He invests $1000 USD worth so that is 40ETH. First thing ySC does is re-collateralizes Investor 1’s CDP to 200%. Then it also takes 20ETH and collateralize it and buy ETH with the DAI proceeds.

The free ETH including the leverage, after the rescue is 22.5ETH and locked is 40ETH for a total of 62.5ETH of exposure. At $8/ETH the 62.5ETH is now worth $500 so that means since all of it is in the CDP, we are at 150% collateralization. (8 * 62.5 = 500. We borrowed $250+$250). At this point investor 1 & 2 needs another rescuer.

If this product is successful, it can spawn a family of leveraged products for different tokens

For: Create a leveraged ETH product with the above strategy.

Against: No change.

Poll:

7 Likes
Add leverage ETH product to Yearn
  • For: Create a leveraged ETH product with the above strategy.
  • Against: No change.

0 voters

3 Likes

Great proposal! A leveraged product with lower liquidation risk is definitely needed in the market.

  • As you called it a “product” (not “vault”), we should consider what it is called. If it is a ‘vault’ it should be in a different sub-category or page on the website with a much more visible disclaimer on higher risks. (Maybe a “yL” prefix designation?)
  • What happens with yEL tokens traded on Uniswap? There will definitely be a secondary market. (I don’t see any major negative risks, but just wanted to explore the topic with other forum members if they can think of anything?)
  • As a new/riskier product, should we have a capped period for testing or phased rollout? (ie. $100k or $1Mk contract cap initially, etc.)

For extra credit homework: It would be interesting to model the numbers compared to say opening a leveraged position on dydx or Binance, during a drawdown period like last March. Or self leverage on Maker/Aave. Fees/interest, outcomes, liquidation, profit. This can help illustrate to users in a practical sense what the difference is. (Would it have been net cheaper vs using an exchange?)

3 Likes

Great points @dripdrop

  • I think calling this a “leverage fund” clearly communicate its a leverage product and its structure is like a fund. yL prefix seems pretty smart eg. yLETH, yLYFI etc.

  • I think a secondary market is great as the token itself is fungible. It just represent a share of the fund’s NAV.

  • We definitely need to roll out a product like this in phases.

For extreme drawdown periods, new investors are only required to rescue the fund when its down close to 80%. I have faith that the market will have prudent investors with cash set aside to rescue the fund in the event of a bubble bursting. When price of ETH declines, I predict people in the leveraged fund would also redeem and thus decrease the total ETH amount that the fund locks up in leverage so it can be rescued with fewer funds.

I do not foresee any scenario where liquidation actually happens because the fund value will approach 0 as price of ETH drops. There would always be a point where even a small investor can rescue the fund as long as people redeem ETH when the price of ETH is decreasing.

One huge advantage of this fund vs self leverage with Aave or Maker is that the investor does not have to monitor the price to avoid liquidation. It basically eliminates user error. Most investors are not techies and need a solution without risking mismanaging their funds by committing a technical error.

3 Likes

I think it’s a great idea and will attract more attention.

If Alpha Finance Labs can do it, yearn should be able to pull it off

2 Likes

This is a great point. Start with ETH and expand to other approved collateral within MakerDAO.

2 Likes

@byolo. First want to say I really like the idea. Just trying to understand the economics here. If someone “rescues” current holders it seems they get a greater than 1.25x return. Do they also have either a greater than 1.25x return to the downside or liquidate sooner than expected? I really like the idea just want to see sure there isn’t some inherent risk we are missing or investors have exposure/risks contrary to their expectations.

Also you prodded me to think about this. I’m thinking through a daily 1.25X or 1.5x eth strategy. This is on daily returns which is a different exposure from what you propose. . Direxion offers these for S&P products and are used quite frequently by retail traders. Could be easy to mimic with a daily rebalance. I’m going to post something on this in the next week.

@YFI-Cent actually this proposal is almost exactly what these leveraged ETFs do. Instead of daily rebalancing this would be rebalancing at every contract interaction. I´m quite excited about that, great idea!

@byolo If you are unfamiliar with the effects of such a strategy, compare the tickers SPY and SPXL in tradingview or any other chart software. SPY is a regular ETF on the S&P500 while SPXL works with 3x leverage and daily rebalancing.

EDIT: This is a passive, directional trading strategy. It´s certainly something different than usual YFI products. EDIT2: I checked if TokenSets have something similar already but they don´t. And they are quite centralized when it comes to adding new strategies from what I see, so they are not a competitor.

@YFI-Cent In my example, when price is $34 per ETH, Investor 1’s original $1000 invested at $100/ETH is now worth $175. Investor 2 has $1000 invested at $34/ETH. Investor 2’s $1000 decreases to $852.94 when ETH goes from $34 to $30. However, Investor 2 has 5714.25 yEL which mean he owns 85.1% of the pool’s value. At $34/ETH the pool is worth $1175. 85.1% of that is $1000. At $30/ETH, pool is worth $977.94. 85.1% of that $832.29. Investor 2 lost more than what he should have if he was Investor 1 (only investor) which means he has more leverage both ways.

Generally speaking, because when you are rescuing, you have more leverage as the previous investor’s lost more money.

@DeFiChad
I do not like rebalancing because it generally kills the NAV. If you take a look at the direxion funds in the stock market, they tend to decrease over time due to this rebalancing. Rebalancing can also be taken advantage of by predator’s.

I am working on a chart along with a basic randomized simulation for this proposal.

@byolo that´s actually not entirely correct.
Yes traditional, leveraged funds with daily rebalancing lose some value due to the so called volatility drag. The higer the volatility and the higher the leverage the more value is lost in rebalancing. While cryptos are quite volatile in general, a leverage of 1.25 is very small compared to traditional products so the volatility drag can´t be that big. Furthermore, if you have a rebalance at every contract interaction, the nominal amount that is reallocated is quite small. In fact the more often you rebalance the lower the volatility drag. Continous rebalancing would completely eliminate losses attributed to volatility. Next thing is the overnight gaps that you have in traditional finance. This adds a lot of friction to the rebalancing and you don´t have that in crypto.

On top of that, in traditional finance these kind of products have relatively high AUM fees, internal trading fees and cost of capital since they are leveraged big time. For example UWT (3x crude oil) suffers strongly from contango in futures, which is a function of storage and financing costs. You don´t have that in crypto. A leveraged crypto fund could be insanely efficient.

I don´t want to get too deep into the details here but the bottom line is the following:

  • The more often the fund gets rebalanced the better -> compounding returns and diminishing losses
  • Low leverage causes low volatility drag and negligible borrowing cost.

Here is a model based on continous rebalancing and 1.25 leverage. The y-axis is the performance of the graphs, x-axis is performance of the underlying. (therefore the slope of the performance of the underlying is linear, m=1.)

1 Like

Sorry guys, I made a mistake in the calculation of the previous graph. Logically you can´t lose less with 1.25 continous leverage than without leverage.
This here is the correct maths. (in this case I deployed leverage of 2 so that it´s easier to see how the curves differ in profit and loss.)

@DeFiChad. Thanks for updaing. Something didn’t make sense where it was always better with leverage I was going to re-create myself (no need now). The issue with continuous rebalance is the friction cost to continuously rebalance (gas fees plus trading fees/slippage). There will need to be some non-zero increment over which you are not rebalancing (10bps/25bps/50bps return something like that). That increment will cause decay if it floats back and forth across those returns. For example +10bps then rebalance, -10bps then rebalance if that went on for infinity your portfolio would eventually decay to 0. You also run gap risk where the price drops instantaneously several percent and there is no liquidity at the proposed rebalance levels.

In general its hard to create a product where people enter an exit and different times but still have the same leverage. That is the benefit of the daily rebalance. Really designed for short term traders with some Beta slippage between rebalance points which is 24 hours max. If someone wants a long term 1.25x leverage product they can create it themselves and just hold it and use defi saver or something to manage it. The daily 1.25x/1.5x/2.0x product would be for smaller(ish) investors who want leverage at a lower expense. They could buy 1 yleth coin vs. a multistep enter and unwind process. Much more cost efficient for YFI to maintain a pooled daily 1.25x/1.5x/2.0x that rebalances at 0:00 UTC every day. It of course would go to 0 over the long run, but this isn’t designed for long term buy/hold investors. Its more of a cheaper trading vehicle for short term traders. Was trying to think of how this could work. The management of the vehicle is easy and the vault could issue and redeem at 0.25% premium / discount to NAV (profit for YFI) so the vault would always create a market if there was no secondary market. Traders in the secondary market could even arb with the vault token fueling liquidity.

You raise valid points for sure. However, our aim cannot be to create the perfect product as the nature of markets is imperfection. I think we agree on that. :slight_smile: However, I have to disagree regarding the decay to 0. If the underlying has a long bias and the product is not crazily leveraged, the compounding effect is greater than the volatility drag. I´ve done extensive simulations on that in the past because it provides relevant insights for riskmanagement as a trader. (Which is what I do for years.)
In any case, it´s a short to medium term trading product, depending on the leverage. I agree that you wouldn´t like to hold it through a bear market though…

Concerning the rebalancing mechanism, traditionally there are two ways: time based balancing or threshold based balancing. Both have their particular problems as you already mentioned. Slippage, trading cost and whipsaw markets are the downsides of threshold rebalancing. Time based rebalancing is even worse though because it can be frontrun by arbitragers. Every year there are billions extracted from SPY and similar ETFs because their rebalancing gets frontrun. Few even know this.

But thanks to how smart contracts work, we have a third rebalancing option: randomness. If we want on average one rebalancing per day, there can be a chance of rebalancing on every smart contract interaction. The probability is dependent on the time since the last rebalance. It increases over time (non-linear) and drops back to very low levels after a successfull rebalance.

Using this third option practically eliminates all the forementioned problems. The only downside I can see is that new investors are not guaranteed to immediately have the leverage they planned for (like with time based rebalancing).

Redemption and fees: Why not just stick with a performance fee like we probably get for every vault anyways?

Performance fees doesn’t make sense as there is no alpha. Pure passive funds charge based on AUM via expense ratio which can be modeled as withdrawal fee (can accrue per block).

1 Like

Agreed, there is no alpha in the classical sense. However, investors may get out more than they invested because of the leverage. On that surplus you could charge a performance fee as this is profit.

I´m ok with either but from a user perspective the performance fee is always more appealing I think.

1 Like

There is some tracking error even in the SPY ETFs dailys unless you rebalance exactly on the close so the random seems like a reasonable balance to maintain nearly constant leverage, minimize friction costs and avoid front running (dark forest excepted!).

On fees I’m fine with whatever anyone think. AUM only may be easier to calculate. How do you calculate performance fees with different investors with different basis?

1 Like

@DeFiChad @YFI-Cent
Good discussion guys. I did some research on leverage decay and I want to avoid rebalancing as much as possible. We want to preserve as much as the NAV as possible or else other traders can basically “shake us out” by creating volatility and front run and suck the value out of the fund.

I worked this model and chart over the weekend. Here is a link to it. LeveragedETH_Visualization. Take a look. It might clarify some scenarios.

@YFI-Cent

How do you calculate performance fees with different investors with different basis?

You can use the same solution like the AMMs and lending protocolls. When an investor enters the vault, give out yLETH vault tokens that are redeemable for your share of the vault. Exactly the same principle works here as well. Since you can record how much ETH has been put into the vault and how much value in ETH is saved in the vault tokens, you can charge a performance fee at withdrawal.

@byolo
I looked into your simulation, looks neat!
So from what I see in the numbers, you assume a fixed leverage of 1.25 on the starting amount of NAV. This would simulate investments with zero rebalancing - like buying and holding a future contract. In this scenario it´s indeed possible that adversaries shake us out by creating a huge drawdown in ETH, causing a “margin call” (liquidation).
That´s why rebalancing is actually useful in the downside scenario. The only way the NAV could be “drained” would be if adversaries create a very volatile range. By going up and down many times, the volatility drag starts to eat into NAV. But honestly, at 1.25 leverage on a heavy weight like ETH that´s only a theoretical risk. Imagine the hundreds of millions that you need to manipulate the market in a way that you get sustained high volatility without building a trend. It´s not worth it.

Quick comparison with numbers:

  • Price: 1000 -> 800 -> 500 -> 200
  • your model: 1000 -> 750 -> 375 -> 0 (total liquidation)
  • with rebalancing at the price points: 1000 -> 750 -> 425 -> 106.25

To summarize, if you want to preserve NAV as much as possible you need to either rebalance often - or don´t use leverage at all. :wink: The optimum way would be to rebalance every second but that doesn´t work because of trading and transaction fees.

@DeFiChad

First, thanks for checking out out the chart. I built it for this but will also re-use it for a few more product ideas I have.

If the fund always have rescuers, (which I think there will be since there will always be people pull money out in the decline towards liquidation), then there is no need to rebalance.

To preserve NAV, rebalancing after a loss results in a smaller loss. Rebalancing during uptrend gets you more gains. So when price goes one way, rebalancing helps. But if price is choppy, it hurts. So rebalancing for ETH (generally choppy but sometimes bull/bear fast trends) can both help and hurt the fund.

We can set up a few rebalancing / liquidation points but I would say that can be two separate products. One with rebalancing and one without.

@byolo I’m not sure I understand. This strategy is purely directional on ETH price and leverages the effect by 1.25. There is no income associated with the ETH deposited. Is that right?

The original yETH vault was using the leverage from Maker (minted DAI) to generate some income (from Curve Pool) and buy additional ETH with that. The main difference is that the DAI generated here goes to buy more ETH. Is this a pure play on leveraged ETH price, amplifying the effect up and down?

If so, it should be in a separate category, as it would be very risky. As long as the appropriate disclosures on risk are stated, I’m OK with it.