Team 1: Initial Project Description

Similar documents
Major Milestones, Team Activities, and Individual Deliverables

Software Maintenance

Firms and Markets Saturdays Summer I 2014

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

On-Line Data Analytics

M55205-Mastering Microsoft Project 2016

TUESDAYS/THURSDAYS, NOV. 11, 2014-FEB. 12, 2015 x COURSE NUMBER 6520 (1)

MGT/MGP/MGB 261: Investment Analysis

Explorer Promoter. Controller Inspector. The Margerison-McCann Team Management Wheel. Andre Anonymous

Northern Kentucky University Department of Accounting, Finance and Business Law Financial Statement Analysis ACC 308

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Ryerson University Sociology SOC 483: Advanced Research and Statistics

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

Top US Tech Talent for the Top China Tech Company

The Comparative Study of Information & Communications Technology Strategies in education of India, Iran & Malaysia countries

FRESNO COUNTY INTELLIGENT TRANSPORTATION SYSTEMS (ITS) PLAN UPDATE

Best Practices in Internet Ministry Released November 7, 2008

Evaluation of Learning Management System software. Part II of LMS Evaluation

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

Lecture 1: Machine Learning Basics

Susan K. Woodruff. instructional coaching scale: measuring the impact of coaching interactions

University Library Collection Development and Management Policy

CS Machine Learning

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

Xinyu Tang. Education. Research Interests. Honors and Awards. Professional Experience

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Cooking Matters at the Store Evaluation: Executive Summary

Virtual Teams: The Design of Architecture and Coordination for Realistic Performance and Shared Awareness

Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

Davidson College Library Strategic Plan

Visit us at:

Laboratorio di Intelligenza Artificiale e Robotica

Laboratorio di Intelligenza Artificiale e Robotica

e-learning compliance: helping your business tick all of the boxes

Advanced Corporate Coaching Program (ACCP) Sample Schedule

Promotion and Tenure Guidelines. School of Social Work

Citrine Informatics. The Latest from Citrine. Citrine Informatics. The data analytics platform for the physical world

The IDN Variant Issues Project: A Study of Issues Related to the Delegation of IDN Variant TLDs. 20 April 2011

COMM370, Social Media Advertising Fall 2017

Student User s Guide to the Project Integration Management Simulation. Based on the PMBOK Guide - 5 th edition

COURSE LISTING. Courses Listed. Training for Cloud with SAP SuccessFactors in Integration. 23 November 2017 (08:13 GMT) Beginner.

Guidelines for Project I Delivery and Assessment Department of Industrial and Mechanical Engineering Lebanese American University

Practice Examination IREB

Reinforcement Learning by Comparing Immediate Reward

EXECUTIVE SUMMARY. Online courses for credit recovery in high schools: Effectiveness and promising practices. April 2017

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

On the Combined Behavior of Autonomous Resource Management Agents

Delaware Performance Appraisal System Building greater skills and knowledge for educators

Business 712 Managerial Negotiations Fall 2011 Course Outline. Human Resources and Management Area DeGroote School of Business McMaster University

Intellectual Property

Software Development Plan

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

Gridlocked: The impact of adapting survey grids for smartphones. Ashley Richards 1, Rebecca Powell 1, Joe Murphy 1, Shengchao Yu 2, Mai Nguyen 1

College Pricing. Ben Johnson. April 30, Abstract. Colleges in the United States price discriminate based on student characteristics

Decision-Focused Research for Association Executives

TENNESSEE S ECONOMY: Implications for Economic Development

MMOG Subscription Business Models: Table of Contents

An Introduction to Simio for Beginners

Iep Data Collection Templates

Graduate Program in Education

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

They did a superb job and they did it quick. I was amazed at how fast they did everything that they had to do.

10.2. Behavior models

Purdue Data Summit Communication of Big Data Analytics. New SAT Predictive Validity Case Study

Memorandum. COMPNET memo. Introduction. References.

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

Please find below a summary of why we feel Blackboard remains the best long term solution for the Lowell campus:

Institutionen för datavetenskap. Hardware test equipment utilization measurement

ECE-492 SENIOR ADVANCED DESIGN PROJECT

