Coder Social home page Coder Social logo

olps's Introduction

OLPS

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.

QUICK START

  • OLPS_gui.m run the OLPS toolbox in the GUI mode (recommended, available only in Matlab). Online video is available at https://www.youtube.com/watch?v=XJPeaiVhEg0.

  • 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)

REFERENCES

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.

INSTALLATION

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

  • 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.

ENVIRONMENT

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.

DOCUMENTATIONS

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

FOLDERS

./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.

CONTACT

Dr. Steven Hoi

E-mail: [email protected] School of Information Systems Singapore Management University 80 Stamford Road Singapore 178902

Dr. Bin LI

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

MORE INFO

OLPS project website: http://OLPS.stevenhoi.org/

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

olps's People

Contributors

binliwhu avatar doyensahoo avatar stevenhoi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

olps's Issues

error when running olps

Hi there,

I am trying to run the current version of OLPS on a Max OS X 10.10.2 PC with GNU Octave 3.8.0. Currently I get an error when I try run the OLPS_cli script. Here is the error:

octave:2> cd OLPS/
octave:3> OLPS_cli.m 
----Begin ubah on djia-----
-------------------------------------
Market(tc=0.0000), Cumulative return: 0.76
-------------------------------------
----End ubah on djia-----
error: save: unable to open output file '../Log/Mat/ubah-djia-2015-0220-11-27.mat'
error: called from:
error:   /Users/mmayo/OLPS/Strategy/manager.m at line 105, column 5
error:   /Users/mmayo/OLPS/OLPS_cli.m at line 36, column 1
octave:3> 

Thanks
Mike

Adding New Data Sets

In the OLPS toolbox manual, in the "Adding new Dataset" Section it is written: "A dataset is in the form of price relative vectors of various assets. The t th row represents the price relative of all the assets at time t. The user just has to save the new price relative matrix in the Data folder"
How I can calculate price relative vectors. What is the mathematical formula to calculate it?

Implement WMAMR

Hi!

I cannot find the WMAMR implementation in OLPS, I recon it is just a slight change of PAMR. I Think it got it right myself, but I can't really replicate the values from the WMAMR paper. Something seems off.

Not working with Matlab 2017b

Hi,

The program seem not to work correctly with Matlab 2017b.
In GUI the add data is showing nothing, in the experimenter there are no algorithms.
I suppose this is only in the newer versions, I am downloading an earlier version to test.

I could use the pgui for adding data if it werent for the 'windowrisk' issue (see other issue)

2016 Matlab version not supported OLPS

I have install 2016 version of MATLAB, but when i run and want to add my data file in configuration setting . the option of Data-"Add data" are shown disable. So, i can not add my data file for algorithm analysis. I did not face this problem in 2008 or 2013 version. Is their any solution for 2016 version? I attached the file for convenience
configuratiion.docx

'windowRisk' not found

When trying to add data, it says 'windowRisk' is not found.

Error using save
Variable 'windowRisk' not found.

This is through pgui.m, because the gui doesn't show add data at all (see other issue)

Code change to lessen computation time

I've noticed that the code in PAMR, and other strategies that are only using a one or a small amount of previous data, is still reading all data in the weight method.

    [day_weight] = pamr_kernel(data(1:t-1, :), day_weight, eta);

Which take all rows between the first and t-1th. This is alright for the smaller data-sets, but for the larger NYSE dataset, lot's of time can be saved.

I see no reason why the code couldn't be

    [day_weight] = pamr_kernel(data(t-1, :), day_weight, eta);

reading an Array of m objects, instead of n*m. I also can't see this effecting any other calculation.

Similar things can be done for CWMR and Olmar if I am not mistaken, but there utilize the windowsize to determine how many objects to copy.

When running NYSE on my computer I went from 9 seconds to 3 seconds in computational time with this change, and getting the same results.

Implementation of Anticor-1 algorithm

It is not possible to reproduce ANTI-1 results from the original article A. Borodin et all "Borodin, A., El-aniv, R., & Gogan, V. (2004). Can We Learn to Beat the Best Stock. Journal of Artificial Intelligence Research, 21(1), 579โ€“594. Retrieved from http://eprints.pascal-network.org/archive/00000229/" using algorithm Anticor-1 in OLPS.
In particular Figure 2 (d) in the aforementioned article shows results of ANTI-1 on DJIA dataset. OLPS instead gives the following revenues for the first 10 windows:
2 - 0.96, 3 - 1.29, 4 - 1.37, 5 - 1.56, 6 - 1.59 7 - 1.58, 8 - 1.51, 9 - 1.50 , 10 - 1.51. These are obviously different from the article.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.