Buidlers are the backbone of crypto – rain or shine, bulls or bears, these are the projects that continuously polish their product, introduce new features and accelerate their vision. But do they make a sound investment strategy?
To find out, we did a little buidling of our own.
Using our custom data sets, we wrote a python script that will perform the following functions:
- Sift through all ERC-20 projects in our database
- Select an X number of projects by most Github activity
- Invest a specified amount of $ (evenly distributed or weighted) in these projects
- Repeat each month
It’s worth noting here that we measure the projects’ Github activity differently than most. By default, data aggregators tend to track the number of commits, an unfortunate solution that often provides skewed and unusable data.
At Santiment, we decided to implement a more reliable approach – tracking the number of Github events that the project organization generates – a method that dramatically improves both accuracy and serviceability of Github data.
If you’re interested in learning more about the benefits of our custom approach, I highly suggest reading this piece by Valentin, our CTO.
Now, onto the main course!
Buidling vs Hodling
We decided to backtest our strategy starting from August 2017 until today. Much has happened in that time frame for crypto investors: from 1000%+ gains to a global market collapse, it’s been the best of times, it’s been the worst of times.
According to Business Insider, in 2017 alone there were 435 successful ICOs, raising an average of $12.7 million. So what if you invested only in those that topped the Github activity charts? And perhaps even more importantly – how does that portfolio measure up against hodling BTC?
Here are the results (Github portfolio is red, hodling is blue):
As you can see, our ‘Top Buidlers’ strategy would indeed have been profitable: if you invested $10000 back in August 2017, your portfolio would be worth $17097.01 today, marking a 71% increase and a Sharpe ratio of 1. Not too shabby!
Crucially, however, the strategy did underperform overall compared to hodling: if you bought $10k worth of BTC in July of 2017, you’d now be sitting on $27219.18, an increase of 172%.
Leveraging the Market
Also telling is that the Github portfolio was actually more volatile than hodling, registering significantly larger spikes in January and May of 2018. If you were to sell at one of those intersections instead, our portfolio would in fact come out on top.
(P.S. We’ll actually address using Santiment data to identify these tops in one of our upcoming articles – stay tuned)
The relative volatility might also indicate that projects under heavy construction are more affected by the hype in bull markets, but also disproportionately impacted by panic during bear markets and bottoms. That would imply some potential for leveraging the market with the strategy – if we used hodling ETH as a benchmark, this becomes even clearer:
To further validate this theory, let’s explore the beta of our strategy. A beta larger than 1 means that the portfolio is not just influenced by the market, but actually reacts stronger than the market. This could be used for leveraging without the risk of losing more than you invested, as is possible with regular leveraging.
The overall strategy has a beta of only 0.84, but if we look at the rolling beta, the value does move above 1 at the beginning of 2018, peaks at over 2 and stays above 1.
If we look at the rolling beta for holding ETH as a benchmark we see a smaller but similar effect.
In short, there appears to be some leverage effect to the strategy, but it’s changing considerably over time.
A Few Caveats
It’s worth noting that the above strategy is by no means perfect, with many ways that it can be improved upon (for example, by not trading the absolute values of GitHub activity but rather their changes, or focusing only on strong, sudden spikes).
Also, despite tempting correlations, this analysis did not establish with certainty that projects with high Github activity are a decent leveraging tool. Nevertheless, it still raised some very interesting questions that will warrant further research.
One could, for example, plot projects with both high and low Github activity against various benchmarks, and check for large discrepancies in their betas. Let us know in the comments if you’d like us to put that idea to the test in one of our future articles.
What this analysis does show, however, is that Github activity – or any single metric for that matter – can not be counted on to produce viable, multi-faceted market analysis.
Observing this data in a vacuum is bound to lack some context, further validating our belief – and business model – that proper crypto analysis warrants exploring and juxtaposing a whole strain of fundamental metrics and crowd sentiment data.
Because of that, we plan to combine the above approach with other Santiment metrics in the near future to see what sorts of additional insights we can gather. So be sure to keep in touch!
Bonus: Doing it Yourself
This analysis was created for two reasons:
- Testing the viability of Github as an investment strategy
- Demonstrating how complex, large amounts of data can easily be pulled and utilized via the Santiment API, using python and the sanpy python API-wrapper.
Since backtesting is crucial for any successful investor, we wanted to create a paint-by-numbers blueprint for our API users, and show how you can carry out and iterate effective backtests on your own.
If you’d like to test and adapt our Github portfolio script, here’s all you need to know.
You can find the Portfolio notebook here. It is split into several parts:
- After the cells for importing the required modules you can specify the following parameters:
- number_of_tokens_to_invest – lets you specify how many projects you want to select every month.
- money_invested – sets the amount of money you want to backtest the strategy for.
- minimum_volume_to_invest – sets the minimum average transaction volume a project needs to have to be included.
- weighted_investments – lets you decide if you want the money evenly distributed or weighted.
- hedge_the_benchmark – gives you the option to hedge your portfolio against the selected benchmark
- The third cell pulls a list of all the available ERC-20 projects on SANbase and iterates over this list, pulling data for every project and saving it in a dataframe if pricing and GitHub data are available for the project.The resulting dataframe should contain around 500 projects with columns for opening price, closing price, volume, market capitalization and GitHub activity
- The fourth cell performs some pre-processing on the resulting dataframe. It splits the data frame into single months and then chooses the projects with the highest GitHub activity.
It does this by looking at the average activity from the previous month (to avoid a look ahead bias). Before that, every project with an average volume of less than whatever is specified will be excluded to avoid investing in projects that lack liquidity.Based on the parameters set in part 1, the cell weights the returns and/or removes the benchmark to simulate hedging.
Important: This notebook simulates changing the projects (and their weights) monthly but rebalancing daily. In real-life trading, daily rebalancing could impose significant fees, influencing the entire portfolio’s returns. To change the portfolio to only rebalance monthly, it’s easiest to reduce the calculations to a monthly level.
- The fifth cell does most of the analysis and visualizations. It iterates through the portfolios, and calculates the portfolio value using the % changes of the markets, as well as the value of a benchmark portfolio (hodling BTC) over the set period.
If specified, the cell weights the investments using the relative size of GitHub activity. After calculating the development of the portfolio it crunches the following numbers:
– The total profit of the strategy
– The total change in percent
– The maximum drawdown (the maximum you could have lost of you invested and sold at the worst possible times)
– The Sharpe Ratio (average daily profit in relation to the risk/standard deviation)
– It also returns a visualization of the development of the portfolio and the benchmark portfolio.
- The last two cells calculate the beta (a measurement of how much influence the market/benchmark has on our portfolio) and a running beta over single months.
We hope that this notebook helps illustrate what kind of analysis is possible with our API, even by simply using standard data science modules in python.More information on using the Santiment API can be found here.
If you have any additional questions or suggestions, be sure to let us know in the comments.