Quote:
Originally Posted by shakedown
A few days in and i've been getting hammered trying to be a defi liquidity provider. It just doesn't seem profitable (to beat impermanent loss), unless the market is trading sideways. Im out.
Alpha leak: In general LPing 2 assets you're [correctly] bullish on is quite good.
https://research.paradigm.xyz/uniswaps-alchemy
The only real assumption here is that you have ~max[log(wealth)] preferences which is true for most people. The main type of IL you should worry about is when you're LPing shitcoins that are very volatile, especially to the downside. Even more true for scam projects that get rugged by the team. In the other case where one asset goes up a lot more than the other, it's just automated profit taking with a fee on each trade -- not the worst result in the world. Especially true if it's a relatively illiquid asset you own a lot of, whereby selling it into the pool = massive slippage.
Of course, you do need to be mindful about how much gas you're spending, including the necessary approval txs, as well as the eventual remove, possible sells on the backend after remove, and slippage from the backend sale.
If you don't know what I mean by that, don't LP, and learn first.
As a rule of thumb (for the sake of these examples you can assume the 2nd asset is stable, or otherwise that the delta is in the crossprice if LPing 2 volatile assets, say, COMP/ETH):
One asset doubles -> 5.7% IL
One asset 5x's -> 25.5% IL
One asset halves -> -5.7% IL
One asset goes to 0 -> 100% loss
Note for IL, it compares LPing vs holding the same basket of assets without LPing. 25% IL (one asset flat, one 5x's) doesn't mean you lost money in an absolute sense -- just that you would have done better if you didn't LP, because you synthetically sold the better performing asset all the way up.
Now, what this *does not* factor in is the 60bp spread Uniswap LPs charge (variable on Balancer). In order for AMM price to change, there has to be trades (this is literally how Uniswap works; the price is deterministic and only changes as a result of interactions with the pool). Trades -> fees to LPs. This is the key. When a price moves (let's say, doubles), it doesn't typically teleport from 1 to 2 in a straight line. Instead it chops there. For simplicity, let's say it goes to 1.10, then 1.05, then 1.15, etc. If you view this on a chart it looks like this:
Now if you look between the red lines there is a trade down (sell) and [fraction of] a trade up (buy). On both of these, the LP charges 30bp fee. So if the trade down was $10,000 and the trade up was $20,000, the LP makes ~.3%*$30,000 = $90. These fees help compensate for IL. This is "volatility harvesting".
If you take the `[24h trade volume]/[pool liquidity]*.3*365` that will give you the annual yield (assuming of course that volume and liquidity stay constant, which they will not). There is a lot of edge in estimating these things properly.
As a rule of thumb, a pool that does:
.5x turnover = 54.75%
1x turnover = 109.5%
... and so on. And any yield you receive from staking on top of that would be added.
Also a beautiful thing about Uniswap v2* LP tokens is
they auto-compound every trade without any intervention needed from the LP. This is not true for the subsidy portion (which is typically yield in a token in exchange for staking your LP tokens -- in order for that to compound, you'd have to periodically claim + add it to the pool, incurring more and more gas fees each time you interact with a smart contract).
*this is different in v3, as LP tokens are non-fungible.
Cliffs: do the math. don't decide if it's profitable or not based on your feelings and a few days of data.
Last edited by Two SHAE; 04-22-2021 at 04:03 PM.