# 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
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).
## 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).
Raw data
{
"_id": null,
"home_page": "https://fortitudo.tech",
"name": "cvar-optimization-benchmarks",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.9",
"maintainer_email": null,
"keywords": "CVaR, Efficient Frontier, Entropy Pooling, Quantitative Finance, Portfolio Optimization",
"author": "Fortitudo Technologies",
"author_email": "software@fortitudo.tech",
"download_url": "https://files.pythonhosted.org/packages/c8/33/af2a0b8b99cfb964d16c64e516de92decfd555d6320daa28e3c0f7a2ae4c/cvar_optimization_benchmarks-0.1.tar.gz",
"platform": null,
"description": "# CVaR optimization benchmark problems\nThis repository contains Conditional Value-at-Risk (CVaR) portfolio optimization benchmark\nproblems for fully general Monte Carlo distributions and derivatives portfolios.\n\nThe starting point is the [next-generation investment framework's market representation](https://youtu.be/4ESigySdGf8?si=yWYuP9te1K1RBU7j&t=46)\ngiven by the matrix $R\\in \\mathbb{R}^{S\\times I}$ and associated joint scenario probability\nvectors $p,q\\in \\mathbb{R}^{S}$.\n\nThe [1_CVaROptBenchmarks notebook](https://github.com/fortitudo-tech/cvar-optimization-benchmarks/blob/main/1_CVaROptBenchmarks.ipynb)\nillustrates how the benchmark problems can be solved using Fortitudo Technologies' Investment\nAnalysis module.\n\nThe [2_OptimizationExample notebook](https://github.com/fortitudo-tech/cvar-optimization-benchmarks/blob/main/2_OptimizationExample.ipynb)\nshows how you can replicate the results using the [fortitudo.tech open-source Python package](https://github.com/fortitudo-tech/fortitudo.tech)\nfor the efficient frontier optimizations of long-only cash portfolios, which are the easiest problems to solve.\n\n## Installation Instructions\nIt is recommended to install the code dependencies in a \n[conda environment](https://conda.io/projects/conda/en/latest/user-guide/concepts/environments.html):\n\n conda create -n cvar-optimization-benchmarks python\n pip install cvar-optimization-benchmarks\n\nAfter 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).\n\n## Portfolio Construction and Risk Management book\nYou can read much more about the [next-generation investment framework](https://antonvorobets.substack.com/p/anton-vorobets-next-generation-investment-framework)\nin the [Portfolio Construction and Risk Management book](https://antonvorobets.substack.com/p/pcrm-book),\nincluding a thorough description of CVaR optimization problems and\n[Resampled Portfolio Stacking](https://antonvorobets.substack.com/p/resampled-portfolio-stacking).\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Conditional Value-at-Risk (CVaR) portfolio optimization benchmark problems in Python.",
"version": "0.1",
"project_urls": {
"Documentation": "https://os.fortitudo.tech",
"Homepage": "https://fortitudo.tech",
"Issues": "https://github.com/fortitudo-tech/cvar-optimization-benchmarks/issues",
"Repository": "https://github.com/fortitudo-tech/cvar-optimization-benchmarks"
},
"split_keywords": [
"cvar",
" efficient frontier",
" entropy pooling",
" quantitative finance",
" portfolio optimization"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7baba454c158617305fc457c0645ba52ae844f50e2462198b2a922691f32f559",
"md5": "810cd215f77488ea9594d2f91579ad80",
"sha256": "4ceace0da98c8e9d788f87913f2412e0378d8c687432274e67942b25a833bc87"
},
"downloads": -1,
"filename": "cvar_optimization_benchmarks-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "810cd215f77488ea9594d2f91579ad80",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.9",
"size": 14816,
"upload_time": "2025-10-09T10:00:49",
"upload_time_iso_8601": "2025-10-09T10:00:49.323689Z",
"url": "https://files.pythonhosted.org/packages/7b/ab/a454c158617305fc457c0645ba52ae844f50e2462198b2a922691f32f559/cvar_optimization_benchmarks-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c833af2a0b8b99cfb964d16c64e516de92decfd555d6320daa28e3c0f7a2ae4c",
"md5": "d64a6c3ccefcb496825d9c8d83f314a4",
"sha256": "a63115c3259a1d8dad4e3f61ad652b51564cf1ca2002e49496eafbeec2c33774"
},
"downloads": -1,
"filename": "cvar_optimization_benchmarks-0.1.tar.gz",
"has_sig": false,
"md5_digest": "d64a6c3ccefcb496825d9c8d83f314a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.9",
"size": 14424,
"upload_time": "2025-10-09T10:00:50",
"upload_time_iso_8601": "2025-10-09T10:00:50.802934Z",
"url": "https://files.pythonhosted.org/packages/c8/33/af2a0b8b99cfb964d16c64e516de92decfd555d6320daa28e3c0f7a2ae4c/cvar_optimization_benchmarks-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 10:00:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fortitudo-tech",
"github_project": "cvar-optimization-benchmarks",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "cvar-optimization-benchmarks"
}