Course Syllabus

MAFS6010R - Portfolio Optimization with R

MSc in Financial Mathematics

Fall 2019-20, 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 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.


  • Yiyong Feng and Daniel P. Palomar, A Signal Processing Perspective on Financial Engineering. Foundations and Trends® in Signal Processing, Now Publishers, 2016. [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 and some programming knowledge in R (or similar). Willingness to spend countless of hours programming in R.


Homework: 30%
Weekly portfolio game (in R):   40%
Final lightening presentation: 30% 

Course Schedule

Date Week Lect Topic
10-Sep     1    1 Theory: Introduction to convex optimization
   2 Practice: R for finance primer
17-Sep     2    3 Theory: Convex optimization problems
   4 Practice: Solvers in R
24-Sep     3    5 Portfolio optimization
   6       (cont’d)
Sat 28-Sep     4    7 Data cleaning
   8 Factor models for asset returns
Sat 5-Oct     5    9 Prior information: Shrinkage and Black-Litterman
 10       (cont’d)
8-Oct     6  11 Regularized robust estimators under heavy tails and outliers
 12       (cont’d)
15-Oct     7  13 Time series modeling of financial data
 14       (cont’d)
22-Oct     8  15 Robust portfolio optimization
 16       (cont’d)
29-Oct     9  17 Portfolio optimization with alternative risk measures
 18       (cont’d)
12-Nov   10  19 Risk parity portfolio
 20       (cont’d)
19-Nov   11  21 Index tracking of financial markets
 22       (cont’d)
26-Nov   12  23 Project presentations by students

Lecture Information

Lecture Time: Tue 19:30 – 22:20

Lecture Venue: LTE

Teaching Team

Instructor: Prof. Daniel P. PALOMAR (


Office: 2398 (Lifts 17/18)

Office hours: By email appointment

TAs: Rui ZHOU ( and Sandeep KUMAR (

Course Summary:

Date Details