CS7646 Summer 2019
This page provides information about the Georgia Tech OMS CS7646 class on Machine Learning for Trading relevant only to the Summer 2019 semester. Note that this page is subject to change at any time. The Summer 2019 semester of the OMS CS7646 class will begin on May 13, 2019. 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 2019 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: Udacity Sign-On | Course Materials | Canvas
- Class Pages: CS7646 Home | Summer 2019 Syllabus
- Projects: Project 1 | Project 2 | Project 3 | Project 4 | Project 5 | Project 6 | Project 7 | Project 8
- Surveys: Start-of-Course Survey | Quarter-Course Survey | Mid-Course Survey | End-of-Course Survey
Course Calendar At-A-Glance
Below is the calendar for the Summer 2019 OMS 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. Anything with an asterisk is optional; everything else is required.
|Week #||Week Of||Lessons||Readings/Videos||Assignment||Assignment Due Date|
|Python for Finance Ch. 4*
Python for Finance Ch. 6*
|Python for Finance Ch. 5*||Project 1||05/26/2019|
|Python for Finance Ch. 11*
Machine Learning Ch. 1*
Machine Learning Ch. 8*
Decision Trees 1
Decision Trees 2
Machine Learning Ch. 3*
|Is the stock market rigged?
What Hedge Funds Really Do Ch. 2, 4, 5, & 7
What Hedge Funds Really Do Ch. 8 & 12
|The Big Short
Time Series Data (First 30 Minutes)
|Decision Tree-Based Trading
What Hedge Funds Really Do Ch. 9
Machine Learning Ch. 13*
|10||07/15/2019||Strategies for Q-Learner Trader
- The Big Short - you can find it using netflix, amazon, etc.
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, 12%: Manual Strategy
- Project 7, 10%: Qlearning Robot
- Project 8, 15%: Strategy Learner
Participation is 2% of your average. Participation comes from completing the four course surveys (Start-of-Course, Quarter-Course, Mid-Course, and End-of-Course). Each completed survey will count for 25% of your participation grade (0.5% of your average).
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. 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.
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, your grading TA will generally email you directly, and you should generally email him or her directly as well with questions. We recommend that you do *not* post privately to Piazza in order to communicate with TAs and instructors; email your grading TA first, and escalate to the head TA or instructor if need be. 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 go through the Dean of Students’ office regarding class absences. The Dean of Students is equipped to address emergencies that we lack the resources to address. Additionally, the Dean of Students office can coordinate with you and alert all your classes together instead of requiring you to contact each professor individually. You may find information on contacting the Dean of Students with regard to personal emergencies here: https://gatech-advocate.symplicity.com/care_report/
The Dean of Students is there to be an advocate and partner for you when you’re in a crisis; we wholeheartedly recommend taking advantage of this resource if you are in need. 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. We draw a firm line regarding what collaboration and discussion is permissible in your assignments. Specifically, you must adhere to the following rules:
- For project code, no code should be copied from any other source, including but not limited to the submissions of any former students in the class. Copying code will result in an immediate 0 on the project and its report, if applicable. All submitted code needs to be created by you alone.
- For project reports, any content that is copied or barely paraphrased from existing literature must be cited, both in the references at the conclusion of your assignment and in-line where the borrowed material appears. Failing to provide in-line citations for borrowed material will be regarded as plagiarism even if the source is provided in the references. This applies to figures as well as text, including those figures that are part of this course’s material.
- Do not copy any content from other students in current or previous semesters of this course, or any person that has attempted this course's projects, even if cited.
In all written work, sources should be cited in APA style, both in-line and at the end of the document. Please consult the Purdue OWL for information on when and how to cite sources in research. When in doubt, don’t hesitate to ask!
Any violations of this policy may be subject to the institute’s Academic Integrity procedures, which may include a 0 grade on assignments found to contain violations; additional grade penalties; academic probation or dismissal; and prohibition from withdrawing from the class.
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.