What You Didn't Know About Crypto Index Funds — Part 1

Xoel López Barata
HackerNoon.com

--

Or maybe you already knew this. Then… ¯\_(ツ)_/¯

In the last couple of years, a lot of crypto ‘hedge’ funds have appeared. In this series I’ll analyze how a lot of them would have performed VS bitcoin, with data from 2013 until June 2018 scraped from Coinmarketcap.

‘Hedge’ funds?

Well, originally the hedge in a hedge fund meant that risks were limited by having short positions in addition to the long ones, making the fund market neutral. This is not a common thing in these crypto funds, where they’re mostly long.

So what?

In this series I’ll analyze a particular type of fund where almost all of the data is publicly available: index funds. I will recreate the return on investment of investing into crypto index funds across the past 5 years (even when they didn’t exist yet) and compare that to buying bitcoin through that period.

TL;DR

  • 2013–2015: Bitcoin’s ROI > Crypto index funds’ ROI
  • 2015–2017: Bitcoin’s ROI < Crypto index funds’ ROI, but index funds didn’t exist yet, so ¯\_(ツ)_/¯ . Results highly influenced by Ethereum. What if we remove it from there? Stay tuned!
  • 2017-…: 🤔. In this time Coinbase Index Fund and Bitwise HOLD10 Fund were launched. Would they have been a good option? Stay tuned too

What is an index fund?

They are funds that try to replicate the performance of a group of underlying assets. There are index funds that track the S&P 500, the DJIA…

Source: https://coinmarketcap.com/charts/

This is the market that a crypto index fund would try to replicate. The classic sell line for index funds is an obvious one:

  • Less risk and volatility than if investing in a single asset
  • Exposure to a full market for a lower cost than buying each one of the assets individually.

In this post I analyze a simple recreation of crypto index funds using real data, with the following features:

  • A 2% annual fee
  • No rebalancing
  • No assets are excluded from the index.
Yeah let’s look at the data

Not all index funds include all of the assets and they normally rebalance the asset allocations they make over time. I will analyze these in a future post. Now, let’s see how this simple funds would have performed against Bitcoin.

As we have all the historic prices and market caps for each coin, it’s possible to recreate the performance over time of buying any one of them, or them all weighted by market cap (that is, an index fund), since any particular day until today. This is what I’ll do next.

First step: getting the data

Coinmarketcap offers historic price, volume and market cap of Bitcoin and other ~1600 coins. I created a Python script that crawled through them all and saved the market cap and the close price for each day from April 2013 until today.

This was the first and probably the last time we will hear about all these shitcoins

Then: computing the weight of each coin for each day

In an index fund, the allocation that is invested in each of the assets is proportional to the market cap of each asset relative to the sum of the market caps of all of the assets.

Weights of of the index funds in the first four days we have data from. Bananacoin didn’t exist yet

In our case, imagine that in a given day, Bitcoin’s market cap is $80B, Bananacoin’s is $15B, Dentacoin’s is $5B and those were the only coins in the market. So if we had $100K to invest, we’d buy $85K worth of Bitcoin, $15K worth of Bananacoin and $5K worth of Dentacoin

(Yeah, those coins do exist)

Next: calculating the performance of index funds and bitcoin

For each day, the weights that day are multiplied for the cumulative returns of each coin since that day until today. Then those values are summed and that final value is the performance of the index fund created on that day.

To calculate the performance of bitcoin since each one of the days is easier: we just have to multiply the price returns of bitcoins since that day until today to have the cumulative returns since each day.

After that, we have this. For a clearer visualization of the results, only a 1/60 of the analyzed investments are shown.

How to read these charts? Each line is the evolution of a dollar invested in an index fund or in bitcoin from several dates in the past until today. The more yellow the lines, the more recent the investment.

They look pretty much the same, huh? That happens because bitcoin has always been a big chunk the market and the other chunk is still highly correlated with bitcoin itself.

Better: relative performance of index funds VS bitcoin

How could we know what performed better, wether the index fund or bitcoin, since a certain date? Dividing the former’s performance by the latter’s. Then those relative performances over time would look like this:

In all this post, ‘Relative performance’ = ‘Relative ROI’ = Crypto Index Fund ROI / Bitcoin ROI

