CS7646 Spring 2020
This page provides information about the Georgia Tech CS7646 class on Machine Learning for Trading relevant only to the Spring 2020 semester. Note that this page is subject to change at any time. The Spring 2020 semester of the CS7646 class will begin on January 6th, 2020. Below, find the course’s calendar, grading criteria, and other information. For more complete information about the course’s requirements and learning objectives, please see the general CS7646 page.
Note in the event of conflicts between the Spring 2020 page and the general CS7646 page, this page supercedes the general course page.
To help with navigation, here are some of the links you'll be using frequently in this course:
- Tools: Canvas | Udacity Sign-On | Course Materials
- Class Pages: CS7646 Home | Spring 2020 Syllabus
- Projects: Project 1 | Project 2 | Project 3 | Project 4 | Project 5 | Project 6 | Project 7 | Project 8
- Exams Exam 1 | Exam 2
Course Calendar At-A-Glance
Below is the calendar for the Spring 2020 CS7646 class. Note that assignment due dates are all Sundays at 11:59PM Anywhere on Earth time. All assignments are finalized 3 weeks prior to the listed due date.
Readings come from the three course textbooks listed on the course home page. Online lessons, readings, and videos are required unless marked with an asterisk; asterisk-marked items are optional.
|Week #||Week Of||Online Lessons||Online Readings/Videos||Assignment||Assignment Due Date|
|Python for Finance Ch. 4*
Python for Finance Ch. 6*
|Python for Finance Ch. 5*||Project 1||01/19/2020|
|Python for Finance Ch. 11*
Machine Learning Ch. 1*
Machine Learning Ch. 8*
Decision Trees 1
Decision Trees 2
Machine Learning Ch. 3*
|What Hedge Funds Really Do Ch. 2
What Hedge Funds Really Do Ch. 4
|Is the stock market rigged?
What Hedge Funds Really Do Ch. 5
What Hedge Funds Really Do Ch. 7
What Hedge Funds Really Do Ch. 8
What Hedge Funds Really Do Ch. 12
|Exam 1||Exam window: 02/24 - 03/01/2020|
|9||03/02/2020||The Big Short (Also on other streaming services)
Time Series Data (First 30 Minutes)
|Decision Tree-Based Trading - 1
Decision Tree-Based Trading - 2
What Hedge Funds Really Do Ch. 9
Machine Learning Ch. 13*
|12||03/23/2020||03-07||Strategies for Q-Learner Trader||Project 7||03/29/2020|
Interview with Tammer Kamel (Canvas)
|16||04/20/2020||Exam 2||Exam window: 04/20 - 04/26/2020|
Your grade in this class is derived from three categories: eight Projects, two Exams, and Participation.
Final grades will be calculated as an average of all individual grade components, weighted according to the percentages below. Students receiving a final average of 90.0 or above will receive an A; of 80.0 to 89.9 will receive a B; of 70.0 to 79.9 will receive a C; of 60.0 to 69.9 will receive a D; and of below 60 will receive an F. We do not plan to have a curve.
There are eight projects in this class. All together, the projects account for 73% of your final grade. The projects are not all equal in scope or difficulty, and thus they do not all count evenly. The projects are:
- Project 1, 3%: Martingale
- Project 2, 3%: Optimize Something
- Project 3, 15%: Assess Learners
- Project 4, 5%: Defeat Learners
- Project 5, 10%: Marketsim
- Project 6, 7%: Indicator Evaluation
- Project 7, 10%: Qlearning Robot
- Project 8, 20%: Strategy Evaluation
There are two exams, each worth 12.5% of your average. Exam 2 is not cumulative; it only covers material after Exam 1. Exams are closed-book, closed-note (you may not consult any resources), up to 30 questions and 35 minute time limit. Exams will be delivered via Proctortrack. You are encouraged to peruse materials from previous semesters to prepare for the exams, including the Exam 1 Study Guide, Exam 2 Study Guide, and Practice Exam.
Exams will be delivered via Canvas and Proctortrack. Any material in the lecture videos or in the non-optional items listed under Readings/Videos until the week of the exam is eligible for inclusion on the exams.
Participation is 2% of your average. All participation activities will be shared as part of the Participation section of assignments in Canvas. Complete all of these by the due dates shown in Canvas to fulfill your participation credit.
Extra Credit (Optional): 2%
This is completely optional and will not count against your grade, whether you attempt it or not.
- Extra Credit Project, 2%: Holy Hand Grenade of Antioch
The following policies are binding for this course.
Official Course Communication
You are responsible for knowing the following information:
- Anything posted to this syllabus (including the pages linked from here, such as the general course landing page).
- Anything emailed directly to you by the teaching team (including announcements via Piazza), 24 hours after receiving such an email.
Because Piazza announcements are emailed to you as well, you need only to check your Georgia Tech email once every 24 hours to remain up-to-date on new information during the semester. Georgia Tech generally recommends students to check their Georgia Tech email once every 24 hours. So, if an announcement or message is time sensitive, you will not be responsible for the contents of the announcement until 24 hours after it has been sent.
We generally prefer to handle class-wide communication via Piazza, but for individual grade-specific communication, (we will update this and send an announcement out before the first project grades are released on the new communication workflow) Slack is a wonderful tool, but is not officially monitored: stick to email and Piazza for official questions and answers.
Note that this means you won’t be responsible for knowing information communicated in several other methods we’ll be using. You aren’t responsible for knowing anything posted to Piazza that isn’t linked from an official announcement. You aren’t responsible for anything said in Slack or other third-party sites we may sometimes use to communicate with students. You don’t need to worry about missing critical information so long as you keep up with your email and understand the documents on this web site. This also applies in reverse: we do not monitor our Canvas message boxes. If you need to get in touch with the course staff, please email the instructor/TAs in question.
The provided Georgia Tech servers (Buffet servers) are to be used for testing all submitted code (except Project 1). If your code fails to run on the provided servers, you will get a 0 on the assignment and its report. For any grade-specific issues, the first question we ask is if you tested on a Buffet server prior to the assignment due date. If you have not, we cannot proceed further on your behalf. Be sure as well to keep the tested code in Buffet to ensure code integrity. Any issues that could have been discovered with proper Buffet submissions cannot be used as valid arguments in any grade reviews.
Most of our teaching assistants will hold weekly office hours using Hangouts, Webex, or another teleconferencing tool. Office hours are not recorded, and are intended for more individually-focused help and conversations. If anything comes up in office hours that is relevant to the entire class, it will be shared via Piazza.
A schedule of office hours will be made available via Piazza early in the semester.
Running such a large class involves a complex grading workflow. As such, work that does not enter into that workflow presents a major delay. Thus, we cannot accept any late work in this class. All assignments must be submitted by the posted deadlines. We have made the descriptions of all assignments available on the first day of class so that if there are expected interruptions (business trips, family vacations, etc.), you can complete the work ahead of time.
If you have technical difficulties submitting the assignment to Canvas, email your assignment to your grader immediately. They will generally instruct you to resubmit to Canvas once able, but this will provide a timestamp on your submission.
If you have an emergency and absolutely cannot submit an assignment by the posted deadlines, we ask you to make a private Piazza post to ALL instructors with information about your extension request for a justifiable excuse.
Justifiable excuses here would involve any major unforeseen disruption to your classwork, such as illnesses, injuries, deaths, and births, all for either you or your family. Note that for foreseen but unavoidable conflicts, like weddings, business trips, and conferences, you should complete your work in advance; this is why we have made sure to provide all assignment and project resources in advance. If you have such a conflict specifically with the tests, let us know and we’ll try to work with you.
All students in the class are expected to know and abide by the Georgia Tech Academic Honor Code. Specifically for us, the following academic honesty policies are binding for this class:
- In written essays, all sources are expected to be cited according to APA style, both in-line with quotation marks and at the end of the document. You should consult the Purdue OWL Research and Citation Resources for proper citation practices, especially the following pages: Quoting, Paraphrasing, and Summarizing, Paraphrasing, Avoiding Plagiarism Overview, Is It Plagiarism?, and Safe Practices. You should also consult our dedicated pages on how to use citations and how to avoid plagiarism.
- Any non-original figures must similarly be cited. If you borrow an existing figure and modify it, you must still cite the original figure. It must be obvious what portion of your submission is your own creation.
- In written essays, you may not copy any content from any current or previous student in this class, regardless of whether you cite it or not.
- You may not copy any code from any other source, including but not limited to repositories on the internet and former students in the class. Every line of code you submit should be your own work. Any code copying will result in an automatic 0 on the project and a report to the Office of Student Integrity.
- During exams, you are prohibited from consulting outside material, interacting directly with any other person (except for the teaching staff) on the topic of the exam, or any other behaviors that could be used to gain an unfair advantage.
Note, however, when seeking help from the TAs via office hours or the course forum, you may assume that a TA will not share too much information. If a TA gives you a line of code, for example, you may use it.
These policies, including the rules on all pages linked in this section, are binding for the class. Any violations of this policy will be subject to the institute's Academic Integrity procedures, which may include a 0 grade on assignments found to contain violations; additional grade penalties; and academic probation or dismissal.
Note that if you are accused of academic misconduct, you are not permitted to withdraw from the class until the accusation is resolved; if you are found to have participated in misconduct, you will not be allowed to withdraw for the duration of the semester. If you do so anyway, you will be forcibly re-enrolled without any opportunity to make up work you may have missed while illegally withdrawn.
Every semester, we make changes and tweaks to the course formula. As a result, every semester we try some new things, and some of these things may not work. We ask your patience and support as we figure things out, and in return, we promise that we, too, will be fair and understanding, especially with anything that might impact your grade or performance in the class. Second, we want to consistently get feedback on how we can improve and expand the course for future iterations. You can take advantage of the feedback box on Piazza (especially if you want to gather input from others in the class), give us feedback on the surveys, or contact us directly via private Piazza messages.