├── .editorconfig ├── .github ├── actions │ └── setup-project │ │ └── action.yml ├── renovate.json ├── scripts │ ├── book.sh │ ├── build-extras.sh │ └── marimushka.sh ├── template.yml └── workflows │ ├── _devcontainer.yml │ ├── book.yml │ ├── ci.yml │ ├── deptry.yml │ ├── marimo.yml │ ├── pre-commit.yml │ ├── release.yml │ ├── structure.yml │ └── sync.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── book └── marimo │ ├── demo.py │ ├── factormodel.py │ ├── large.py │ ├── public │ └── stock_prices.csv │ ├── sample.py │ └── tilting.py ├── introduction.md ├── pyproject.toml ├── ruff.toml ├── src └── cvx │ └── risk │ ├── __init__.py │ ├── bounds.py │ ├── cvar │ ├── __init__.py │ └── cvar.py │ ├── factor │ ├── __init__.py │ └── factor.py │ ├── linalg │ ├── __init__.py │ ├── cholesky.py │ ├── pca.py │ └── valid.py │ ├── model.py │ ├── portfolio │ ├── __init__.py │ └── min_risk.py │ ├── random │ ├── __init__.py │ └── rand_cov.py │ └── sample │ ├── __init__.py │ └── sample.py ├── tests ├── conftest.py ├── resources │ └── stock_prices.csv ├── test_core_functionality.py ├── test_docstrings.py ├── test_linalg │ ├── test_cholesky.py │ ├── test_pca.py │ └── test_valid.py ├── test_makefile.py ├── test_portfolio │ └── test_min_risk.py ├── test_random │ └── test_random.py ├── test_readme.py ├── test_risk │ ├── test_bounds.py │ ├── test_cvar │ │ └── test_cvar.py │ ├── test_factor │ │ └── test_factor.py │ ├── test_sample │ │ └── test_sample.py │ └── test_simple.py └── test_versions.py └── uv.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/actions/setup-project/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/actions/setup-project/action.yml -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/renovate.json -------------------------------------------------------------------------------- /.github/scripts/book.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/scripts/book.sh -------------------------------------------------------------------------------- /.github/scripts/build-extras.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/scripts/build-extras.sh -------------------------------------------------------------------------------- /.github/scripts/marimushka.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/scripts/marimushka.sh -------------------------------------------------------------------------------- /.github/template.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/template.yml -------------------------------------------------------------------------------- /.github/workflows/_devcontainer.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/_devcontainer.yml -------------------------------------------------------------------------------- /.github/workflows/book.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/book.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/deptry.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/deptry.yml -------------------------------------------------------------------------------- /.github/workflows/marimo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/marimo.yml -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/pre-commit.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/structure.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/structure.yml -------------------------------------------------------------------------------- /.github/workflows/sync.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.github/workflows/sync.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/README.md -------------------------------------------------------------------------------- /book/marimo/demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/book/marimo/demo.py -------------------------------------------------------------------------------- /book/marimo/factormodel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/book/marimo/factormodel.py -------------------------------------------------------------------------------- /book/marimo/large.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/book/marimo/large.py -------------------------------------------------------------------------------- /book/marimo/public/stock_prices.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/book/marimo/public/stock_prices.csv -------------------------------------------------------------------------------- /book/marimo/sample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/book/marimo/sample.py -------------------------------------------------------------------------------- /book/marimo/tilting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/book/marimo/tilting.py -------------------------------------------------------------------------------- /introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/introduction.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/pyproject.toml -------------------------------------------------------------------------------- /ruff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/ruff.toml -------------------------------------------------------------------------------- /src/cvx/risk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/bounds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/bounds.py -------------------------------------------------------------------------------- /src/cvx/risk/cvar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/cvar/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/cvar/cvar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/cvar/cvar.py -------------------------------------------------------------------------------- /src/cvx/risk/factor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/factor/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/factor/factor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/factor/factor.py -------------------------------------------------------------------------------- /src/cvx/risk/linalg/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/linalg/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/linalg/cholesky.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/linalg/cholesky.py -------------------------------------------------------------------------------- /src/cvx/risk/linalg/pca.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/linalg/pca.py -------------------------------------------------------------------------------- /src/cvx/risk/linalg/valid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/linalg/valid.py -------------------------------------------------------------------------------- /src/cvx/risk/model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/model.py -------------------------------------------------------------------------------- /src/cvx/risk/portfolio/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/portfolio/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/portfolio/min_risk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/portfolio/min_risk.py -------------------------------------------------------------------------------- /src/cvx/risk/random/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/random/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/random/rand_cov.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/random/rand_cov.py -------------------------------------------------------------------------------- /src/cvx/risk/sample/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/sample/__init__.py -------------------------------------------------------------------------------- /src/cvx/risk/sample/sample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/src/cvx/risk/sample/sample.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/resources/stock_prices.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/resources/stock_prices.csv -------------------------------------------------------------------------------- /tests/test_core_functionality.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_core_functionality.py -------------------------------------------------------------------------------- /tests/test_docstrings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_docstrings.py -------------------------------------------------------------------------------- /tests/test_linalg/test_cholesky.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_linalg/test_cholesky.py -------------------------------------------------------------------------------- /tests/test_linalg/test_pca.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_linalg/test_pca.py -------------------------------------------------------------------------------- /tests/test_linalg/test_valid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_linalg/test_valid.py -------------------------------------------------------------------------------- /tests/test_makefile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_makefile.py -------------------------------------------------------------------------------- /tests/test_portfolio/test_min_risk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_portfolio/test_min_risk.py -------------------------------------------------------------------------------- /tests/test_random/test_random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_random/test_random.py -------------------------------------------------------------------------------- /tests/test_readme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_readme.py -------------------------------------------------------------------------------- /tests/test_risk/test_bounds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_risk/test_bounds.py -------------------------------------------------------------------------------- /tests/test_risk/test_cvar/test_cvar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_risk/test_cvar/test_cvar.py -------------------------------------------------------------------------------- /tests/test_risk/test_factor/test_factor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_risk/test_factor/test_factor.py -------------------------------------------------------------------------------- /tests/test_risk/test_sample/test_sample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_risk/test_sample/test_sample.py -------------------------------------------------------------------------------- /tests/test_risk/test_simple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_risk/test_simple.py -------------------------------------------------------------------------------- /tests/test_versions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/tests/test_versions.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/cvxrisk/HEAD/uv.lock --------------------------------------------------------------------------------