Online Portfolio Selection toolbox
Clone or download
binliwhu Added a new strategy
Robust Median Reversion strategy, from dingjiang huang, bin li, and
steven hoi, etc.
Latest commit 9120783 Jul 13, 2015
Failed to load latest commit information.
Data OLPS Jan 29, 2015
Documentation updated the documents Jun 22, 2015
GUI Added a new strategy Jul 13, 2015
Log Update .gitclone Jun 22, 2015
PGUI Minor bug fix (Octave compatibility) Jun 23, 2015
Strategy Added a new strategy Jul 13, 2015
CREDITS.txt OLPS Jan 29, 2015
LICENSE OLPS Jan 29, 2015
NOTICE.txt OLPS Jan 29, 2015
OLPS_cli.m PGUI + Config Manager Jun 15, 2015
OLPS_gui.m OLPS Jan 30, 2015
OLPS_pgui.m PGUI + Config Manager Jun 15, 2015 Update Jun 22, 2015


OLPS is an open-source toolbox for On-Line Portfolio Selection, which includes a collection of classical and state-of-the-art on-line portofolio selection strategies implemented in Matlab/Octave.


  • OLPS_gui.m run the OLPS toolbox in the GUI mode (recommended, available only in Matlab). Online video is available at

  • OLPS_pgui.m run the OLPS toolbox in the Pseudo GUI Mode (PGUI) (for both Matlab and octave)

  • OLPS_cli.m run the OLPS toolbox in the Command Line Interface (CLI) (recommended for developers, for both Matlab and octave)


This toolbox includes software developed at the SMU for the following papers:

  • Bin Li, Doyen Sahoo, and Steven C.H. Hoi. (2015) "OLPS: A Toolbox for On-Line Portfolio Selection." Singapore Management University.

  • Bin Li and Steven C.H. Hoi. (2014) "Online portfolio selection: A Survey." ACM Computing Surveys (CSUR), 46(35), 35:1--35:36.

Please cite the works above for any software or research article that utilizes contributions of this work.

Please let us know how you use OLPS, and help us develop a better toolbox if possible.


  • We can download or clone the latest version of OLPS from the project website at \url{}.

  • Unzip the file you just downloaded and copy the OLPS directory to a location,e.g.,/my-directory/

  • Run Matlab/Ocatve, Go to /my-directory/OLPS/ at the command prompt

  • run 'OLPS_gui' (Matlab) or 'OLPS_pgui' (Matlab/Ocatve) or 'OLPS_cli' (Matlab/Ocatve)

Let us know if there is any error when running the above.


The toolbox has been tested in Matlab 2012b (64-bit and 32-bit) under three major OS: Windows 7/8 (64-bit and 32-bit), Linux (Red-Hat Enterprise Linux) (64-bit and 32-bit) and Mac OS X. The toolbox is also compatable for Octave (version 3.8.0) in the Pseudo GUI (PGUI) and Command Line Interface (CLI) under three major OS: Windows 7, Linux (64-bit and 32-bit), and Mac OS X.


Detailed documentations can be found in the "Documentation" folder.


./Data: the data set files stored in "*.mat" format.

./Documentation: all related documentations.

./GUI: The Graphical User Interface for the toolbox

./PGUI: The Pseudo Graphical User Interface for the toolbox

./Strategy: all the strategies in this toolbox.

./Log: experimental details of any strategy on any data set.


Dr. Steven Hoi

E-mail: School of Information Systems Singapore Management University 80 Stamford Road Singapore 178902

Dr. Bin LI

E-mail: Economics and Management School Wuhan University Wuhan, P.R. China 430072


OLPS project website:

This version: OLPS 1.1.0, released June 20, 2015.