Finance & Investment Banking ✓ NVIDIA · Official portfolio-optimizationcvarefficient-frontierbacktestingrebalancingcuoptquantitative-financegpu

cuFOLIO Portfolio Optimization

GPU-accelerated CVaR portfolio optimization, backtesting, and rebalancing.

FollowSkills review · FSRS-2.0
Not recommended
59/ 100 5-point scale 3.0 / 5
Trust17 / 25 · 3.4/5

The documentation explicitly requires cuOpt GPU, forbids CPU fallback, requests user confirmation before downloading data, validates inputs and constraints, and reports missing runtimes. No credential theft, covert exfiltration, or destructive default is shown. Points are deducted because it accesses the network and writes data files, while lacking a strong financial-risk disclaimer, comprehensive pre-execution confirmation, detailed data-flow/dependency provenance, and rollback guidance.

Reliability9 / 20 · 2.3/5

It provides concrete API shapes, input validation, solver checks, and diagnosable handling for missing GPUs, insufficient data, and infeasible constraints; actual operability cannot be established statically. Points are deducted for dependence on a specific CUDA/cuOpt/cuML environment, incomplete compatibility evidence, and insufficient committed test coverage for key paths; the static cap keeps this at 10 or below.

Adaptability11 / 15 · 3.7/5

Triggers, use cases, and non-fit cases such as vehicle routing, forecasting, and generic finance summaries are clearly described, with coverage for custom CSVs, frontiers, backtests, and rebalancing. Points are deducted because guidance is English-only, Chinese-language interaction is not specified, and core functionality depends on NVIDIA GPU, cuOpt/cuML, and first-run network data access without evidence of mainland-China reachability or alternatives.

Convention12 / 15 · 4.0/5

The skill has strong structure covering purpose, triggers, prerequisites, setup, defaults, APIs, examples, limitations, and troubleshooting. Apache-2.0 licensing, author, version 25.10, evaluation files, and maintenance clues are present. Points are deducted for no explicit changelog, stable dependency/version matrix, named maintenance commitment, or clear upgrade policy; the skill-card Markdown output description also does not fully match the broader structured reporting requirements.

Effectiveness6 / 15 · 2.0/5

The skill clearly targets Mean-CVaR optimization, efficient frontiers, weight tables, backtests, and rebalancing, with specified directly consumable fields and report contents. The committed benchmark provides some correctness and discoverability evidence. Points are deducted because static review cannot verify numerical, plotting, or backtest usability, and reported effectiveness was only 44% to 46%, leaving limited evidence of practical uplift; the static cap keeps this at 7 or below.

Verifiability4 / 10 · 2.0/5

Committed evaluation cases, expected behaviors, reference workflows, a BENCHMARK report, and a static validation summary provide some auditability. Points are deducted because raw execution logs, independent reproduction, and complete key-path test evidence are absent; the conclusions rely substantially on report-level claims, so the static cap keeps this at 5 or below.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 55f18499943e
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • This skill provides quantitative analysis and allocation guidance, not investment advice; suitability, regulatory, trade-confirmation, and real-time-market risks are not addressed.
  • Core workflows require an NVIDIA GPU, cuOpt/cuML, and potentially overseas network access for market-data downloads; CPU-only or network-restricted environments cannot produce valid results.
  • The default S&P 500 data is a historical snapshot and may omit current constituents; users should confirm and review downloads, custom CSVs, date ranges, and missing tickers.
  • The supplied materials lack complete raw execution logs and key-path test results, so the BENCHMARK effectiveness claims should be revalidated in the target environment.
See the full review method →

What does this skill do, and when should you use it?

cuFOLIO supports building, optimizing, analyzing, backtesting, and rebalancing stock portfolios. It uses Mean-CVaR optimization to manage downside risk, GPU KDE for scenario generation, and NVIDIA cuOpt for allocation solving. The skill includes efficient frontiers, risk-aversion weight tables, benchmark comparisons, and scheduled or drift-triggered rebalancing. It requires a Python environment with cufolio, NVIDIA GPU software, cuOpt, cuML, and cvxpy exposing CUOPT.

It reads the default data/stock_data/sp500.csv or a validated user CSV, filters prices by dates and tickers, computes log returns, generates CVaR scenarios with GPU KDE, and solves Mean-CVaR allocations through cvxpy's CUOPT/PDLP configuration. It can produce allocation-sorted weights, cash weight, expected return, and CVaR; create efficient-frontier and risk-aversion tables; backtest against an equal-weight portfolio; and run rebalancing workflows.

  1. An investor wants a downside-risk-aware allocation from historical stock prices.
  2. A quantitative researcher needs a 25-point efficient frontier for a defined ticker universe.
  3. A portfolio manager wants to compare allocations under weight caps, risk appetite, or confidence constraints.
  4. A researcher wants to backtest an optimized portfolio against an equal-weight benchmark.
  5. A portfolio owner needs monthly or drift-triggered rebalancing.

What are this skill's strengths and limitations?

Pros
  • Covers optimization, efficient frontiers, backtesting, and rebalancing in one workflow.
  • Explicitly supports Mean-CVaR downside-risk control and weight, cash, risk-aversion, and confidence constraints.
  • Uses NVIDIA GPU KDE and cuOpt/PDLP, with report requirements that provide evidence of execution.
  • Supports default S&P 500, S&P 100, and Dow 30 datasets plus user-supplied price CSVs.
Limitations
  • Requires an NVIDIA GPU, cuOpt, cuML, a matching CUDA environment, and cvxpy with CUOPT support.
  • CPU-only environments cannot produce a valid cuOpt solve.
  • The default S&P 500 file is a historical snapshot and may omit current constituents.
  • First-run data download requires network access and user confirmation; the source provides no separate test-suite evidence.

How do you install this skill?

Install the skill with the repository README's supported skills CLI: npx skills add nvidia/skills --skill cufolio --yes. To target Codex, use: npx skills add nvidia/skills --skill cufolio --agent codex --yes. The README does not provide a separate cufolio Python-package installation command; SKILL.md requires an environment where cufolio is already available and the CUDA extra matches the host.

How do you use this skill?

After installation, use a concrete trigger such as “build a CVaR portfolio from these stocks,” “plot the efficient frontier,” or “rebalance this allocation monthly.” Before execution, confirm the dataset, date range, risk aversion 1.0, confidence 0.95, long-only constraints, GPU KDE, and cuOpt GPU solver. If the default CSV is missing, confirmation is required before downloading public S&P 500 data. If the cuOpt GPU runtime is unavailable, the skill must report that limitation and cannot substitute a CPU solver.

How does this skill compare with similar options?

Unlike generic CPU portfolio code or CPU solvers such as CLARABEL, SCS, and ECOS, cuFOLIO explicitly requires NVIDIA cuOpt on the GPU and must not fall back to those solvers.

FAQ

Does cuFOLIO require paid market data?
The source only states that first-run public market data may be downloaded through the cuFOLIO/yfinance helper; it does not specify service costs or data-licensing terms.
Can it run without an NVIDIA GPU?
It can validate routing, data handling, and reporting in a CPU-only environment, but it cannot produce a valid cuOpt solve; the skill explicitly requires the GPU/cuOpt runtime.
Will ordinary optimization leave funds in cash?
No. The ordinary default sets c_min and c_max to 0.0 for a fully invested result; cash allowance can be changed through c_max.
What must a user CSV contain?
It needs a date-like index or first date column, numeric ticker columns, at least 60 rows after date filtering, and at least one requested ticker.

More skills from this repository

All from NVIDIA/skills

Data & Analysis ✓ NVIDIA · Official

cuOpt Multi-Objective Explorer

Map Pareto tradeoffs between competing objectives with cuOpt.

Automation & Ops ✓ NVIDIA · Official

cuOpt Installation Guide

Install and verify NVIDIA cuOpt for Python, C, or REST deployment.

Data & Analysis ✓ NVIDIA · Official

cuOpt Numerical Optimization Formulation

Turn natural-language problems into clear LP, MILP, or QP mathematical formulations.

Dev & Engineering ✓ NVIDIA · Official

cuOpt Python Routing

Model and solve TSP, VRP, and pickup-and-delivery routes with the cuOpt Python API.

Dev & Engineering ✓ NVIDIA · Official

NVIDIA cuOpt Developer

Guides source-level cuOpt modification, builds, tests, debugging, and contributions.

Dev & Engineering ✓ NVIDIA · Official

cuOpt Numerical Optimization API

Guide agents through GPU-accelerated LP, MILP, and QP modeling with cuOpt

Dev & Engineering ✓ NVIDIA · Official

cuOpt REST Server Deployment & Python Client

Deploy NVIDIA cuOpt as a REST service and call it with Python, curl, or another client.

Dev & Engineering ✓ NVIDIA · Official

Megatron Bridge Activation Recompute

Trade extra compute for lower GPU activation memory in Megatron Bridge training.

Dev & Engineering ✓ NVIDIA · Official

cuTile Python Kernel Assistant

Guides developers in writing, debugging, validating, and optimizing high-performance cuTile GPU kernels.

Dev & Engineering ✓ NVIDIA · Official

TileGym cuTile Kernel Optimizer

Systematically reduce cuTile GPU kernel latency through profiling, bottleneck diagnosis, and controlled tuning.

Dev & Engineering ✓ NVIDIA · Official

NeMo MBridge GPU Memory Tuning

Diagnose GPU OOMs in Megatron Bridge training and reduce fragmentation, activation, and PEFT memory usage.

Dev & Engineering ✓ NVIDIA · Official

DALI Dynamic Mode Assistant

Helps agents write, review, and migrate NVIDIA DALI imperative dynamic-mode code.

Data & Analysis ✓ NVIDIA · Official

NVIDIA cuDF DataFrame Guide

Helps pandas users write correct, high-performance GPU DataFrame code with NVIDIA cuDF.

Dev & Engineering ✓ NVIDIA · Official

cuPyNumeric Migration Readiness

Assess whether NumPy code is ready to scale on GPUs before committing to a substantial cuPyNumeric port.

Dev & Engineering ✓ NVIDIA · Official

NeMo Relay Adaptive Tuning

Tune NeMo Relay plugin behavior from runtime signals with measured, reversible rollouts.

Automation & Ops ✓ NVIDIA · Official

VSS Video Embedding Deployment

Deploy and operate NVIDIA’s video embedding service for files, text, and live streams.

Dev & Engineering ✓ NVIDIA · Official

cuPyNumeric Installation Guide

Guides safe cuPyNumeric installation and verifies that it actually works.

Dev & Engineering ✓ NVIDIA · Official

Jetson Clock Customizer

Lock or cap Jetson CPU, GPU, and EMC clock behavior before flashing a BSP image.

Automation & Ops ✓ NVIDIA · Official

Jetson Health Snapshot

Read-only diagnostics that consolidate a live Jetson’s hardware, resource, and service state.

Automation & Ops ✓ NVIDIA · Official

Megatron-LM on SLURM

Launch, monitor, and troubleshoot multi-node Megatron-LM training on SLURM GPU clusters.

Related skills