Post

CS 7646: Machine Learning for Trading

Review and Retrospective

CS 7646: Machine Learning for Trading

Disclaimer
The views and opinions expressed in this post are solely my own and do not reflect those of Georgia Tech, the OMSCS program, or any affiliated instructors, TAs, or staff.


Instructor: Tucker Balch & David Joyner
Semester: Spring 2023
Overall Rating: 7.3/10 👍


Pros

  • Clear rubric and generous project weighting (71 % of the grade) lets you recover from weak exam scores
  • Hands‑on, autograded projects
  • Plentiful TA office hours

Cons

  • Lectures use some dated libraries (e.g., Q‑learning code in Python 2 style), requiring refactors
  • Autograder is unforgiving

🕒 Time Commitment

Plan on 15 – 25 hours per week. The early projects are manageable, but workload spikes with Projects 7–8 and exam prep.


📝 Grade Breakdown

ComponentWeightDetails
Projects (8 total)71%P1: Martingale (3%)
  P2:  Optimize (3%)
  P3:  Assess Learners (15%)
  P4:  Defeat Learners (5%)
  P5:  Marketsim (8%)
  P6:  Indicator Evaluation (7%)
  P7:  Q‑Learning Robot (10%)
  P8:  Strategy Evaluation (20%)
Exams (2)25%12.5% each, proctored via Honorlock
Quizzes (~10)2%Weekly multiple‑choice mini‑quizzes
Course Surveys2%Start, mid, and end‑of‑course

✍️ Assignments

P1 Martingale
Simulate a gambler’s ruin strategy.

P2 Optimize Something
Find the max‑Sharpe allocation.

P3 Assess Learners
Evaluate KNN vs. decision trees on price data.

P4 Defeat Learners
Craft an adaptive benchmark to break weak models.

P5 Marketsim
Build a vectorized back‑tester.

P6 Indicator Evaluation
Author and rank technical indicators.

P7 Q‑Learning Robot
Train an RL agent to trade.

P8 Strategy Evaluation
End‑to‑end strategy, report, and video demo.


📖 Exams

Two closed‑book exams delivered via Canvas + Honorlock. Questions are a mix of multiple‑choice and short problems; key formulas must be memorized.


🗂 Final Project

Project 8 (20%) is the finale. In this project you create and defend a full trading strategy.


📚 Course Content

Mini‑CourseFocusRepresentative Topics
Manipulating Financial Data in PythonData wranglingPandas, NumPy, vectorization
Computational InvestingPortfolio theoryTechnical indicators, marketsim
Machine Learning Algorithms for TradingML & RLRegression trees, ensemble learning, Q‑learning

💬 Participation & Interaction

TA office hours rotate across time zones. Peer code snippets are banned expect conceptual help only.


💭 Final Thoughts

Projects are Python heavy and leverage basic libraries for data manipulation such as Pandas and Numpy. If you want a showcase of ML + finance concepts, the eight‑projects and lectures provide a solid introduction.

This post is licensed under CC BY 4.0 by the author.