An Introduction to the Minimalist Program

LEGO MINDSTORMS Education EV3 Coding Activities

THE VIRTUAL WELDING REVOLUTION HAS ARRIVED... AND IT S ON THE MOVE!

Helping Graduate Students Join an Online Learning Community

Collaboration: Meeting the Library User's Needs in a Digital Environment

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Welcome to the session on ACCUPLACER Policy Development. This session will touch upon common policy decisions an institution may encounter during the

The Ohio State University Library System Improvement Request,

Online Marking of Essay-type Assignments

BUS Computer Concepts and Applications for Business Fall 2012

Update on the Next Accreditation System Drs. Culley, Ling, and Wood. Anesthesiology April 30, 2014

Nearing Completion of Prototype 1: Discovery

Great Teachers, Great Leaders: Developing a New Teaching Framework for CCSD. Updated January 9, 2013

CTE Teacher Preparation Class Schedule Career and Technical Education Business and Industry Route Teacher Preparation Program

OVERVIEW OF CURRICULUM-BASED MEASUREMENT AS A GENERAL OUTCOME MEASURE

Intermediate Computable General Equilibrium (CGE) Modelling: Online Single Country Course

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

GRANT WOOD ELEMENTARY School Improvement Plan

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

The Wegwiezer. A case study on using video conferencing in a rural area

University of Massachusetts Lowell Graduate School of Education Program Evaluation Spring Online

Worldwide Online Training for Coaches: the CTI Success Story

Diploma in Library and Information Science (Part-Time) - SH220

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Youth Sector 5-YEAR ACTION PLAN ᒫᒨ ᒣᔅᑲᓈᐦᒉᑖ ᐤ. Office of the Deputy Director General

MTH 141 Calculus 1 Syllabus Spring 2017

Eller College of Management. MIS 111 Freshman Honors Showcase

Transcription:

Team 1: Initial Project Description Mason Wilde, Jacob Hegna, Gage Benne, Andy Monroe, Grant Jurgensen Project Name Lawrence Trading Co. Project Synopsis An algorithmic cryptocurrency trading platform utilizing Tensorflow machine learning and deep market data to produce successful short-term trading strategies. Project Description The field of algorithmic trading is already strongly established within the realm of traditional stock exchanges. Typical strategies rely on extremely quick algorithms and low latency connections to an exchange in order to make short-term trades. Often, algorithms are implemented on a field-programmable gate array (FPGA) due to their speed, and the need to trade as quickly as your competitors to maintain a viable trading strategy. These factors combine to create a high barrier of entry into algorithmic trading on traditional exchanges. In contrast, algorithmic trading of cryptocurrency is relatively undeveloped, and therefore presents a strong opportunity to enter while competition is thin. Cryptocurrency exchanges are hosted on the internet, which inherently creates a more even playing field than traditional exchanges. Where trades can be made in a matter of nanoseconds on traditional exchanges with direct connections, internet latency will be much higher for all parties. This also means we will need to make strong changes to established techniques in algorithmic trading, as we cannot assume low latency access to the exchange, and we cannot assume quicker access than our competitors. The end result will be a program which trades cryptocurrencies through an internet exchange based on a machine learning algorithm, trained on market history data we have collected. Project Milestones First Semester 1. Collection of raw cryptocurrency market trading data 2. Manual modelling and analyzing / determining market indicators 3. Tensorflow, and general machine learning integration beginnings

Second Semester 1. Production and validation of generated algorithms from collected data 2. Cryptocurrency market integration 3. Production and validation of generated algorithms from real-time cryptocurrency market 4. Putting money on the line and verifying results Project Budget This project will primarily utilize Google s open source machine learning framework: Tensorflow. Open source programming languages coupled alongside the machine learning framework such as Python and C++ mean very little implementation costs. That being said, there may be costs associated with hosting certain components of the project on Amazon Web Services, as well possible costs involving automated trading at high frequencies on the open cryptocurrency markets. (There is also a stage in which we put our own money in the algorithmic trading platform, we will not include this in the budget.) Work Plan As of this point, clear roles have yet to be determined due to the nature of the project s exploratory intent. This project was undertook in attempts to become more familiar with interesting growing fields in computer science not taught in our undergraduate careers. That said, strengths of each team member will be a guide to who will take on what component of the project. Mason has had experience with machine learning algorithms, and Jacob has had experience with exchange markets. The entire team has had extensive experience in many facets of computer science, and the team will build on these strengths to determine the most optimal work allocation.

