GithubHelp home page GithubHelp logo

website-jinkim22's Introduction

Automated Cryptocurrency Trader using ML

Stock exchanges are the economic engines of the world, organizing the sales of shares in companies; investors seek to buy and sell stocks via these stock exchanges in order to turn a profit. Their decisions may be made based on fundamentals of the company such as their earning reports, analysis of the current trend of the stock, or broader macroeconomic factors. As such, day-traders of stocks may spend hours a day reviewing the latest news or examining the trends of stocks, and buying or selling based on their analysis. The goal of our project is to develop a high-performance system to buy and sell securities for profit, specifically cryptocurrencies, with the decisions being made by a deep learning model. This way, the analysis and trading is automated, similar to what is done at today’s hedge funds. The trading of cryptocurrency was chosen over stocks due to trading being consistent around the clock, rather than fixed trading hours. The infrastructure should allow for the execution of trades on a mock exchange API that trades cryptocurrencies in a “paper-trading” account. The trading decisions must be made using a constant data stream of cryptocurrency prices (from Alpaca). This data stream is processed to result in a series of signals, which traditionally offer insight to traders. A deep learning algorithm, trained on historical data, predicts if the cryptocurrency will increase or decrease based on these signals. The success of the algorithmic trading system can be measured by the return of the system historically, and in a specific time-frame. There are various components to the project that will be built using Python. Firstly, there must be a data pipeline that fetches and processes historical cryptocurrency price data from Alpaca’s API. The stock signals are derived from this data. The data is then input into the machine learning algorithm, which, once trained, can predict if the price of the asset will rise or fall. The output of the algorithm is then fed into the trading engine, which actually executes trades based on insight from the algorithm; this is done by communicating with the mock exchange API. The actions should be logged via a logger. Stretch goals for the project are a simple UI dashboard showing the trades that have been made as well as offering insights into portfolio performance, as well as the implementation of risk management. An estimated timeline for the project is displayed below.

Timeline Goals
Week 1-2 Write and refine project proposal
Week 3 Design and build architecture
Week 4 Build basic trading infrastructure
Week 5-6 Explore and refine ML algorithm
Week 7-8 Putting it all together
Week 9-19 Stretch goals
Week 11-12 Final report and presentation

Since the project will be based on a mock cryptocurrency trading API, and no actual cryptocurrencies will be bought or sold, no budget is required. The trading algorithm will be based on the research at the following research paper. Advice will be taken from many individuals, including an incoming quantitative researcher at a large hedge fund. Our team has experience in building and working with large-scale infrastructure, including on large distributed systems at Google and Facebook.

website-jinkim22's People

Contributors

sai-c avatar jinkim22 avatar github-classroom[bot] avatar

Watchers

Brian Plancher avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.