But again, this doesn’t tell us much. What would be really interesting are the final values, shown as black dots in the following chart:

Another way to read this chart: how a dollar invested in a crypto index fund would have multiplied, compared to if it had been invested in bitcoin, starting the investments at different times from 2013 to now.

And how can we visualize those final relative performances better? A good idea is to place those dots in the vertical line that corresponds with the date when each index fund and bitcoin investment was made.

Now, those colourful lines in the background are nice but don’t give us much useful information. Let’s get rid of them.

And now that the chart is less cluttered, all the dots can be plotted, instead of one for every 60 days as before:

Note that the points are independent results from each other, so it wouldn’t make sense to link them into a single line.

Some conclusions…

Yasss everyone likes conclussions!

It looks like before 2015 we would better have just bought bitcoin than invested in a crypto index fund. Between 2015 and 2017 the opposite is true. This is probably due to the launch of Ethereum in mid 2015. If we remove it (and Bitcoin too) from the index funds the results would be quite different. I’ll explore this in a later post too. Anyway, none of this matters because crypto index funds didn’t exist until 2017. And from 2017 on, it’s not clear what would have been better.

We can better visualize this data with histograms, where we can see the number of values that fall inside each interval. Also, I marked the median and the geometric mean of final relative ROIs in yellow and red, respectively. The median is the value that divides the lower 50% of the results from the upper 50%. It’s less sensitive than the mean to outliers

These histograms are interactive. Wanna play with them? 👉Since 2013 and Since 2017

Using the whole data since 2013, the median relative ROI is 1.04 and in a 54.7% of the days we’d have obtained a higher ROI investing in a crypto index fund instead of in bitcoin.

But this changes if we observe data since only 2017 (when all of today’s crypto index funds started to appear). In this case, the median relative ROI is 0.978 and only in a 44.1% of the days the final ROI of an index fund would have been higher than bitcoin’s.

And if you were wondering about the red lines, the geometric mean of the relative ROIs would be 1.076 taking the whole data and 1.025 taking only data from 2017 on.

One more thing: risk-adjusted returns

Source: laplaceinsights.com

Look at the two assets in this chart. Which one would you choose?

Of course, the green one. The final return is almost the same but the green one gets there much more ‘smoothly’ than the red one. How can we measure this?

Sharpe Ratio

The sharpe ratio is obtained just by dividing the annualized (geometric) mean return by the annualized standard deviation. The higher this ratio, the better.

As a side note, when working with returns it’s better to work with geometric than with simple means. The former is adequate for values that work multiplying each other(like financial returns or odds of winning the lottery) while the latter is better for magnitudes that add together. As an extreme case, if one of the values is 0, the geometric mean will be 0 while the simple mean can be higher.

Going back to sharpe ratios, here in green are the ratios of index funds since the day they’d be bought until June 2018, and in blue the same values for bitcoin.

As you can see, the ratios computed using simple means are higher. I’ll stick to the plot in the right for the next calculation

Done this, it’d be interesting to compare both sharpe ratios. This can be tricky as you can’t just divide them because that would involve divisions by zero. You could also calculate the index funds sharpe ratio taking bitcoin’s mean return as the risk free return, but I don’t think either that considering bitcoin a risk free investment would be the most accurate thing.

So I compared both sharpe ratios just by subtracting bitcoin’s sharpe ratios from the index funds’ sharpe ratios. I thought it’d be the least wrong approach, though if you have a better idea please let me know!

Finally…

The previous data can be combined from the relative ROI data that we had before. I’ve built all that into this interactive plot you can play with.

Made with Plotly. Great plugin, but it won’t work very well on mobile, though. Try landscape mode if you’re reading this from a phone.

If you see a 404 error☝, you can view the plot here.

That’s it for now, folks!

Did you like this? Follow me on Twitter for more stuff alike.

Feel free to send some BTC love at 123WyUSbKJ4MxS7CnsX7p42vgjdEvM8kUw :)

See the Python code that created this (Jupyter Notebook)

--

--

Xoel López Barata
HackerNoon.com

Freelance data scientist and software developer. On Twitter: @xoelipedes.