Gantt Chart Task Start Finish Assigned Duration Project proposal early-october mid-october all < 1 week Video project proposal preparation mid-october mid-october all < 1 week Collection of raw cryptocurrency market trading data mid-september mid-february Jacob / all ongoing Cryptocurrency exchange research mid-october early-november all < 2 weeks Manual modelling mid-october mid-november Jacob, Andy / all < 4 weeks Analyzing manual modeling mid-october mid-november all < 2 weeks Researching market indicators early-november mid-november Grant, Mason / all < 2 weeks Tensorflow research mid-november late-december all ~ 1 month Tensorflow and general machine learning integration mid-november late-february all ~ 2 months Data formatting to support machine learning attempts mid-december mid-january Grant, Jacob / all < 2 weeks Assisted algorithm development from collected data mid-january mid-february all ~ 1 month Validation and correction of generated algorithms mid-january mid-february all ~ 1 month Cryptocurrency market integration early-february late-march Gage, Andy / all < 2 months Production and validation of generated algorithms from real-time cryptocurrency market early-march late-march Andy / all < 2 weeks Putting money on the line and verifying results late-march early-april all < 1 week Project documentation mid-october mid-april Gage, Mason / all ongoing Public presentation preparation mid-mar mid-april all < 1 week

Sep. Sep. Sep. Oct. Oct. Oct. Nov. Nov. Nov. Dec. Dec. Dec. Jan. Jan. Jan. Feb. Feb. Feb. Mar. Mar. Mar. Apr. Apr. Project proposal Video project proposal preparation Collection of raw cryptocurrency market trading data Cryptocurrency exchange research Manual modelling Analyzing manual modeling Researching market indicators Tensorflow research Tensorflow and general machine learning integration Data formatting to support machine learning attempts Assisted algorithm development from collected data Validation and correction of generated algorithms Cryptocurrency market integration Production and validation of generated algorithms from real-time cryptocurrency market Putting money on the line and verifying results Project documentation Public presentation preparation

Preliminary Project Design We have set some technical limitations on ourselves in order to keep the project focused and on topic. We have decided to focus strongly on C++ and Python for our languages. C++ was chosen due to its power, efficiency, and popularity, both within the group and industry-wide. This is the language we will use for our computationally significant and time-sensitive components. Python will be used in less computational sections of the project on account of its ease of use, as well as its incredible external libraries such as TensorFlow. Note that TensorFlow and many other Python libraries are written in lower level languages and merely expose a Python calling interface. Likewise, we will use PyBind to establish our interoperability between C++ and Python. In particular, we will aim to have much of the trading infrastructure be implemented in C++, and do market/strategy research in Python. For example, we will implement: Market data feeds/api access Trade execution Risk (keeping track of the amount of money exposed to various cryptos, with the ability to override trades from the execution engine if they over-expose us. For example, if two different trading strategies each decide to be long on Ripple, the risk platform might stop the second trade because too much money would be dependent on that asset) In C++. We will aim to implement things like a simulated trading environment, historical backtesting, and database interaction in Python, as it is easier to get up-and-running in Python and those features depend significantly less on low-latency code. In live-trading, our infrastructure will resemble:

In reality, we will likely have different/more exchanges we listen to for marketdata. We will use (at least) two databases, one which records the trades that our system made, and one that records every piece of market data using a uniform format, so we can simulate trading days later. Through live testing, we will determine which exchange has the deepest liquidity for our trades (this is important, as in a low-liquidity exchange, incoming price data might not match outgoing execution prices). Our simulation environment will look nearly identical, with minor changes:

