Difference between revisions of "Machine Learning for Trading Course"

From Quantitative Analysis Software Courses
Jump to navigation Jump to search
Line 74: Line 74:
  
 
[[2015 Schedule]]
 
[[2015 Schedule]]
 
 
==Week 1==
 
 
Week of August 17
 
 
Tuesday
 
* Class overview
 
 
Thursday
 
* MC1 Lesson 1
 
 
==Week 2==
 
 
Week of August 24
 
 
Tuesday
 
*MC1 Lesson 2
 
 
Thursday
 
*MC1 Lesson 3
 
 
==Week 3==
 
 
Week of August 31
 
 
Tuesday
 
*MC1 Lesson 5
 
 
Thursday
 
*Workshop: Installing Python and Pandas
 
 
==Week 4==
 
 
Week of September 7
 
 
Monday
 
*Labor Day
 
 
Tuesday
 
*MC1 Lesson 6
 
 
Thursday
 
*MC1 Lesson 7
 
 
==Week 5==
 
 
Week of September 14
 
 
Tuesday
 
*MC1 Lesson 8
 
*MC1 Lesson 9
 
 
Thursday
 
*Workshop: Optimizing portfolios
 
 
==Week 6==
 
 
Week of September 21
 
 
Tuesday
 
*MC2 Lesson 1
 
*MC2 Lesson 2
 
 
Thursday
 
*Workshop: Building a market simulator
 
 
==Week 7==
 
 
Week of September 28
 
 
Tuesday
 
*MC2 Lesson 3
 
 
Thursday
 
*MC2 Lesson 4
 
*MC2 Lesson 5
 
 
==Week 8==
 
 
Week of October 5
 
 
Tuesday
 
*MC2 Lesson 6
 
*Cramer video
 
 
Thursday
 
*MC2 Lesson 7
 
 
==Week 9==
 
 
Week of October 12
 
 
Tuesday
 
*No class, fall break
 
 
Thursday
 
*Workshop: Building a strategy with indicators
 
 
==Week 10==
 
 
Week of October 19
 
 
Tuesday
 
*MC2 Lesson 8
 
*MC2 Lesson 9
 
 
Thursday
 
*MC2 Lesson 10
 
*Balch on travel
 
 
Sunday
 
*Last day to drop with grade of W
 
 
==Week 11==
 
 
Week of October 26
 
 
Tuesday
 
*Midterm Exam
 
 
Thursday
 
 
==Week 12==
 
 
Week of November 2
 
 
Tuesday
 
 
Thursday
 
 
==Week 13==
 
 
Week of November 9
 
 
Tuesday
 
 
Thursday
 
 
==Week 14==
 
 
Week of November 16
 
 
Tuesday
 
 
Thursday
 
 
==Week 15==
 
 
Week of November 23
 
 
Tuesday
 
 
Thursday
 
*Thanksgiving break: No class
 
 
==Week 16==
 
 
Week of November 30
 
 
Tuesday
 
 
Thursday
 
 
Friday
 
*Last day of classes
 
 
==Week 17==
 
 
Final exam week
 

Revision as of 16:10, 7 August 2015

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:

Textbooks

We will use the following textbooks:

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).

How to install the software: ML4T Software Installation

Grading

  • 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

Readings will be assigned from the textbooks listed above.

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.
  • Hardware: A computer with at least 4GB of RAM and CPU speed of at least 2.5GHz.
  • OS:
    • 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

Office hours

To be determined.

Plagiarism

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.

Instructor information

"Tucker Balch"

Announcements

  • Piazzalink to piazza

2015 Schedule

2015 Schedule