A Fast Implementation of Markowitz's Critical Line Algorithm

This repository provides a fast implementation of Markowitz's Critical Line Algorithm
in Fortran with bindings in Matlab and Python. See the README files in "src" for a
description of its usage and compatibility information. The directory "packages"
contains packages with binaries for Matlab and Python.

The details of the algorithm are described in detail in
Niedermayer, Andras and Niedermayer, Daniel (2010): Applying Markowitz's Critical Line
Algorithm, Handbook of Portfolio Construction, Handbook of Portfolio Construction,
pp. 383-400 link

See also the the working paper version.

Note that currently the Matlab bindings are for Matlab version up to 7.0 on Windows
(32 bit) and need to be adapted in order to be used with newer versions of Matlab.
The files turningpoints.f90 and mexf90.f90 contain tricks to generate Matlab MEX
files, which only work on 32 bit systems. If you want to use the software on
64 bit systems, you will have to adapt these files.