There is no such thing as impermanent loss in DeFi

in #defilast year (edited)

Impermanent Loss Cover 2.jpg

I know, the title may sound weird after everybody discussing what "impermanent loss" and how you can avoid or reduce it, but we need to make a few things very clear, which I'll explain in more detail below:

  1. The effect of "impermanent loss" is inherent to providing liquidity
  2. "Impermanent loss" is not "impermanent"
  3. What's being called "impermanent loss" is entirely irrelevant in most cases

If you're still not sure what DeFi is and how it works, you can read up on it and the liquidity pools on EOS in this piece.

Before we get into the weeds, let's first have a look at what "impermanent loss" is supposed to describe. I’ll simplify a few things to not make it too technical.

What is "impermanent loss"?

When providing liquidity for a liquidity pool (LP) like the ones on Uniswap or Defibox, you may face "impermanent loss". Essentially, what it means is you might have accrued more value in tokens if you had just kept them out of the pool, despite the fact that you've received an arbitrary amount of swap fee rewards.

Let's take a look at this example:

You've been holding 20 EOS and 50 USDT and you've put them all into a liquidity pool. For simplicity, let's assume that there's an arbitrary amount of liquidity in that pool (so there's no slippage), and the initial ratio between EOS and USDT is exactly 1:2.5, making your tokens worth 100 USD(T). So you hold your position and wait for a few weeks to collect your fees, let's assume that's 1 EOS and 2.5 USDT in fees, which is a lot (a 5% gain on both sides). We can distinguish 2 scenarios:

a. The pool ratio is still 1:2.5. In this case, you can withdraw your liquidity and you'll get 21 EOS and 52.5 USDT back, meaning you now hold tokens worth 105 USDT. You haven't experienced any impermanent loss because the liquidity ratio between EOS and USDT is still the same.

b. After you've earned your fees, the pool ratio has moved to 1:5, meaning that your EOS and USDT in the pool are now roughly 14.85 EOS and 74.25 USDT (this is calculated based on the algorithm for pricing in typical liquidity pools, but for sure 14.855 = 74.25). Now, your tokens are worth 148.5 USD(T), which is great. However, had you kept your 20 EOS and 50 USDT, your tokens would be worth 205 + 50 = 150 USDT, so you've experienced an "impermanent loss" of 1.5 USD.

The "impermanent" in the term is supposed to indicate that if you wait until the token ratio is the same as in the beginning again, your loss will not be permanent. You only realize the loss (and thereby make it permanent) when you withdraw your liquidity at a ratio that's different from the original one.

What's wrong about that?

Let's take a little step back and have a look at what you're actually doing when providing liquidity into a pool, and let's keep the example of 20 EOS and 50 USDT from above:

  • You're offering to sell (up to) 20 EOS to anyone who wants to buy at the current market price

  • You're offering to buy EOS up to 50 USDT volume from anyone who want to sell at the current market price

This is also why liquidity pools are often called automated market makers (AMMs); you've become a market maker now, congrats!

However, market makers are always exposed to exchange rate risks and market movements, which is why this job is typically executed by professionals with a lot of experience. In the world of DeFi, it's being assumed that the LP takes care of that, or any other construct like "bonding curves", which, in essence, is true.

So in your role as a market maker, you're now exposed to the risk of gaining or losing value, which is exactly what you're getting paid a fee for (just like traditional market makers get paid to expose themselves to these risks). So the higher the risk (that you might incur "impermanent loss"), the higher your fee should be. Conversely, if someone tells you they've solved the impermanent loss problem, you have to expect to receive (much) lower fees for your reduced risk exposure.

Why "impermanent" is actually more like "permanent"

If you want to make a profit from providing liquidity (which is the main reason for doing it, to begin with), it's important you understand that market movements are normal, that any market state is temporary and that you need an understanding of what "profit" means for you. The term "impermanent loss" stems from the early days of Uniswap where users would hold two tokens (like ETH and BAT), and they would simply like to have more of both, so they lock both of them up in an LP and wait to earn fees. If you lose some ETH or BAT, that's inherently "bad", so you'd call that some kind of a loss.

However, in markets, losses are ubiquitous, even if they're unrealized, but hardly anybody would ever call them "impermanent". If you buy 100 Tesla shares at 1000$ each and the price goes down to 900$, your (unrealized) loss is 10000$. If you believe that Tesla will go up again, you’re fine, but that's merely speculation - all you have right now are 100 shares worth 90k$ in total. All of your gains or losses are basically permanent, because in order for them to be temporary (as in “the opposite of permanent”, or “impermanent”), the market would need to move back to where it was before and there is no guarantee for that whatsoever.

It's the same in token markets, only that your reference value is more difficult to look at. For stocks, you typically use your local currency as a reference ("you've lost 10k$"), but what is it in an LP? That's basically up to you. Is your goal to make more money in your local currency, or more of the base token of the network (like EOS or ETH), or do you prefer holding more of the “other” token?

The later frontends for DeFi projects like Defibox are attempting at giving you an indication of your impermanent loss. Let's check out the screenshots below:


In the first example, we see a profit of -0.0017 EOS (so a loss of 0.0017), in the second a profit of -3.4878 EOS (clear because I've lost a bunch of BOX), and in the third an impressive profit of 1.8922 EOS, which also seems conceivable because I gained so many extra SOUL.

What we should be looking at instead

The above examples show how misleading the calculation of impermanent loss is. What exactly did I gain? And what did I want to achieve?

In general, what I do is to invest EOS tokens into other tokens and LPs in order to, well, gain more EOS. Anything else is not important to me. From this point of view, a profit/loss calculation looks totally different:

  • The 39.04 SOUL are worth 4.1481 EOS (as per the liquidity pool ratio), so I'm on a (small) loss for the EOS / SOUL LP
  • The 12.942746 BOX are worth 36.5557 EOS (despite being fewer BOX), so I'm at a small profit for the EOS / BOX LP. Sure, I would have been better off keeping 36.3452 EOS and 14.25185 BOX, but I only bought the BOX in order to make a profit in the EOS / BOX LP long-term
  • In the EOS / WAL LP, I'm also at a small EOS gain

Suddenly, the interpretation of profit and loss is a totally different one, because I'm following a different goal. Sure, it might have been better to just buy and hold certain tokens, but remember, I'm mainly exposing myself to token exchange rate risks in order to make an EOS-based profit on fees. Likewise, you could be looking at your P/L denominated in USD, and the story might be looking differently again.

By interpreting the provision of liquidity as I do, providing liquidity to an LP always includes going "long" on the price of the token you're providing liquidity for, however, with a factor. If you have 100 USDT and buy 20 EOS with half of the USDT, you're exposing 50 USDT (the 50 you bought the EOS for) to exchange rate risks. Let's have a quick look at your exchange risks when you now provide liquidity (let's assume 0 fees for this example):

1. The price of EOS goes down to 2 USDT. Now your LP position is 22.36 EOS and 44.72 USDT. Your total holdings are therefore worth 89.44 USDT, so you've lost about 10.56 USDT. Had you not provided liquidity, however, your holdings would be worth 40+50 = 90 USDT

2. If the price of EOS goes up to 3USDT, your LP position will be 18.26 EOS and 54.77 USDT, meaning your total holdings are worth 109.54 USDT as compared to 110 USDT had you just kept the 50 USDT and 20 EOS

In both examples, you can see that you actually need some fees in order to compensate for your increased exchange rate risk. This is exactly the effect of the (“impermanent”) loss that we’ve been talking about.

That said, if you're long on a token like BOX and you want to accumulate as many of those as you can, providing liquidity can be a viable option, but please be aware that it would be entirely normal to have fewer tokens left than you used to have (if price of the token goes up), or you might end up with a lot of these tokens that are only worth dust.

LPs provide solid price signals

Some people claim that you could be at a profit or loss based on external price signals (meaning: external to the LP itself), but I wouldn't buy that in most cases. Most bigger liquidity pools have traders taking care of arbitrage between different markets, so if the pool has a few thousand EOS locked up, the price signal provided by the pool itself (the ratio between the tokens) is pretty reliable. Therefore, it's conceivable that you look at token value in an EOS-based LP as exactly the EOS that you hold in that pool (potentially slightly worse, plus swap fees).

LPs have another big advantage over traditional bid-ask markets in terms of price - they have comparably tiny spreads based on the amount of liquidity in the market, so the price is not only theoretical, but you can actually realize it with small enough orders.

As a result, there's nothing more reliable than the price signal of a sufficiently liquid LP.

Let’s talk about it

So, as we’ve seen, the interpretation of “impermanent loss” being “impermanent” is wrong or at least misleading in at least three ways, so we shouldn’t be calling it impermanent loss anymore. Instead, we should employ the simple term of profit/loss, and you can call it “unrealized” if you want to emphasize that you haven’t cashed out on the profit or loss, yet.

In addition, make sure to always understand what you’re investing in; I hope I’ve given you quite a bunch of food for consideration when doing the next move on EOS-based DeFi (or any other DeFi, for that matter).

If you’d like to discuss how you feel about impermanent or other losses in DeFi, I’m happy to answer any questions in the comments, or on Twitter.