Difference between revisions of "CS7646 Spring 2020"

From Quantitative Analysis Software Courses
Jump to navigation Jump to search
 
(11 intermediate revisions by one other user not shown)
Line 9: Line 9:
 
* Tools: [http://canvas.gatech.edu/ Canvas] | [https://auth.udacity.com/sign-in Udacity Sign-On] | [http://classroom.udacity.com/courses/ud501 Course Materials]
 
* Tools: [http://canvas.gatech.edu/ Canvas] | [https://auth.udacity.com/sign-in Udacity Sign-On] | [http://classroom.udacity.com/courses/ud501 Course Materials]
 
* Class Pages: [http://quantsoftware.gatech.edu/Machine_Learning_for_Trading_Course CS7646 Home] | [http://quantsoftware.gatech.edu/CS7646_Spring_2020 Spring 2020 Syllabus]
 
* Class Pages: [http://quantsoftware.gatech.edu/Machine_Learning_for_Trading_Course CS7646 Home] | [http://quantsoftware.gatech.edu/CS7646_Spring_2020 Spring 2020 Syllabus]
* Projects: [[Spring 2020 Project 1: Martingale | Project 1]] | [[Spring 2020 Project 2: Optimize Something | Project 2]] | [[Spring 2020 Project 3: Assess Learners | Project 3]] | [[Spring 2020 Project 4: Defeat Learners | Project 4]] | [[Spring 2020 Project 5: Marketsim | Project 5]] | [[Spring 2020 Project 6: Manual Strategy | Project 6]] | [[Spring 2020 Project 7: Qlearning Robot | Project 7]] | [[Spring 2020 Project 8: Strategy Learner | Project 8]]
+
* Projects: [[Spring 2020 Project 1: Martingale | Project 1]] | [[Spring 2020 Project 2: Optimize Something | Project 2]] | [[Spring 2020 Project 3: Assess Learners | Project 3]] | [[Spring 2020 Project 4: Defeat Learners | Project 4]] | [[Spring 2020 Project 5: Marketsim | Project 5]] | [[Spring 2020 Project 6: Indicator Evaluation | Project 6]] | [[Spring 2020 Project 7: Qlearning Robot | Project 7]] | [[Spring 2020 Project 8: Strategy Evaluation | Project 8]]
 +
* Exams [[Spring 2020 Exam 1 | Exam 1]] | [[Spring 2020 Exam 2 | Exam 2]]
  
 
== Course Calendar At-A-Glance ==
 
== Course Calendar At-A-Glance ==
Line 87: Line 88:
 
     <td>02-07<br>02-08<br></td>
 
     <td>02-07<br>02-08<br></td>
 
     <td>[https://www.youtube.com/watch?v=1ysZptg2Ypk Market Simulator]<br>What Hedge Funds Really Do Ch. 8<br>What Hedge Funds Really Do Ch. 12<br></td>
 
     <td>[https://www.youtube.com/watch?v=1ysZptg2Ypk Market Simulator]<br>What Hedge Funds Really Do Ch. 8<br>What Hedge Funds Really Do Ch. 12<br></td>
     <td>Exam 1</td>
+
     <td> [[Spring 2020 Exam 1 | Exam 1]]</td>
     <td>Exam window: 10/07 - 10/13/2019</td>
+
     <td>Exam window: 02/24 - 03/01/2020</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 103: Line 104:
 
     <td>02-09<br>02-10<br></td>
 
     <td>02-09<br>02-10<br></td>
 
     <td>[https://www.youtube.com/watch?v=dbSbYHECGoA Decision Tree-Based Trading - 1]<br>[https://www.youtube.com/watch?v=2e2Yr-Bpo-w Decision Tree-Based Trading - 2]<br>What Hedge Funds Really Do Ch. 9<br></td>
 
     <td>[https://www.youtube.com/watch?v=dbSbYHECGoA Decision Tree-Based Trading - 1]<br>[https://www.youtube.com/watch?v=2e2Yr-Bpo-w Decision Tree-Based Trading - 2]<br>What Hedge Funds Really Do Ch. 9<br></td>
     <td>[[Spring 2020 Project 6: Manual Strategy | Project 6]]</td>
+
     <td>[[Spring 2020 Project 6: Indicator Evaluation | Project 6]]</td>
 
     <td>03/15/2020</td>
 
     <td>03/15/2020</td>
 
   </tr>
 
   </tr>
Line 119: Line 120:
 
     <td>03-07</td>
 
     <td>03-07</td>
 
     <td>[https://www.youtube.com/watch?v=K8xRATOpsqw Strategies for Q-Learner Trader]</td>
 
     <td>[https://www.youtube.com/watch?v=K8xRATOpsqw Strategies for Q-Learner Trader]</td>
     <td>[[Holy Hand Grenade of Antioch | Extra Credit]]<br>[[Spring 2020 Project 7: Qlearning Robot | Project 7]]</td>
+
     <td>[[Spring 2020 Project 7: Qlearning Robot | Project 7]]</td>
 
     <td>03/29/2020</td>
 
     <td>03/29/2020</td>
 
   </tr>
 
   </tr>
Line 127: Line 128:
 
     <td></td>
 
     <td></td>
 
     <td></td>
 
     <td></td>
     <td></td>
+
     <td>[[Holy Hand Grenade of Antioch | Extra Credit]]</td>
     <td>--</td>
+
     <td>04/01/2020</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 143: Line 144:
 
     <td></td>
 
     <td></td>
 
     <td>[https://www.youtube.com/watch?v=5ompRHd0P68&feature=youtu.be Options Trading]<br/>Interview with Tammer Kamel (Canvas)</td>
 
     <td>[https://www.youtube.com/watch?v=5ompRHd0P68&feature=youtu.be Options Trading]<br/>Interview with Tammer Kamel (Canvas)</td>
     <td>[[Spring 2020 Project 8: Strategy Learner | Project 8]]</td>
+
     <td>[[Spring 2020 Project 8: Strategy Evaluation | Project 8]]</td>
 
     <td>04/19/2020</td>
 
     <td>04/19/2020</td>
 
   </tr>
 
   </tr>
Line 151: Line 152:
 
     <td></td>
 
     <td></td>
 
     <td></td>
 
     <td></td>
     <td>Exam 2</td>
+
     <td>[[Spring 2020 Exam 2 | Exam 2]]</td>
     <td>Exam window: 12/02 - 12/08/2019</td>
+
     <td>Exam window: 04/20 - 04/26/2020</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 179: Line 180:
 
* [[Spring 2020 Project 4: Defeat Learners | Project 4]], 5%: Defeat Learners
 
* [[Spring 2020 Project 4: Defeat Learners | Project 4]], 5%: Defeat Learners
 
* [[Spring 2020 Project 5: Marketsim | Project 5]], 10%: Marketsim
 
* [[Spring 2020 Project 5: Marketsim | Project 5]], 10%: Marketsim
* [[Spring 2020 Project 6: Manual Strategy | Project 6]], 7%: ------------
+
* [[Spring 2020 Project 6: Indicator Evaluation | Project 6]], 7%: Indicator Evaluation
 
* [[Spring 2020 Project 7: Qlearning Robot | Project 7]], 10%: Qlearning Robot
 
* [[Spring 2020 Project 7: Qlearning Robot | Project 7]], 10%: Qlearning Robot
* [[Spring 2020 Project 8: Strategy Learner | Project 8]], 20%: ----------
+
* [[Spring 2020 Project 8: Strategy Evaluation | Project 8]], 20%: Strategy Evaluation
 +
 
 +
=== Exams: 25% ===
  
=== Participation: 2% ===
+
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 [http://quantsoftware.gatech.edu/Midterm_Study_Guide Exam 1 Study Guide], [http://quantsoftware.gatech.edu/Exam_2_Study_Guide Exam 2 Study Guide], and [http://quantsoftware.gatech.edu/File:Participation-exam-Qs.pdf Practice Exam].
  
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.
+
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.
  
=== Exams: 25% ===
+
* [[Spring 2020 Exam 1 | Exam 1]]
 +
* [[Spring 2020 Exam 2 | Exam 2]]
  
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.  You are encouraged to peruse materials from previous semesters to prepare for the exams, including the [http://quantsoftware.gatech.edu/Midterm_Study_Guide Exam 1 Study Guide], [http://quantsoftware.gatech.edu/Exam_2_Study_Guide Exam 2 Study Guide], and [http://quantsoftware.gatech.edu/File:Participation-exam-Qs.pdf Practice Exam].
+
=== Participation: 2% ===
  
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% ===
 
=== Extra Credit (Optional): 2% ===
Line 210: Line 214:
 
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.
 
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.
+
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.
 
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.
Line 230: Line 234:
 
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 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/
+
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.
  
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.
+
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.
  
 
=== Academic Honesty ===
 
=== Academic Honesty ===

Latest revision as of 11:34, 15 March 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.

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 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
1 01/06/2020 01-01
01-02
01-03
01-04
Python for Finance Ch. 4*
Python for Finance Ch. 6*
--
2 01/13/2020 01-05
01-06
01-07
01-08
Python for Finance Ch. 5* Project 1 01/19/2020
3 01/20/2020 01-09
03-01
03-02
Python for Finance Ch. 11*
Machine Learning Ch. 1*
Machine Learning Ch. 8*
Project 2 01/26/2020
4 01/27/2020 03-03
03-04
Suntrust Visit*
Decision Trees 1
Decision Trees 2
Machine Learning Ch. 3*
--
5 02/03/2020 02-01
02-02
What Hedge Funds Really Do Ch. 2
What Hedge Funds Really Do Ch. 4
Project 3 02/09/2020
6 02/10/2020 02-03
02-04
Is the stock market rigged?
What Hedge Funds Really Do Ch. 5
What Hedge Funds Really Do Ch. 7
--
7 02/17/2020 02-05
02-06
Project 4 02/23/2020
8 02/24/2020 02-07
02-08
Market Simulator
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)
Technical Trading
Project 5 03/08/2020
10 03/09/2020 02-09
02-10
Decision Tree-Based Trading - 1
Decision Tree-Based Trading - 2
What Hedge Funds Really Do Ch. 9
Project 6 03/15/2020
11 03/16/2020 03-05
03-06
Navigation Project
Machine Learning Ch. 13*
--
12 03/23/2020 03-07 Strategies for Q-Learner Trader Project 7 03/29/2020
13 03/30/2020 Extra Credit 04/01/2020
14 04/06/2020 --
15 04/13/2020 Options Trading
Interview with Tammer Kamel (Canvas)
Project 8 04/19/2020
16 04/20/2020 Exam 2 Exam window: 04/20 - 04/26/2020
17 04/27/2020 CIOS Survey 05/03/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.

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.

Feedback

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.