CS 7646: Machine Learning for Trading

Course Creator and Instructor

Tucker Balch
Tucker Balch
Creator, Instructor


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, Q-Learning, KNN and regression trees and how to apply them to actual stock trading situations.

This course is composed of three mini-courses:

To find out more about the course, explore the CS 7646 Syllabus


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.


If you answer "no" to the following questions, it may be beneficial to refresh your knowledge of the prerequisite material prior to taking CS 7646:

  • Do you have a working knowledge of basic statistics, including probability distributions (such as normal and uniform), calculation and differences between mean, media, and mode? Do you understand the difference between geometric mean and arithmetic mean?
  • Do you have strong programming skills? Take this quiz if you would like help determining the strength of your programming skills.

Course Preview


Late Policy - For each day late, -5% on the assignment

  • Mini-course 1: Two homework assignments and two programming projects.
  • Mini-course 2: Two homework assignments, two programming projects, and a test.
  • Mini-course 3: Three programming projects and a test.

*Percentage weights for each of these is still being determined.

Required Course Readings

We will use the following textbooks:

  • For Mini-course 1: Python for Finance by Yves Hilpisch
  • For Mini-course 2: What Hedge Funds Really Do by Romero and Balch
  • For Mini-course 3: Machine Learning by Tom Mitchell(see note)

*Note: The Mitchell book is expensive (as of this writing, $212) but it is also required for the OMS ML course. Also, we're working with the publisher to offer a less expensive paperback version.

Minimum Technical Requirements

  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps recommended; at minimum 0.768 Mbps download speed
  • Operating system: - PC: Windows XP or higher with latest updates installed - Mac: OS X 10.6 or higher with latest updates installed - Linux: Any recent distribution that has the supported browsers installed

Other Info

Office Hours

Tuesdays and Thursdays, from 4:30-5:30


All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code.   In most cases I expect that all submitted code will be written by you. I will present some libraries in class that you are allowed to use (such as pandas and numpy). Otherwise, all source code, images and write-ups you provide should have been created by you alone. More detail will be provided in the course syllabus.