Skip to content

Add professional portfolio PGD experiment - #114

Merged
charlesmartin14 merged 1 commit into
mainfrom
feature/portfolio-pgd-experiment
Aug 22, 2026
Merged

Add professional portfolio PGD experiment#114
charlesmartin14 merged 1 commit into
mainfrom
feature/portfolio-pgd-experiment

Conversation

@charlesmartin14

Copy link
Copy Markdown
Member

Summary

  • add a production-style projected-gradient portfolio solver with majorization backtracking and live progress callbacks
  • validate the quadratic case against exact KKT and SciPy SLSQP
  • add nonlinear power-law costs plus realistic factor, sector, box, turnover, and gross-exposure constraints
  • add three detailed notebooks, ten automated tests, a Mac /tmp setup script, and a foreground campaign runner with timestamped command-line logging
  • save per-run histories, holdings, trades, and CSV/JSON summaries under /tmp/portfolio-pgd-runs
  • add path-scoped GitHub Actions validation

Local validation

  • python tests/run_tests.py: 10/10 passed
  • python scripts/execute_notebooks.py: 3/3 notebooks passed
  • logged CLI campaign: quadratic, nonlinear, and realistic scenarios all converged and matched reference solvers within enforced tolerances
  • bash -n passed for both Mac shell entry points

Terminal behavior

The campaign runs in the foreground and never backgrounds, detaches, replaces the caller shell, or sends process-killing signals.

Validate projected gradient descent against exact KKT and SciPy references, add nonlinear and realistic constraint cases, provide detailed foreground logging, Mac /tmp setup, notebooks, tests, and CI.
@charlesmartin14
charlesmartin14 merged commit 1533ff2 into main Aug 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant