Machine Learning for Trading Course
Contents
Overview
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:
- Mini-course 1: Manipulating Financial Data in Python
- Mini-course 2: Computational Investing
- Mini-course 3: Learning Algorithms for Trading
Textbooks
We will use the following textbooks:
- For Mini-course 1: Python for Finance by Yves Hilpisch [1]
- For Mini-course 2: What Hedge Funds Really Do by Romero and Balch [2]
- For Mini-course 3: Machine Learning by Tom Mitchell [3] (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.
Prerequisites/Co-requisites
All types of students are welcome! The Machine Learning 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, median and mode? * Do you understand the difference between geometric mean and arithmetic mean?
- Do you have strong programming skills? Take this quiz compinvesti-prog-quiz if you would like help determining the strength of your programming skills.
- Who this course is for: The course is intended for people with strong software programming experience and introductory level knowledge of investment practice. A primary prerequisite is an interest and excitement about the stock market.
- Software we'll use: In order to complete the programming assignments you will need to a development environment that you're comfortable with. We use Unix, but you can also work with Windows and Mac OS environments. You must download and install a set of Python modules to your computer (including NumPy, SciPy, and Pandas).
- Software ML4T Software Installation
Instructor information
Announcements
- Piazzalink to piazza