Course Syllabus

MAFS5310 - Portfolio Optimization with R

MSc in Financial Mathematics

Fall 2021-22, 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: 25%
Class participation: 10% (class attendance or Zoom video on)
Weekly portfolio game (in R):   40%
Final lightening presentation: 25% 

Course Schedule

Date Week Topic
7-Sep     1 Theory: Introduction to convex optimization
Practice: R for finance primer
14-Sep     2 Theory: Convex optimization problems
Practice: Solvers in R
21-Sep     3 Portfolio optimization
28-Sep     4 Backtesting portfolios
Data cleaning
5-Oct     5 Prior information: Shrinkage and Black-Litterman
12-Oct     6 Robust estimators under heavy tails and outliers
19-Oct     7 Robust portfolio optimization
26-Oct     8 Portfolio optimization with alternative risk measures
2-Nov   9 Risk parity portfolio
9-Nov   10 Index tracking of financial markets
16-Nov 11 Time series modeling of financial data
23-Nov 12 Pairs trading
30-Nov   13 Project presentations by students

Lecture Information

Lecture Time: Tue 19:30 – 22:20

Lecture Venue: LTF and online via Zoom

Teaching Team

Instructor: Prof. Daniel P. PALOMAR (


Office: 2398 (Lifts 17/18)

Office hours: By email appointment

TAs: Rui ZHOU ( and Ze Vinicius (

Course Summary:

Date Details Due