QF301 Advanced Time Series Analytics and Machine Learning
Course Catalog Description
This course introduces the main concepts of data analysis applied to financial problems. The course explores data analysis techniques; multivariate, and factor models applied to risk management, portfolio optimization, forecasting or asset pricing. Students will work with historical databases, conduct their analysis, and test their financial strategies based on the techniques reviewed during the class.
Prerequisites: QF201, and intermediate statistics (MA331 or BT221 or MGT620)
The significant amount of information available in any field requires a systematic and analytical approach to select the most important information and anticipate major events. Machine learning algorithms facilitate this process understanding, modeling and forecasting the behavior of major physical, biological, economics or social variables.
This course introduces advanced time series methods and statistical and graphical (machine learning) models used for inference and prediction in finance. The emphasis of the course is in the learning capability of the algorithms and their application in finance or in marketing related to financial companies.
Relationship of Course to Rest of Curriculum
Students will have the opportunity to formalize the concepts of quantitative finance in machine learning algorithms that can be applied to risk management or trading.
By the end of this course, the students will be able to:
- Learn the fundamental concepts of machine learning algorithms.
- Explore existent and new applications of statistical learning methods such as forecasting or classification.
- Apply advanced time series models and machine learning methods for analysis of financial time series (return and volatility)
- Recognize the value and also the limits of analytical methods in financial machine learning algorithms.
R. S. Tsay, Analysis of Financial Time Series, 3rd Ed, John Wiley, 2010. (Selected chapters. 2nd. Ed. accessed through the library website)
Foster Provost and Tom Fawcett, Data Science for Business, O’Reilly, 2013 (to get a discount on oreilly.com use this code: AUTHD)
Marco López de Prado, Advances in Financial Machine Learning, Wiley, 2018.
Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani, An Introduction to Statistical Learning with Applications in R, Springer, 2013 (link) (ISLR).
The course will have the main project and several assignments of data analysis. The assignments must be submitted electronically through the course website. The main objective of the homeworks is to prepare the students to solve practical problems related to the class content. Their answers will be discussed in the next class after the deadline.
For all the programming homeworks, you should submit two UNCOMPRESSED files: a report and a Python program organized by questions. Please do not copy and paste large parts of the Python program as part of the solutions. Create your tables with the output of your program and EXPLAIN the results. You can also submit a report as a Jupyter notebook saved as an HTML or pdf file. However, you must still submit the Python code file as an independent file.
If you have generated a Jupyter notebook and you want to download the HTML and Python file, you can go to: File --> Download as:
generate a Python file and an HTML or pdf and a python file. These are the two files that you have to submit.
If you want to improve your homework, you can resubmit it until the deadline.
Do not send sections of your code or ask a complex homework question by email. I cannot debug your program or write a long explanation by email. However, you are welcome to ask any questions about the homework or any other issue related to this class during class, after class or during the office hours.
Project: The main objective of the project is to use machine learning methods to optimize an equity portfolio. Groups of three students must develop each project and present the final version of the project at the end of the semester.
Software & Laptop policy: Python is the programming language used in this class. You must install Python 3.6 using the Anaconda distribution
No electronic devices (laptops, tablets, electronic watches, etc.) should be used during the Tuesday session unless indicated by the instructor. You should bring your laptop for the Thursday session.
Grades and Evaluation:
- Assignments: 20%
- Final Project: 35%
- Participation: 5%
- Midterm Exam: 20%
- Final Exam: 20%
Class policy: No late homework will be accepted.
Re-grades: If you dispute the grade received for an assignment, you must submit, in writing, your detailed and clearly stated argument for what you believe is incorrect and why. This must be submitted by the beginning of the next class after the assignment was returned. Requests for re-grade after the beginning of class will not be accepted. A written response will be provided by the next class indicating your final score. Be aware that requests of re-grade of a specific problem can result in a regrading of the entire assignment. This re-grade and written response is final; no additional re-grades or debate for that assignment.