GPU-Accelerated portfolio optimization using cuOpt and cuML
This playbook demonstrates an end-to-end GPU-accelerated workflow using NVIDIA cuOpt and NVIDIA cuML to solve large-scale portfolio optimization problems, using the Mean-CVaR (Conditional Value-at-Risk) model, in near real-time.
Portfolio Optimization (PO) involves solving high-dimensional, non-linear numerical optimization problems to balance risk and return. Modern portfolios often contain thousands of assets, making traditional CPU-based solvers too slow for advanced workflows. By moving the computational heavy lifting to the GPU, this solution dramatically reduces computation time.
You will implement a pipeline that provides tools for performance evaluation, strategy backtesting, benchmarking, and visualization. The workflow includes:
Required Skills (you'll get it):
Optional Skills (you'll enjoy it):
Terms to know:
Hardware Requirements:
Software Requirements:
All required assets can be found in the Portfolio Optimization repository. In the running playbook, they will all be found under the playbook folder.
cvar_basic.ipynb - Main playbook notebook./setup/README.md - Quick Start Guide to the Playbook Environment./setup/start_playbook.sh - Script to start the install of the playbook in a Docker container/setup/setup_playbook.sh - Configures the Docker container before user enters jupyterlab environment/setup/pyproject.toml - used as a lists of libraries that commands in setup_playbook will install into the playbook environmentcuDF, cuML, and cuGraph folders - more example notebooks to continue your GPU Accelerated Data Science Journey. These will be part of the Docker Container when you start it.Rollback: Stop the Docker container and remove the cloned repository to fully remove the installation.
Last Updated: 01/21/2026
git clone command with the correct project path.