April 30th 2021
An updated version of this article can be found here.
2.5% return for week 1, expect more volatility in future weeks.
Added a second farming pool for diversification.
Added borrowing to take a more market neutral position.
Those new to this series can find the Week 1 article here.
Caveat: I see a very high chance that I will lose all of this money. If you plan to do yield farming, I suggest you plan on losing all of your money too. This is highly speculative. I don't see it as anything more than entertainment. Furthermore, please check my calculations - I am learning and there are likely mistakes present.
Week 1 Performance:
Over the first week, net assets increased by 2.5% from €908 to €931. Of this 2.5% increase, there was:
A 2.6% return from tokens received as rewards (from selling off EPS and EGG tokens, more on that below).
A -0.1% return from price changes, impermanent loss and transaction fees (including the effects of borrowing, more on that below too).
To put this in context, I'm currently farming in a pool giving about 300% APR, which converts to a weekly return of 5.8%. Since I have 50% of my assets farming and 50% in stables, my expected weekly return on my full portfolio is 2.9%, although there will be oscillation owing to factors such as price fluctuations.
Farming pool updates during Week 1.
At the start of the week, I had 50% of portfolio assets farming the BNB-EPS pool on harvest.finance . As you'll read in the Week 1 post, I had acquired the BNB-EPS LP (liquidity pool) tokens on pancakeswap.finance .
On April 23rd, Pancakeswap upgraded their liquidity pools to v2. This meant that anyone farming that pool had to stop farming, remove liquidity from v1 on pancakeswap and then put it back in to v2 before starting to farm again (once Harvest.Finance had upgraded to support the v2 liquidity pool on pancake).
I decided it was better to leave the BNB-EPS pool (and sell the EPS rewards I had earned) and go to an entirely different pool than to wait on the upgrade on Harvest.Finance.
I moved my liquidity over to the BUSD-EGG pool over on GooseDeFi.finance . GooseDeFi.finance is like Pancakeswap (and looks almost identical) in that it allows for token exchange, liquidity provision and farming. I used GooseDeFi to first buy BUSD and EGG tokens, then provide liquidity to the BUSD-EGG pool, and then I went over to the farm section to farm the BUSD-EGG pool. Rewards were and are around the 300% APR mark.
Takeaway: I have to keep an eye on what I'm farming because platforms may upgrade or go down, in which case I have to move my liquidity elsewhere.
Factors influencing weekly profits
There are at least four factors affecting weekly profits from yield farming:
i. Rewards token earnings - this is the main goal of yield farming, to earn and sell off the rewards tokens.
ii. Price movements - In a farming strategy, the changes in the prices of tokens typically outweigh the rewards earnings. Going back to the table above, farming a 300% APR pool will lead to a portfolio return of 2.9% weekly. Typically, crypto prices will move by more than this on a weekly basis so returns from yield will be masked by price changes.
Therefore, when I'm contributing to farming pools, I'm not just yield farming, I'm also taking a long position on crypto. This makes it hard to tell whether I'm doing well at farming versus just doing well because crypto prices are going up. Ideally, I don't want to be long crypto on this strategy, I would like to be doing pure yield farming and be market neutral. There are two things I'm doing so far to achieve this:
a. Profit taking - by having a portfolio that is 50% stables and 50% farming, I ensure that upswings in crypto prices are rebalanced over to stables (and vice versa).
b. Borrowing crypto to make myself market neutral. This is a bit more involved. I use the stables portion of my portfolio to borrow crypto assets (BNB for example) and then I sell that BNB for stables (BUSD). This allows me to take a short position in BNB to at least partially offset the long position that I have in EGG.
c. Diversification. Ultimately, I can't borrow the smaller tokens (like EGG), so BNB is an imperfect proxy. The best I can do to hedge the movements of tokens like EGG is to diversify into more farming pools. To start Week 2, I have therefore taken my EGG-BUSD holdings and diversified half of them into an XMARK-BUSD pool on pancakeswap.
iii. Impermanent loss - when market prices change, third party arbitragers change the balance of tokens in liquidity pools. This results in a loss for liquidity pool owners versus holding constant their balance of each token. (Interested readers can explore a fuller explanation here.)
Here is how the change in relative price of a token pair affects impermanent loss for the liquidity pool:
Note that, if the price reverts to its original level, the loss is reversed - hence it is called an impermanent loss. The risk, however, is very much real if you exit a liquidity pool when the prices are different from your time of entry, which is nearly always the case unless you are providing liquidity to a stablecoin pair (in which case the APR will be much lower). For example, you might enter a BUSD-EGG pool at a price of $12 per EGG, but later leave the pool at $24 per EGG - at which point you crystallize the impermanent loss of 1.9%.
iv. Transaction fees
Every time you swap tokens, you generally incur a 0.3% fee. Note that my weekly return is around 2.5%, so I shouldn't be swapping tokens more than roughly once per week so I don't eat into my returns.
Every time I provide tokens to a liquidity pool or to a farming pool, I have to pay a transaction fee. Fortunately, Binance is not too expensive, so it's usually only about $1 max per transaction. For a $1,000 portfolio, each transaction is around a 0.1% fee. Ballpark, with a weekly return of 2.5%, this means I shouldn't be doing more than around 5 transactions per week in order not to burn into my return.
Going into Week 3
I'm now 50% BUSD, 25% XMARK-BUSD (earning CAKE), 25% EGG-BUSD (earning EGG) - with a further 25% short position in BNB. At the end of week 2, I'll plan to sell CAKE and EGG rewards, rebalance, and potentially consider adding a third liquidity pool.