Add cuOpt SOCP variance-cap support + bump to cuOpt 26.06#50
Open
jgoldberg-nvidia wants to merge 3 commits into
Open
Add cuOpt SOCP variance-cap support + bump to cuOpt 26.06#50jgoldberg-nvidia wants to merge 3 commits into
jgoldberg-nvidia wants to merge 3 commits into
Conversation
Mean-Variance portfolios with a hard variance cap solved via the direct cuOpt SOCP path (mean_variance_optimizer / MeanVarianceParameters), with SKILL.md guidance, an agent recipe, a Layer 3 benchmark + thresholds, and unit tests. Bumps SOCP deps to cuOpt 26.06. Excludes the demo (SOCP kept out of the Streamlit app per scope). Rebased onto main, so it keeps the rebalance .date() benchmark fix rather than reintroducing the bug. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds mean-variance-socp-var-limit to evals-full.json (nightly, now 10 cases); the 4-case P0 gate (evals.json) is unchanged since SOCP is the least gate-critical case. Updates EVAL.md and skill-card.md to mention the SOCP variance-cap workflow. BENCHMARK.md (the merged gate results) is left as-is since SOCP runs only in the nightly set. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
33632ac to
bb8949e
Compare
…ent) CI lint (ruff format --check src/) flagged a line-broken assignment that fits within the 88-char limit on one line. Formatting-only; no logic change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds NVIDIA cuOpt SOCP variance-cap support to the cufolio skill (Mean-Variance portfolios with a hard variance cap via the direct cuOpt SOCP path) and bumps SOCP dependencies to cuOpt 26.06.
Rebuilt on top of the current
main(after #49 merged the eval P0-split + benchmark fix).What's in it
mean_variance_optimizer/MeanVarianceParameters, SKILL.md guidance + agent recipe, Layer 3 benchmark (socp-variance-limit) + thresholds, unit tests.pyproject.toml,uv.lock,README.md).mean-variance-socp-var-limitadded to the nightly set (evals-full.json, now 10 cases). The 4-case P0 CI gate (evals.json) is unchanged — SOCP is the least gate-critical case.BENCHMARK.mdleft as the merged gate-results report (SOCP runs only nightly).Explicitly excluded
demo/changes..date()Layer 3 fix rather than bringing back the bug from the original branch.Validation (local, L4 GPU)
test_core.py): 51 passed, 1 skippedsocp-variance-limitand the fixed rebalance)CI
Comment
/nvskills-cito run the agent eval gate.🤖 Generated with Claude Code