Analysing portfolio rebalancing using historical data

in #cryptocurrency6 years ago (edited)

In a previous post I already wrote about portfolio rebalancing. But I wondered what the result would have been after 1 year with and without rebalancing your portfolio.

Getting the data

I wanted historical data to test some of my ideas about rebalancing. I ended up downloading BTC and ETH price data from Coindesk.
The data is not perfect. The BTC set had more entries than ETH so I had to write a little script to align both datasets. This gave me a set of weekly price changes.

Setting up the tools

To make life not too hard for me, I just uploaded the data in a Google Spreadsheet and used the Script Editor to do my calculations, the results are written back in a Google Sheet.
This makes the code a bit messier than if you would do things more properly, using a database and queries. But for now it does the trick, I can always clean up things later if needed.

Starting Scenario

I decided to start with an easy scenario where our investor bought $1000 worth of BTC and $1000 worth of ETH one year ago.
If he did nothing for the next 12 months, this is what is result would look like today.
chart (3).png

His total value would have gone from $2000 to $62,170 in one year.

That's pretty awesome and I wish that investor was me! But I didn't...

Using Rebalancing technique

Next, I tested the following scenario:
What would happen if we would weekly rebalance our portfolio?
In my calculation, I decided I would rebalance if my value would have gained over 3%.

So, if I started with $1000 worth of Bitcoin and the next week it would be worth $1031, I would sell $31 worth of BTC and buy ETH with it. If ETH was up more than 3%, I would do the other way around, sell some ETH in favor of BTC.

Here is the result:
chart (2).png

The red line is our original graph (value without touching anything) and the blue indicates our value after rebalancing. After rebalancing, the total value of our investor's portfolio would have been $96,668. That is $34,497 better than without rebalancing!

Trying different algorithms

Once I had the script, it was easy to make other calculations.

Here is the result for monthly rebalancing (instead of weekly):
chart (4).png

The result is a bit less, $79,189 instead of $96,668 but still doing better than without rebalancing. The image has some lines missing for the months where there were not enough gains to rebalance.

Need more calculations

Finally, I discovered a small shortcoming in my algorithm. I had always favoured BTC over ETH. If BTC went up more than 3% and ETH would go up more, I would still sell BTC to buy more ETH. Weirdly enough, after changing this, the result was only $77,959 instead of $96,668. Maybe I should take into account total value gain instead of the percentage. I'll try that later...

I need to do some more calculations to find the best algorithm and also take in account transaction fees.

But I wanted to share these preliminary findings already to capture other people's opinion on my approach.
Let me know what you think in the comments!

Disclaimer: Be aware that I'm just a guy on the Internet writing about stuff that nobody really knows what is really going to happen. Do your own analysis and take responsibility for your own decisions. I'm just sharing my thoughts and might be completely wrong about this.

Have a look at my CryptoTrading for Beginners Series.

In Part 1 I talked about choosing your portfolio. We did everything on paper before actually buying any coin.
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-1-choosing-your-portfolio

In Part 2 I explained how to buy your first coins using Coinbase.
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-2-where-to-buy

In Part 3 I discussed how to use Exchanges.
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-3-using-exchanges

In Part 4 I showed how to transfer Bitcoin from Coinbase to your Bittrex wallet
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-4-transferring-coins-to-wallets

In Part 5 I wrote about what to look for when choosing a CryptoCoin to invest in
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-5-what-to-look-for-when-choosing-a-cryptocoin-to-invest-in

In Part 6 I discussed how to focus on the macro instead of the micro
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-6-focus-on-the-macro-instead-of-the-micro

In Part 7 I wrote about portfolio rebalancing
https://steemit.com/cryptocurrency/@gorik/cryptotrading-for-beginners-part-7-portfolio-rebalancing

Anything else you want me to cover? Let me know in the comments or join my free group on Facebook

And don't forget to upvote my post on SteemIt :)

Sort:  

Data is the best investors' friend, so very well done!!. I'm actually tracking myself IOTA, Monero and ETH hoping to get profitable results. These three cryptos have grown very much in the last year.

I want to do a simulation with a 4 coin portfolio but need to find historical price data for each coin in order to do so. Coindesk only has BTC and ETH. IOTA is a great project, but I was only able to invest a little in it. Still up 100%, not complaining. I decided to drop Monero in favor of ZCash. Keeping too many coins in my portfolio makes in unmanagable.

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 64038.60
ETH 3148.89
USDT 1.00
SBD 3.97