tno.quantum.problems.portfolio_optimization

Python code that converts the multi-objective portfolio optimization problem into a QUBO problem.

https://github.com/tno-quantum/problems.portfolio_optimization

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: mdpi.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary

Keywords

portfolio-optimization quantum-computing
Last synced: 6 months ago · JSON representation ·

Repository

Python code that converts the multi-objective portfolio optimization problem into a QUBO problem.

Basic Info
Statistics
  • Stars: 9
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
portfolio-optimization quantum-computing
Created almost 2 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Citation

README.md

Portfolio optimization

Real-world investment decisions involve multiple, often conflicting, objectives that needs to be balanced. Primary goals typically revolve around maximizing returns while minimizing risks. At the same time, one might want to require additional constraints such as demanding a minimum carbon footprint reduction. Finding a portfolio that balances these objectives is a challenging task and can be solved using multi-objective portfolio optimization.

This repository provides Python code that converts the multi-objective portfolio optimization problem into a QUBO problem. The transformed problem can then be solved using quantum annealing techniques.

The following objectives can be considered

Additionally, we allow for a capital growth factor and arbitrary emission reduction constraints to be considered.

The Pareto front, the set of solutions where one objective can't be improved without worsening the other objective, can be computed for the objectives return on capital and diversification.

The codebase is based on the following paper:

Funding: This research was funded by Rabobank and Stichting TKI High Tech Systems and Materials, under a program by Brightland's Techruption.

Documentation

Documentation of the tno.quantum.problems.portfolio_optimization package can be found here.

Install

Easily install the tno.quantum.problems.portfolio_optimization package using pip:

console $ python -m pip install tno.quantum.problems.portfolio_optimization

If you wish to run the tests you can use: console $ python -m pip install tno.quantum.problems.portfolio_optimization[tests]

Usage examples can be found in the documentation.

Data input

The data used for the portfolio optimization can be imported via an excel file, csv file, json file or as a Pandas DataFrame. The data needs to contain at least the following columns:

  • asset: The name of the asset.
  • outstanding_now: Current outstanding amount per asset.
  • min_outstanding_future: Lower bound outstanding amount in the future per asset.
  • max_outstanding_future: Upper bound outstanding amount in the future per asset.
  • income_now: Current income per asset, corresponds to return multiplied by the current outstanding amount.
  • regcap_now: Current regulatory capital per asset.

If the input datafile contains all the correct information, but has different column names, it is possible to rename the columns without altering the input file.

The data that was used for the publication can be found in the src/tno/quantum/problems/portfolio_optimization/datasets/ folder.

(End)use limitations

The content of this software may solely be used for applications that comply with international export control laws.

Owner

  • Name: TNO - Quantum
  • Login: TNO-Quantum
  • Kind: organization
  • Email: tnoquantum@tno.nl
  • Location: Netherlands

Citation (CITATION.cff)

cff-version: 1.2.0
license: Apache-2.0
message: If you use this software, please cite it using these metadata.
authors:
      - name: TNO Quantum
        city: The Hague
        country: NL
        email: tnoquantum@tno.nl
        website: https://tno.nl
type: software
url: https://tno.nl
contact:
      - name: TNO Quantum
        city: The Hague
        country: NL
        email: tnoquantum@tno.nl
        website: https://tno.nl
repository-code: https://github.com/TNO-Quantum/problems.portfolio_optimization
repository-artifact: https://pypi.org/project/tno.quantum.problems.portfolio_optimization
title: TNO Quantum - Problems - Portfolio Optimization
version: v2.0.0
date-released: 2024-05-01

GitHub Events

Total
  • Release event: 2
  • Watch event: 2
  • Push event: 2
  • Create event: 2
Last Year
  • Release event: 2
  • Watch event: 2
  • Push event: 2
  • Create event: 2

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 21 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: tno.quantum.problems.portfolio_optimization

Quantum Computing based Portfolio Optimization

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 21 Last month
Rankings
Dependent packages count: 9.1%
Average: 44.9%
Dependent repos count: 51.5%
Downloads: 73.9%
Maintainers (1)
Last synced: 6 months ago