Shivain Vij

Class of 2019


Shivain is a junior studying at Southpointe Academy in British Columbia. For as long as he can remember, Shivain has loved analyzing, computing, and programming. He is currently serving as the Secretary-General for a new Model United Nations conference and enjoys participating in science fairs to showcase his new ideas for tackling today's modern problems. He also loves to participate in math contests as they give him an opportunity to find unique solutions to a variety of problems.

Project: Machine Learning the Optimal Cryptocurrency Portfolio from Blockchain Activity


Cryptocurrencies are notoriously unpredictable with traditional financial approaches. This project was intended to utilize historical blockchain activity to construct a machine learning algorithm that would be able to optimize intraday cryptocurrency portfolio allocations. The first part of the project was to create a program that would find the optimized portfolio of just Ethereum and Bitcoin for the current date that the code was executed. The optimization would be done so that the user would be investing with the maximum expected return with a minimal risk, which would be computed with the Sharpe ratio. The second part was to create a manipulate of the optimized portfolio to show to a user that the optimized portfolio's weights for the cryptocurrencies could not be beat. The manipulate was then opened up so that the user could change the circumstances of the program and the optimized portfolio would show the optimum weights of the cryptocurrencies. Following that, historical Bitcoin blockchain data was collected for optimized portfolios to be inputted into a neural network machine-learning algorithm to attempt to predict future Bitcoin return rates. The return rates would then be used to compute an optimal portfolio. That was the idea, but that's not exactly what happened. Different methods were tried to get different results.

Summary of Results

After feeding a machine-learning algorithm data of daily historical blockchain transaction activity, it became clear that there is no major correlation between daily Bitcoin blockchain transaction activity and daily Bitcoin return rates. The neural net was completely unable to predict any return rates, and all of the predictions were near zero. This shows that the neural network was unable to identify any correlation between return rates and blockchain transaction activity. However, once the data was shifted to look at only monthly return rates and monthly transaction history, the neural network was slightly better in terms of the range of its predictions, and a handful of the predictions were accurate. Even so, the neural network was still extremely inaccurate. The same steps followed for Ethereum using Ethereum historical return rates and Ethereum transaction history, which yielded very similar results and clearly showed no machine-learnable correlation. After carefully looking over the historical data for Bitcoin to analyze it, it became clear why the neural network was having so much difficulty with training itself; the data from the beginning of Bitcoin's and Ethereum's historical values is very different from what it has been in the recent past. Training a neural network with outdated data that is not realistic given today's circumstances undoubtedly would produce weak results. After removing about two years from the beginning of the historical data for Bitcoin and training the neural network again, it was still inaccurate. After that, we tested if inputting blockchain transaction data would allow us to predict the optimal portfolio's weights. The neural network now resulted with a 70% correlation and could explain over 50% of the variance in the optimal portfolio's weights.

Future Work

There are several ways to extend this project to predict cryptocurrency optimal portfolios. One of the many extensions is to take into account new users and old users and the trading history of users to identify possible enterprise-level transactions since the enterprises that perform these transactions may not be influenced by the same things that regular individual consumers are. Furthermore, the prices and how many people bought ASICS or any other mining-related hardware can also be investigated since the mining of Bitcoins can impact the blockchain's number of Bitcoin transactions. Shifting our focus to the regular individual consumer, further research could include analyzing news articles containing the majority of the key words “Bitcoin prices expected to rise says expert analyst" since phrases such as this can cause a consumer who would normally not be interested in cryptocurrencies to invest. Analyzing the volatility right before a cryptocurrency price experiences dramatic change, like the Bitcoin spike and fork, can also provide more insight into what influences consumer confidence in Bitcoin. Finally, adding more cryptocurrencies into the program would also provide more possibilities for the optimized portfolio, but right now, only Bitcoin and Ethereum are supported by Wolfram. It is always possible to add more manually using data found online, but that data would have to be formatted properly.