Open AccessThis article is
- freely available
An Open-Source Implementation of the Critical-Line Algorithm for Portfolio Optimization
Lawrence Berkeley National Laboratory, 1 Cyclotron Road, Berkeley, CA 94720, USA
Department of Computer Science, University of California, Davis, CA 95616, USA
Hess Energy Trading Company, 1185 Avenue of the Americas, New York, NY 10036, USA
* Author to whom correspondence should be addressed.
Received: 29 January 2013; in revised form: 8 March 2013 / Accepted: 18 March 2013 / Published: 22 March 2013
Abstract: Portfolio optimization is one of the problems most frequently encountered by financial practitioners. The main goal of this paper is to fill a gap in the literature by providing a well-documented, step-by-step open-source implementation of Critical Line Algorithm (CLA) in scientific language. The code is implemented as a Python class object, which allows it to be imported like any other Python module, and integrated seamlessly with pre-existing code. We discuss the logic behind CLA following the algorithm’s decision flow. In addition, we developed several utilities that support finding answers to recurrent practical problems. We believe this publication will offer a better alternative to financial practitioners, many of whom are currently relying on generic-purpose optimizers which often deliver suboptimal solutions. The source code discussed in this paper can be downloaded at the authors’ websites (see Appendix).
Keywords: portfolio selection; quadratic programming; portfolio optimization; constrained efficient frontier; turning point; Kuhn-Tucker conditions; risk aversion
Citations to this Article
Cite This Article
MDPI and ACS Style
Bailey, D.H.; López de Prado, M. An Open-Source Implementation of the Critical-Line Algorithm for Portfolio Optimization. Algorithms 2013, 6, 169-196.
Bailey DH, López de Prado M. An Open-Source Implementation of the Critical-Line Algorithm for Portfolio Optimization. Algorithms. 2013; 6(1):169-196.
Bailey, David H.; López de Prado, Marcos. 2013. "An Open-Source Implementation of the Critical-Line Algorithm for Portfolio Optimization." Algorithms 6, no. 1: 169-196.