The trading algorithms, risk monitor, and execution engine will be identical to our live environment (the only difference is that will instantiate the execution engine and trading strategies with the testing objects, instead of their live counterparts. Dependency injection allows us to abstract away information about the actual exchanges, and instead only worry about the incoming/outgoing data). We will just be replaying historical market data from the database. We will use a simulated exchange that records things like profit/loss, slippage, Sharpe ratio, and volatility of our profits. The historical testing will be not only for training our ML models, but as to do basic regression analysis. A core trading strategy will also be exploiting correlations in different crypto prices. For example, an early iteration of our code produced this graph (using matplotlib) which shows a price trend within Ethereum and Ripple (adjusted for the scale of the prices):

Which shows the prices are clearly correlated. If we can find a lagging indicator for one of the prices in terms of the other, we can predict price changes and trade accordingly. In addition, we will attempt to support the Linux and macos operating systems. This restriction is not self-imposed, but rather a reflection of our development environments and final production environment. The team is working on a combination of Ubuntu and macos, and we hope to run this software on Amazon Web Services, which supports a variety of Linux distributions. Fortunately, these operating systems are relatively simple to co-develop for on account of their shared heritage and near POSIX compliance. Finally, we are constrained by the libraries available to us. Thankfully, there is a myriad of powerful open source libraries such as TensorFlow that are available to be used freely. Furthermore, there are libraries such as matplotlib and pybind which allow us to streamlight data analytics and interaction between C++ and Python codebases. On the business side, we are constrained by our schedule. The project has predefined deadlines, and we are also limited by the availability of the team members and external time commitments. Together, these set the scope of our project, and disallow us from expanding it any further. Many trading teams take years to set up their core infrastructure and testing/learning environments - clearly, we will not be able to have this much flexibility, so we will have to skip some features. For example, many trading teams have a system which automatically takes the recorded market data from that day of trading, updates their trading models overnight, and then executes the new trading models the next day with no programmer interaction. This frees the developers to work on new strategies. In contrast, we will likely have

to manually re-train our models on new data, and re-deploy the updated strategies to the trading server. Our budget will determine where we are able to run our code, the third party software which we can license, and our ability to trade cryptocurrencies. We hope to acquire the funding to deploy and maintain our project on Amazon Web Services. We will likely be able to rely totally on open source and similarly licensed free software. However, we will need to interface with cryptocurrency exchanges, which typically have fees associated with making a trade. Finally, we will require initial funds in order to purchase cryptocurrency for our program to participate in real trades. In order to save money, we will attempt to tune and train our algorithms throughout development by simulating trades. Using real data, we would record trades the algorithm would make in real-time, but without actually trading. We would then go back over our trades and evaluate how successful the algorithm would have been. This is a significant constraint, because we cannot perfectly simulate how a real trade would play out. We will need to make assumptions on latency, and how our trades would actively affect the exchange, if at all. Ethical and Intellectual Property Issues Ethically, the primary issue of the project relates to its contributions to society as a whole. At its core, the goal of the project is to maximize profitability for the people using the algorithm to trade cryptocurrencies. In this regard, the project will only directly benefit its creators and will have little to no positive effect on the rest of society. Concerns regarding negative effects to society are also present. Simply put, the cryptocurrency market is a competitive environment, and one party cannot move up without another moving down. Some refer to algorithmic trading as a tax on retail investors, as the bots can get the best deals faster than any human ever could. As the project is contained to cryptocurrencies rather than traditional stocks, this issue is less concerning, but it still warrants mention. Ultimately, the potential negative impacts of the project are minimal, while the benefits are potentially very high, if even for only a small group of people, so we believe it is ethical. Intellectual property will be slightly complicated for the project. There are two primary areas that will require care to avoid any infringement. First, the trading algorithm itself will need to be fairly unique. There are numerous sources of trading algorithms for the stock market available online in various developer blogs, research articles, and other media. Most of this material is not obviously licensed in any way, but it is also generally only a high level description of the algorithm or technique. As long as no actual code is reused, use of the ideas available online will be safe. Second, the machine learning algorithms used to train and predict information about trades will be a mix of available tools and original code. Luckily, ML tools such as Scikit and Tensorflow are very generous with their licensing, however, it must be verified that any tools we use allow financial gain from their use. Updated October 22, 2018: Finalized project proposal by adding project budget, work plan, gantt chart, preliminary project design, as well as ethical and intellectual property issues.