The goal of this project is to predict buy or sell on bitcoins.
The price of bitcoin is notoriously volatile. This is because it has no inherent value, it's price is based almost exclusively on speculation. How can you accurately predict the value of such an asset? The short answer is that's almost impossible. As so much of the price is speculative though, we can suppose that the decision to buy and sell is impacted by news, and online word of mouth. This is compounded by the fact that bitcoin is held by private individuals, as opposed to companies.
Let's look at news outlets then, specifically twitter. We've taken 16M tweets and used Natural Language Processing techniques determine the sentiment of the tweet (positive, negative or passive) and used them as a predictor to buy, sell, or hodl.
The webapp part of the project is handled in Postgres, django and Angular.
The way in which the project is deployed consititues a large part of the project, and is handled using Docker containers.
Deployment is separated into two distinct environments, production (henceforth prod) and development (dev).
In dev, the app is deployed on a minikube cluster (a single node kubernetes cluster run on a local machine), using Tilt to facilitate live updates. In prod, the project is deployed on OVH.
If you'd like to clone and run the project, this section explains how to do so (bear in mind that the project relies on bash, as it was developed on ubuntu 20.04.03).
The following dependencies must be installed to run in local:
Commands to install these dependencies, along with links to the official docs can be found in the install doc.
You will then need to add the host (bitbuyer.tom-preston.info
) to /etc/hosts
:
# get the IP
kubectl get -n bitbuyer svc front-internal -o jsonpath='{.spec.clusterIP}'
# add to /etc/hosts
sudo nano /etc/hosts
# add an entry like
# 192.168.49.2 bitbuyer.tom-preston.info
Open a bash terminal and run:
# launch tilt
./run.sh dev
# open tilt GUI
xdg-open http://localhost:10350
# open the project
xdg-open http://bitbuyer.tom-preston.info/coins