Course Review: CS 7646 Machine Learning For Trading at Georgia Tech

I’ve completed the 5th course in Georgia Tech OMSCS (Online Master of Science in Computer Science) program! I’m going to write the course review while it’s still fresh in my memory.

1. CS7646 Machine Learning for Trading (ML4T)

CS7646: ML4T is lectured by Professor Tucker Balch.

The course has 3 sections. It starts from the basics to manipulate the stock data, and finally optimize the portfolio using various optimizers including Decision Tree and the Q-Learning.

  • Python for Finance
    • Pandas, Numpy, etc
    • Statistical Analysis of time series data
    • Incomplete data
    • Sharpe Ratio, and other portfolio statistics
    • Optimizers: Building a parameterized model, Optimize a portfolio
  • Market Knowledge
    • Market Mechanics
    • CAPM (Capital Assets Pricing Model)
    • Technical Analysis
    • Efficient Market Hypothesis
    • The Fundamental Law of active portfolio management
    • Portfolio optimization and the efficient frontier
  • How ML is used for stock trading
    • Regression
    • Ensemble Learners, Bagging and Boosting
    • Reinforcement Learning
    • Q-Learning
    • Dyna Q-Learning

This course focuses on the application of Machine Learning to stock trading. But, I’d say it is a more introductory course than CS7641: Machine Learning.

2. Assignments & Exams

It has a total of 8 assignments (!) and 2 exams (Midterm and Final). Yes, 8 assignments! I took this class in summer, which was only 2 and a half months (= about 10 weeks). As a result, I had deadlines almost every week except for the exam week.

So it’s like I had to complete the assignment every weekend. There’s no time to take a rest…

Having said that, half of the assignments are relatively easy to finish. Some require writing a report, that took time for me.

Exams are quite straightforward. You watch all lectures and understand the concepts, then you can earn a good score in the exams. It is not difficult to gain more than 90% for both the midterm and final exams.

3. Pros / Cons

Pros:

  • Study about market mechanics, portfolio optimization.
  • Can know what hedge funds do, think.
  • How we can apply ML algorithms to stock trading.
  • Good lectures, and manageable volume.
  • Well-managed by TAs.
  • Assignments rubrics are clearly described. Also testable on the given environment.

Cons:

  • Need to study the market. (if you’re not interested)
  • It weights on the practical side of ML algorithms. (not on the theoretical side)

4. Wrap Up

I’d recommend this course if you’re interested in how machine learnings are used at a hedge fund. You can study how you can apply ML algorithms to stock trading through the assignments.

The key to apply ML algorithms was a discretization of the actions (such as short, long, cash) and states. To make the right decision, it is also quite important to provide good indicators such as Bollinger Band Value, MACD, volatility, etc. (It’s your choice) It was very interesting to implement and train the ML algorithm to behave better, and finally, it performs better than the benchmark.

In case you’re taking this course in Summer (like me), I would highly recommend starting the assignments as soon as possible. Since it has assignment deadlines every week, it is better to have a buffer. I tried to complete the homework one week ahead of the deadline and it helped a lot.

Eventually, I could earn the grade A. I made some mistakes in one assignment and received a lower grade, but I could recover the overall score by completing the other assignments :) I hope this course review helps someone! Thanks!

by @takp