Skip to main content

A plug-and-play Python library for data-driven OLPS research

Project description

FinOL: Towards Open Benchmarking for Data-Driven Online Portfolio Selection

 

Python 3.9 Platform License PyPI Downloads Discord


FinOL represents a pioneering open database for facilitating data-driven financial research. As an ambitious project, it collects and organizes extensive assets from global markets over half a century, it provides a long-awaited unified platform to advance data-driven OLPS research.

:star: What's NEW!

Update Status
Release FinOL v0.0.1 Released v0.0.1 on 17 March 2024

Outline

About

Online portfolio selection (OLPS) is an important issue in operations research community that studies how to dynamically adjust portfolios according to market changes. In the past, OLPS research relied on a general database called OLPS containing price relatives data of financial assets across different markets. However, with the widespread adoption of data-driven technologies like machine learning in finance, OLPS can no longer meet the needs of OLPS research due to the lack of support for high-dimensional feature spaces. To solve this problem, we propose FinOL, an open financial platform for advancing research in data-driven OLPS. FinOL expands and enriches the previous OLPS database, containing 9 benchmark financial datasets from 1962 to present across global markets. To promote fair comparisons, we evaluate a large number of past classic OLPS methods on FinOL, providing reusable benchmark results for future FinOL users and effectively supporting OLPS research. More importantly, to lower the barriers to research, FinOL provides a complete data-training-testing suite with just three lines of command. We are also committed to regularly updating FinOL with new data and benchmark results reflecting the latest developments and trends in the field. This ensures FinOL remains a valuable resource as data-driven OLPS methods continue evolving.

Overall Framework of FinOL

Why should I use FinOL?

  1. FinOL contributes comprehensive datasets spanning diverse market conditions and asset classes to enable large-scale empirical validation;
  2. FinOL contributes the most extensive benchmark results to date for portfolio selection methods, providing the academic community an unbiased performance assessment;
  3. FinOL contributes a user-friendly Python library for data-driven OLPS research, providing a comprehensive toolkit for academics to develop, test, and validate new OLPS methods.

Installation

Installing via PIP

FinOL is available on PyPI, therefore you can install the latest released version with:

> pip install finol -t your_own_dir

Installing from source

To install the bleeding edge version, clone this repository with:

> git clone https://github.com/FinOL/finol

Examples and Tutorials

You can find useful tutorials on how to use FinOL in the tutorials folder.

Here we show a simple application (taken from tutorial_2): we transform asset "AA" into a richer representation.

Visualization of Train Normalization Data for Asset "AA"

Using FinOL

To lower the barriers for the research community, FinOL provides a complete data-training-testing suite with just three lines of command.

from finol.data_layer.data_loader import *
from finol.optimization_layer.model_trainer import *
from finol.evaluation_layer.model_evaluator import *


load_dataset_output = load_dataset()
train_model_output = train_model(load_dataset_output)
evaluate_model_output = evaluate_model(load_dataset_output, train_model_output)

Contact Us

For inquiries, please get in touch with us at finol.official@gmail.com (Monday to Friday, 9:00 AM to 6:00 PM)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

finol-0.0.5.tar.gz (1.8 MB view details)

Uploaded Source

File details

Details for the file finol-0.0.5.tar.gz.

File metadata

  • Download URL: finol-0.0.5.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for finol-0.0.5.tar.gz
Algorithm Hash digest
SHA256 e4a3d7a82181486713e512a9ff1c7afdc37d6c88d2cd6f3c16987fde3b66d2a0
MD5 0590193ff527e79d04949128893e40d6
BLAKE2b-256 49a1d784b5ade76011da17e069e2c7b8a18f137eb4271b69fd3ff24d7c0dfc60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page