Metadata-Version: 2.1
Name: cvar-optimization-benchmarks
Version: 0.1.1
Summary: Conditional Value-at-Risk (CVaR) portfolio optimization benchmark problems in Python.
Home-page: https://fortitudo.tech
License: GPL-3.0-or-later
Keywords: CVaR,Efficient Frontier,Entropy Pooling,Quantitative Finance,Portfolio Optimization
Author: Fortitudo Technologies
Author-email: software@fortitudo.tech
Requires-Python: >=3.9,<3.14
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Dist: fortitudo-tech (>=1.1.11,<2.0.0)
Requires-Dist: notebook
Project-URL: Documentation, https://os.fortitudo.tech
Project-URL: Issues, https://github.com/fortitudo-tech/cvar-optimization-benchmarks/issues
Project-URL: Repository, https://github.com/fortitudo-tech/cvar-optimization-benchmarks
Description-Content-Type: text/markdown

# CVaR optimization benchmark problems
This repository contains Conditional Value-at-Risk (CVaR) portfolio optimization benchmark
problems for fully general Monte Carlo distributions and derivatives portfolios.

The starting point is the [next-generation investment framework's market representation](https://youtu.be/4ESigySdGf8?si=yWYuP9te1K1RBU7j&t=46)
given by the matrix $R\in \mathbb{R}^{S\times I}$ and associated joint scenario probability
vectors $p,q\in \mathbb{R}^{S}$.

The [1_CVaROptBenchmarks notebook](https://github.com/fortitudo-tech/cvar-optimization-benchmarks/blob/main/1_CVaROptBenchmarks.ipynb)
illustrates how the benchmark problems can be solved using Fortitudo Technologies' Investment
Analysis module.

The [2_OptimizationExample notebook](https://github.com/fortitudo-tech/cvar-optimization-benchmarks/blob/main/2_OptimizationExample.ipynb)
shows how you can replicate the results using the [fortitudo.tech open-source Python package](https://github.com/fortitudo-tech/fortitudo.tech)
for the efficient frontier optimizations of long-only cash portfolios, which are the easiest problems to solve.

## Installation Instructions
It is recommended to install the code dependencies in a 
[conda environment](https://conda.io/projects/conda/en/latest/user-guide/concepts/environments.html):

    conda create -n cvar-optimization-benchmarks python=3.13
    conda activate cvar-optimization-benchmarks
    pip install cvar-optimization-benchmarks

After this, you should be able to run the code in the [2_OptimizationExample notebook](https://github.com/fortitudo-tech/cvar-optimization-benchmarks/blob/main/2_OptimizationExample.ipynb).

The code in [1_CVaROptBenchmarks notebook](https://github.com/fortitudo-tech/cvar-optimization-benchmarks/blob/main/1_CVaROptBenchmarks.ipynb)
can only be run by people who subscribe to the Investment Analysis module.

## Portfolio Construction and Risk Management book
You can read much more about the [next-generation investment framework](https://antonvorobets.substack.com/p/anton-vorobets-next-generation-investment-framework)
in the [Portfolio Construction and Risk Management book](https://antonvorobets.substack.com/p/pcrm-book),
including a thorough description of CVaR optimization problems and
[Resampled Portfolio Stacking](https://antonvorobets.substack.com/p/resampled-portfolio-stacking).

