Fortgeschrittene

Approx. 4 months

Assumes 6hrs/wk (work at your own pace)

Built by
Join thousands of students

Start Free Course

Start Free Course
Free
You get
Instructor videos
Learn by doing exercises and view PROJEKT instructions

Course Summary

This course introduces students to the real world challenges of implementing machine learning based trading strategies including the algorithmic steps from information gathering to market orders. The focus is on how to apply probabilistic machine learning approaches to trading decisions. We consider statistical approaches like linear regression, KNN and regression trees and how to apply them to actual stock trading situations.

Why Take This Course?

By the end of this course, you should be able to:

  • Understand data structures used for algorithmic trading.
  • Know how to construct software to access live equity data, assess it, and make trading decisions.
  • Understand 3 popular machine learning algorithms and how to apply them to trading problems.
  • Understand how to assess a machine learning algorithm's performance for time series data (stock price data).
  • Know how and why data mining (machine learning) techniques fail.
  • Construct a stock trading software system that uses current daily data.

Some limitations/constraints:

  • We use daily data. This is not an HFT course, but many of the concepts here are relevant.
  • We don't interact (trade) directly with the market, but we will generate equity allocations that you could trade if you wanted to.

Prerequisites and Requirements

Students should have strong coding skills and some familiarity with equity markets. No finance or machine learning experience is assumed.

Note that this course serves students focusing on computer science, as well as students in other majors such as industrial systems engineering, management, or math who have different experiences. All types of students are welcome!

The ML topics might be "review" for CS students, while finance parts will be review for finance students. However, even if you have experience in these topics, you will find that we consider them in a different way than you might have seen before, in particular with an eye towards implementation for trading.

Programming will primarily be in Python. We will make heavy use of numerical computing libraries like NumPy and Pandas.

See the Technology Requirements for using Udacity.

What Will I Learn?

Projects

P5: Capstone Project

In this capstone project, you will leverage what you’ve learned throughout the Nanodegree program to solve a problem of your choice by applying machine learning algorithms and techniques. You will first define the problem you want to solve and investigate potential solutions and performance metrics. Next, you will analyze the problem through visualizations and data exploration to have a better understanding of what algorithms and features are appropriate for solving it.

You will then implement your algorithms and metrics of choice, documenting the preprocessing, refinement, and postprocessing steps along the way. Afterwards, you will collect results about the performance of the models used, visualize significant quantities, and validate/justify these values. Finally, you will construct conclusions about your results, and discuss whether your implementation adequately solves the problem.

Syllabus

This course is composed of three mini-courses:

  • Mini-course 1: Manipulating Financial Data in Python
  • Mini-course 2: Computational Investing
  • Mini-course 3: Machine Learning Algorithms for Trading

Each mini-course consists of about 7-10 short lessons. Assignments and projects are interleaved.

Fall 2015 OMS students: There will be two tests - one midterm after mini-course 2, and one final exam.

Instructors & Partners

instructor photo

Tucker Balch

Tucker is a former USAF F-15 pilot and current professor of Interactive Computing at the Georgia Institute of Technology. Dr. Balch’s research centers on Machine Learning. He teaches courses in multi-robot systems, Artificial Intelligence and Finance. Balch has published over 120 research publications. His work has been covered by CNN, Institutional Investor, the Wall Street Journal and the New York Times. Balch earned a Bachelor’s degree at Georgia Tech, a Master’s degree at UC Davis, and a Ph.D. at Georgia Tech. His graduated students work at NASA JPL, CMU, Uber, Goldman Sachs, Morgan Stanley, Citadel, AQR, and Yahoo! Finance.

instructor photo

Arpan Chakraborty

Arpan likes to find computing solutions to everyday problems. He is interested in human-computer interaction, robotics and cognitive science. He obtained his PhD from North Carolina State University, focusing on biologically-inspired computer vision. At Udacity, he spends a good chunk of time designing interactive exercises for his courses, besides working on pet projects to improve or automate workflow.