MAFS6010R - Portfolio Optimization with R
MSc in Financial Mathematics - MAFM
The Hong Kong University of Science and Technology (HKUST), Fall 2019-20
Prof. Daniel P. Palomar
Prof. Daniel P. Palomar
Description
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 variations, namely, robust optimization methods, alternative measures of risk (e.g., CVaR or ES), regularization via sparsity, improved estimators of the covariance matrix via random matrix theory, robust estimators for heavy tails, factor models, mean models, volatility clustering models, risk-parity formulations, etc.
This course will explore the Markowitz portfolio optimization in its many variations and extensions, with special emphasis on R programming. Each week will be devoted to a specific topic, during which the theory will be first presented, followed by an exposition of a practical implementation based on R programming.
During the past half century, researchers and practitioners have reconsidered the Markowitz portfolio formulation and have proposed countless of improvements and variations, namely, robust optimization methods, alternative measures of risk (e.g., CVaR or ES), regularization via sparsity, improved estimators of the covariance matrix via random matrix theory, robust estimators for heavy tails, factor models, mean models, volatility clustering models, risk-parity formulations, etc.
This course will explore the Markowitz portfolio optimization in its many variations and extensions, with special emphasis on R programming. Each week will be devoted to a specific topic, during which the theory will be first presented, followed by an exposition of a practical implementation based on R programming.
Textbooks
- Yiyong Feng and Daniel P. Palomar, A Signal Processing Perspective on Financial Engineering, Foundations and Trends® in Signal Processing, Now Publishers, 2016. [pdf]
- S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004.
- 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.
Lectures
Course syllabus.
Week 1 (10-Sep-2019):
Theory: Introduction to convex optimization
Practice: R for finance primer
Week 2 (17-Sep-2019):
Theory: Convex optimization problems
Practice: Solvers in R
Week 3 (24-Sep-2019):
Slides: portfolio optimization
Portfolio game Round 1: portfolio game with backtest based on the R package portfolioBacktest
Week 4 (Sat 28-Sep-2019):
Data cleaning: slides
Factor models: slides (extended slides), R session.
Software: R package fitHeavyTail
Portfolio game - Round 2
Week 5 (15-Oct-2019):
Theory: Prior information: Shrinkage and Black-Litterman
Practice: Prior information: Shrinkage and Black-Litterman with R
Portfolio game - Round 3
Week 6 (22-Oct-2019):
Theory: Regularized robust estimators under heavy tails and outliers
Practice: Heavy-tailed estimators with R
Software: R package fitHeavyTail
Portfolio game - Round 4
Week 7 (29-Oct-2019):
Slides: Robust portfolio optimization
Portfolio game - Round 5
Week 8 (10am-1pm 19-Nov, Rm1409):
Slides: Portfolio design with alternative risk measures
Portfolio game - Round 6
Week 9 (7-10pm 19-Nov, Rm1409):
Slides: Risk parity portfolio
Software: R package riskParityPortfolio
Portfolio game - Round 7
Week 10 (10am-1pm 20-Nov, Rm2303):
Slides: Index tracking
Software: R package sparseIndexTracking
Week 11 (10am-1pm 26-Nov, Rm1409):
Theory: Time series modeling of financial data
Practice: Time series modeling of financial data with R
Week 1 (10-Sep-2019):
Theory: Introduction to convex optimization
Practice: R for finance primer
Week 2 (17-Sep-2019):
Theory: Convex optimization problems
Practice: Solvers in R
Week 3 (24-Sep-2019):
Slides: portfolio optimization
Portfolio game Round 1: portfolio game with backtest based on the R package portfolioBacktest
Week 4 (Sat 28-Sep-2019):
Data cleaning: slides
Factor models: slides (extended slides), R session.
Software: R package fitHeavyTail
Portfolio game - Round 2
Week 5 (15-Oct-2019):
Theory: Prior information: Shrinkage and Black-Litterman
Practice: Prior information: Shrinkage and Black-Litterman with R
Portfolio game - Round 3
Week 6 (22-Oct-2019):
Theory: Regularized robust estimators under heavy tails and outliers
Practice: Heavy-tailed estimators with R
Software: R package fitHeavyTail
Portfolio game - Round 4
Week 7 (29-Oct-2019):
Slides: Robust portfolio optimization
Portfolio game - Round 5
Week 8 (10am-1pm 19-Nov, Rm1409):
Slides: Portfolio design with alternative risk measures
Portfolio game - Round 6
Week 9 (7-10pm 19-Nov, Rm1409):
Slides: Risk parity portfolio
Software: R package riskParityPortfolio
Portfolio game - Round 7
Week 10 (10am-1pm 20-Nov, Rm2303):
Slides: Index tracking
Software: R package sparseIndexTracking
Week 11 (10am-1pm 26-Nov, Rm1409):
Theory: Time series modeling of financial data
Practice: Time series modeling of financial data with R