You are here

Critical Line Algorithm: The Efficient frontier under Linear Constraints

Master's Thesis
Corporate Partner: 
OLZ & Partners Asset and Liability Management AG
Date Published: 
March 30, 2017
Modern Portfolio Theory (MPT) is based on Harry Markowitz’s (1952) work on mean-variance portfolios. Since the publication of his study, portfolio optimization has become one of the most critical operations performed in investment management. It is one of the problems that is encountered by financial practitioners on a regular basis as it appears in numerous forms with regard to risk management, trading, and capital allocation. In Markowitz’s (1952) famous paper, he explains that a rational investor should either maximize his or her expected return for a given level of risk, or minimize his or her risk for a given expected return. Both principles lead to the efficient frontier of portfolios, between which the investor is free to choose. There is no analytic solution to the problem of optimizing a portfolio subject to given constraints. But Markowitz developed an optimization algorithm for computing such a solution, called the “Critical Line Algorithm” (CLA) (Markowitz, 1956 and 1959). It is the only algorithm that is explicitly designed to solve inequality-constrained portfolio optimization problems and thereby guarantees that it finds the exact solution after a certain number of iterations. The portfolio optimization problem is a well-examined topic that has been the subject of various books, articles, and short studies. However, there are only few open-source implementations of CLA available in a scientific language. As Bailey and Lopez de Prado (2013) point out, most financial practitioners still rely on generic-purpose optimizers, often delivering suboptimal solutions. Hence, they provide an implementation of the CLA in Python in order to fill the gap with regard to the lack of open-source solutions. This thesis studies the algorithm of Bailey and Lopez de Prado (2013) and provides an implementation in another widely used open-source language, R. The first section of the thesis introduces the portfolio optimization problem and provides insight into how the expected return and risk of a portfolio of assets is computed, given the attributes of the individual assets. The effects of diversification are also illustrated on a two-asset portfolio, and the mathematical framework of the mean-variance portfolio problem is explained. A detailed, step-by-step introduction to the implementation of the algorithm in R is given in the second section. The third studies various numerical experiments, particularly the analysis of a higher number of assets within a portfolio optimization problem as well as the performance and limitations of the algorithm. The final part, Section 4, concludes.