CS7646 Summer 2020

This page provides information about the Georgia Tech CS7646 class on Machine Learning for Trading relevant only to the Summer 2020 semester. Note that this page is subject to change at any time. The Summer 2020 semester of the CS7646 class will begin on May 11th, 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 Summer 2020 page and the general CS7646 page, this page supercedes the general course page.

Quick Links

To help with navigation, here are some of the links you’ll be using frequently in this course:

Course Calendar At-A-Glance

Below is the calendar for the Summer 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 OfLessonsReadings/VideosAssignmentAssignment Due Date
Python for Finance Ch. 4*
Python for Finance Ch. 6*
Start-of-Course Survey05/17/2020
Python for Finance Ch. 5*Project 105/24/2020
Python for Finance Ch. 11*
Machine Learning Ch. 1*
Machine Learning Ch. 8*
Project 205/31/2020
Suntrust Visit*
Decision Trees 1
Decision Trees 2
Machine Learning Ch. 3*
Project 306/07/2020
Is the stock market rigged?
What Hedge Funds Really Do Ch. 2, 4, 5, & 7
Project 4
Quarter-Course Survey
Market Simulator
What Hedge Funds Really Do Ch. 8 & 12
Exam 106/21/2020
The Big Short
Time Series Data (First 30 Minutes)
Technical Trading
Project 506/28/2020
Decision Tree-Based Trading I
Decision Tree-Based Trading II
What Hedge Funds Really Do Ch. 9
Project 607/05/2020
907/06/202003-07Navigation Project
Machine Learning Ch. 13*
Project 7
Mid-Course Survey
Extra Credit
1007/13/2020Strategies for Q-Learner Trader
Options Trading
Project 807/19/2020
1107/20/2020Exam 207/26/2020
1207/27/2020End-of-Course Survey08/02/2020

Course Assessments

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.

Projects: 73%

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:

Exams: 25%

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: 2%

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.

Course Policies

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.

Testing Environment

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.

Office Hours

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.

Late Work

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.

Assignment Follow-Up

The Assignment Follow-Up page outlines the full details and directions for requesting clarification or regrade on your assignment. Ensure that you have reviewed it and are adhering to the guidelines when presenting a request.

Academic Honesty

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.