I completed the Machine Learning for Trading (CS 7647-O01) course during the Summer of 2018. This was a fun and light course.
The course was divided into 3 mini-courses:
- Mini-course 1: Manipulating Financial Data in Python
- Mini-course 2: Computational Investing
- Mini-course 3: Machine Learning Algorithms for Trading
The first part of the course was mainly about getting familiar with Numpy and Pandas. The key take-away was how small differences (optimizations) in how you handle large arrays using Numpy can lead to substantial performance gains.
For me, the second part was the most enlightening. It introduced the various concepts within the Stock market. This was something I’ve always wanted to and in-fact have been learning on an ad-hoc need-to-know basis from Wikipedia, Investopedia etc. However, I’ve always wanted a more formal and comprehensive introduction to these concepts. Some of the ones discussed include:
- Going long or short with shares
- Capital Assets Pricing Model (CAPM)
- Efficient Markets Hypothesis
- The Fundamental Law of active portfolio management
- Arbitrage Pricing Theory
- Technical analysis (Bollinger Bands, Sharpe ratio etc.)
The third part was about using different ML techniques (supervised – Regression, Decision Trees, unsupervised – Q-learning etc) to predict future stock prices based on past data. I was familiar with most of these techniques from previous AI/ML courses I had taken. However, using those with time-series data in this setup was something new.
There were five (4 proper and 1 intro) projects in this course and 2 closed-book exams. The professor also recommended some good/interesting external resources for students to understand the stock market better. The movie The Big Short was even part of the syllabus. The course was well-paced and well organized. My ratings:
- Difficulty: 2.5/5
- Rating: 4/5