Difference between revisions of "CS7646 Fall 2016"

From Quantitative Analysis Software Courses
Jump to navigation Jump to search
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Overview==
+
==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.
+
You are on the page for information specific to the Fall 2016 session of this course.  Go here ([[Machine_Learning_for_Trading_Course]]) for overall course policies.
 
 
This course is composed of three mini-courses:
 
 
 
* Mini-course 1: [[Manipulating Financial Data in Python]]
 
* Mini-course 2: [[Computational Investing]]
 
* Mini-course 3: [[Machine Learning Algorithms for Trading]]
 
 
 
==Instructor information==
 
 
 
[http://www.cc.gatech.edu/~tucker Tucker Balch, Ph.D.] <BR>
 
Professor, Interactive Computing at Georgia Tech<BR>
 
CS 7646 Course Designer<BR>
 
CS 7646 Instructor: Spring 2016, Fall 2016<BR>
 
 
 
David Byrd<BR>
 
Research Scientist, Interactive Media Technology Center at Georgia Tech<BR>
 
CS 7646 Instructor: Summer 2016<BR>
 
CS 7646 Head TA: Spring 2016<BR>
 
  
 
==2016 Fall Schedule==
 
==2016 Fall Schedule==
Line 25: Line 7:
 
*  [[https://docs.google.com/spreadsheets/d/1qRIGCtA4Qa0tXBpid-I2qpcZoF7a_dl6y7ZmccKHGus/pubhtml?gid=0&single=true 2016 Fall Schedule]]
 
*  [[https://docs.google.com/spreadsheets/d/1qRIGCtA4Qa0tXBpid-I2qpcZoF7a_dl6y7ZmccKHGus/pubhtml?gid=0&single=true 2016 Fall Schedule]]
  
==Assignments==
+
==Assignments & Grading==
 
 
* [[http://quantsoftware.gatech.edu/MC1-Project-1 MC1-Project-1: Assess portfolio]]
 
* [[http://quantsoftware.gatech.edu/MC1-Project-2 MC1-Project-2: Optimize a portfolio]]
 
* MC3-Project-1: Implement and assess a regression learner using decision trees and random forests
 
* MC2-Project-1: Build a market simulator
 
* MC2-Homework-1: Create two midterm questions
 
* MC3-Project-2: Implement your own "manual" quant strategy, then do it with decision tree classification, compare
 
* MC3-Project-3: Q-learning maze navigation
 
* MC3-Project-4: Q-learning trader
 
 
 
The projects linked to below are from previous semesters.  We keep them here so you can peek ahead, but please keep in mind that they will be revised.
 
  
* [[http://quantsoftware.gatech.edu/MC2-Project-1 MC2-Project-1: Build a market simulator]]
+
* [[http://quantsoftware.gatech.edu/MC1-Project-1 MC1-Project-1: Assess portfolio]] 4%
* [[http://quantsoftware.gatech.edu/MC2-Project-2 MC2-Project-2: Implement bollinger bands, and create a simple trading strategy]]
+
* [[http://quantsoftware.gatech.edu/MC1-Project-2 MC1-Project-2: Optimize a portfolio]] 5%
* [[http://quantsoftware.gatech.edu/MC2-Homework-1 MC3-Homework-1: Create a Finance midterm question]]
+
* [[http://quantsoftware.gatech.edu/MC3-Project-1 MC3-Project-1: Implement and assess a regression learner using decision trees and random forests]] 15%
 +
* [[http://quantsoftware.gatech.edu/MC2-Homework-1 MC2-Homework-1: Create a Machine Learning midterm question]] 2%
 +
* [[http://quantsoftware.gatech.edu/MC3-Homework-1 MC3-Homework-1: Generate datasets that defeat learners]] 5%
 +
* [[http://quantsoftware.gatech.edu/MC2-Project-1 MC2-Project-1: Build a market simulator]] 15%
 
* [[Midterm Study Guide]]
 
* [[Midterm Study Guide]]
* [[http://quantsoftware.gatech.edu/MC3-Project-1 MC3-Project-1]]
+
* Midterm 15%
* [[http://quantsoftware.gatech.edu/MC3-Project-2 MC3-Project-2]]
+
* [[http://quantsoftware.gatech.edu/MC3-Project-2 MC3-Project-2: Q-learning maze navigation]] 10%
* [[http://quantsoftware.gatech.edu/MC3-Project-3 MC3-Project-3]]
+
* [[http://quantsoftware.gatech.edu/MC3-Project-3 MC3-Project-3: Implement your own "manual" quant strategy, then do it with decision tree classification, compare]] 15%
 
+
* [[http://quantsoftware.gatech.edu/MC3-Project-4 MC3-Project-4: Q-learning trader]] 12% (replacement for Final Exam)
==Textbooks & Other Resources==
 
 
 
We will use the following textbooks:
 
 
 
* For Mini-course 1: Python for Finance by Yves Hilpisch [http://www.amazon.com/gp/product/1491945281/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1491945281&linkCode=as2&tag=teambotsorg&linkId=4PRNWOH623EPCBUP amazon.com] (optional)
 
* For Mini-course 2: What Hedge Funds Really Do by Romero and Balch [http://www.amazon.com/gp/product/1631570897/ref=as_li_tlie=UTF8&camp=1789&creative=9325&creativeASIN=1631570897&linkCode=as2&tag=teambotsorg&linkId=UATR6R7M373DT3A7 amazon.com] (required)
 
* For Mini-course 3: Machine Learning by Tom Mitchell (optional)
 
** Buy it for $218.00 at: [http://www.amazon.com/gp/product/0070428077/ref=as_li_tlie=UTF8&camp=1789&creative=9325&creativeASIN=0070428077&linkCode=as2&tag=teambotsorg&linkId=TMHMI7I43WHC4O3X amazon.com]
 
** Buy a paperback version for $61.78. IMPORTANT WARNINGS: 1) They only ship to the US 2) It takes them 3 weeks to print the book.  If you order from outside the US they will quietly accept your money but never ship the book: [http://shop.mheducation.com/mhshop/productDetails?isbn=1259712346 less expensive version at mcgraw hill]
 
** Buy a paperback international version for $19.10. I am not certain about the reliability of this company: [http://www.abebooks.com/servlet/BookDetailsPL?bi=18281220882&searchurl=x%3D50%26y%3D7%26sts%3Dt%26tn%3DMachine%2520Learning%26an%3DMitchell%252C%2520Tom%26vci%3D59667732 international]
 
 
 
Other resources:
 
 
 
* Pandas documentation: [[http://pandas.pydata.org/pandas-docs/version/0.16.2/index.html pandas.pydata.org]]
 
 
 
==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
+
* Class participation: 2%.   
* 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 environmentsYou 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]]
 
 
 
==Logistics==
 
 
 
* We will use Udacity for lecture videos.
 
** Login here using your GT account: [https://login.gatech.edu/cas/login?service=http%3A%2F%2Fweb.iam.gatech.edu%2Fudacity-login%2F GT-Udacity Login] ([https://www.youtube.com/watch?v=pyqirZW_sT8 instruction video])<br />
 
** Go to the course on Udacity (or navigate through My Courses): https://www.udacity.com/course/viewer#!/c-ud501
 
* We will use T-Square for submission of code and reports: [https://t-square.gatech.edu/portal T-Square] (pick appropriate course site)
 
* We will use Piazza for interaction and discussion: [https://piazza.com/ Fall 2016 Piazza forum]
 
 
 
==Grading==
 
 
 
Weightings (in chronological order):
 
 
 
*MC1-Project-1: 5%
 
*MC1-Project-2: 5%
 
*MC3-Project-1: 15%
 
*MC2-Project-1: 15%
 
*MC2-Homework-1: 5%
 
*MC3-Project-2: 10%
 
*Midterm: 20%
 
*MC3-Project-3: 10%
 
*MC3-Project-4: 10%
 
  
 
Thresholds:
 
Thresholds:
Line 107: Line 31:
 
* F: below 60%
 
* F: below 60%
  
==Minimum technical requirements==
+
The projects linked to below are from previous semesters.  We keep them here so you can peek ahead, but please keep in mind that they will be revised.
  
* 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.
+
* [[http://quantsoftware.gatech.edu/MC2-Project-2 MC2-Project-2: Implement bollinger bands, and create a simple trading strategy]]
 
+
* [[http://quantsoftware.gatech.edu/MC2-Homework-1 MC3-Homework-1: Create a Finance midterm question]]
* Hardware: A computer with at least 4GB of RAM and CPU speed of at least 2.5GHz.
+
* [[http://quantsoftware.gatech.edu/MC3-Project-1 MC3-Project-1]]
 
+
* [[http://quantsoftware.gatech.edu/MC3-Project-2 MC3-Project-2]]
* OS:  
+
* [[http://quantsoftware.gatech.edu/MC3-Project-3 MC3-Project-3]]
** 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.
 
 
 
==Late Policy & Absences==
 
 
 
Assignments are due at 11:55PM Eastern Time on the assignment due date.  Assignments turned in after 11:55PM are considered late.  Assignments may be turned in up to one day late with a 10% penalty.
 
 
 
Exams will be held on specific days at specific times. If there is an emergency or other issue that requires changing the date of an exam for you, you will need to have it approved by the Dean of Students. You can apply for that here:
 
 
 
* http://www.deanofstudents.gatech.edu (under Resources -> Class Absences)
 
 
 
==Legacy==
 
 
 
* Legacy: [[https://docs.google.com/spreadsheets/d/1JlhlQ1D4bmwP6THAcVKGo8PNxWjbUQazFeJl8Mz-ZSw/pubhtml old schedule]]
 

Latest revision as of 21:44, 28 November 2016

Overview

You are on the page for information specific to the Fall 2016 session of this course. Go here (Machine_Learning_for_Trading_Course) for overall course policies.

2016 Fall Schedule

Assignments & Grading

  • Class participation: 2%.

Thresholds:

  • A: 90% and above
  • B: 80% and above
  • C: 70% and above
  • D: 60% and above
  • F: below 60%

The projects linked to below are from previous semesters. We keep them here so you can peek ahead, but please keep in mind that they will be revised.