ELEC/ IEDA 3180 – Data-Driven Portfolio Optimization
Spring 2020-21, HKUST
Modern portfolio theory started with Harry Markowitz’s 1952 seminal paper “Portfolio Selection,” for which he would later receive the Nobel prize in 1990. He put forth the idea that risk-adverse investors should optimize their portfolio based on a combination of two objectives: expected return and risk. Until today, that idea has remained central in portfolio optimization. However, the vanilla Markowitz portfolio formulation does not seem to behave as expected in practice and most practitioners tend to avoid it.
During the past half century, researchers and practitioners have reconsidered the Markowitz portfolio formulation and have proposed countless of improvements and alternatives such as robust optimization methods, alternative measures of risk, regularization via sparsity, improved estimators of the covariance matrix, robust estimators for heavy tails, factor models, volatility clustering models, risk-parity formulations, index tracking, etc.
This course will explore the Markowitz portfolio optimization in its many variations and extensions, with special emphasis on Python programming. All the course material will be complemented with Python code that will be studied in class. The homework and project will be in Python.
- Yiyong Feng and Daniel P. Palomar, A Signal Processing Perspective on Financial Engineering. Foundations and Trends® in Signal Processing, Now Publishers, 2016. [pdf]
- Konstantinos Benidis, Yiyong Feng, and Daniel P. Palomar, Optimization Methods for Financial Index Tracking: From Theory to Practice. Foundations and Trends® in Optimization, Now Publishers, 2018. [pdf]
- Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004. [pdf]
- G. Cornuejols and R. Tutuncu, Optimization Methods in Finance. Cambridge Univ. Press, 2007.
- F. J. Fabozzi, P. N. Kolm, D. A. Pachamanova, and S. M. Focardi, Robust Portfolio Optimization and Management. Wiley, 2007.
Good knowledge of linear algebra (MATH2111 or MATH2121 or MATH2131 or MATH2350), probability (IEDA2510 or IEDA2520 or IEDA2540 or ELEC2600), and some programming knowledge in Python or R.
|Final lightening presentation:||15%|
|3-Feb||1||Theory: Introduction to convex optimization|
|5-Feb||2||Practice: Python for finance primer|
|10-Feb||3||Theory: Convex optimization problems|
|17-Feb||4||Practice: Solvers in Python|
|19-Feb||5||Financial data modeling: i.i.d. case|
|10-Mar||10||Data cleaning: data munging, missing values, and outliers|
|17-Mar||12||Financial data modeling: time series|
|24-Mar||- Midterm -|
|9-Apr||16||Algorithms: Majorization-Minimization (MM) and Successive Convex Approximation (SCA)|
|14-Apr||17||Risk parity portfolio via Newton, BCD, and SCA|
|21-Apr||19||Index tracking of financial markets via MM|
|23-Apr||20||Portfolio optimization with alternative risk measures|
|30-Apr||22||Special topics: Kalman Filtering in Finance|
|5-May||Project presentations by students|
|7-May||Project presentations by students|
Lecture Time: Wed & Fri, 4:30pm - 5:50pm
Lecture Venue: Rm2407 and online via Zoom
Instructor: Prof. Daniel P. PALOMAR (https://www.danielppalomar.com)
Office: 2398 (Lifts 17/18)
Office hours: By email appointment
TA: Shengjie XIU (email@example.com)
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.