We found ourselves woefully undervalued and wanted to change that by making passive income.

What it does

This application communicates with the Coinbase exchange to get market data (prices, trends), it keeps track of and analyzes the market data into factors that we can analyze, then makes buy/sell decisions based on some initial amount of money/crypto you give it.

How I built it

This project is written entirely in python 3.6 and uses the coinbase pro API. The statistical analysis was done in MATLAB. We began by building a framework that is able to do several basic things such as make calls to the API to communicate with the server that has market data. Then we decided on how we wanted this data to be processed and acted upon. We settled on an implementation that mainly involved two classes of objects we wrote. We called these classes the decider and analyzer classes. They were responsible for deciding to buy and sell and keeping track of incoming data/analyzing it respectively. After this basic framework was up, we added in functionality to allow the processing of csv files in order to see how the model performs. We also attempted implementation of graphical plots but didn't have time to finish.

Challenges I ran into

Lack of experience did hinder us. Only one group member is proficient in Python. There is also a distinct lack of financial experience on our team. Most of the statistical analysis is not actually taken from economic theory and instead is heavily test driven. This opens up the decision algorithm we developed to skew and might cause an inaccurate model which would lead to losses on the market at a rate that we are unsatisfied with.

Accomplishments that I'm proud of

Most of our team(2/3) has no relevant programming experience, but the contributions to the success of this project is evenly distributed. Everyone did something. We are proud of the progress we've made this weekend.

Something that one of our group members was particularly thrilled with is how he was able to apply MATLAB to this project, but in hindsight, a language capable of easy stats analysis would probably be useful when trying to analyze price trends.

After running our bot on a year's worth of Bitcoin price data, the initial investment increased roughly fourfold.

What I learned

We learned a lot about Python, how to analyze and process large datasets (over one million lines), and about trading.

What's next for Green Machine

Further development of decider logic. Further research into different and possibly more effective methods of price analysis. We would like to eventually deploy something that is viable on the market and actually makes money.

Let's make some green.

Share this project: