├── .devcontainer ├── devcontainer.json └── startup.sh ├── .editorconfig ├── .github ├── actions │ └── setup-project │ │ └── action.yml ├── renovate.json ├── scripts │ ├── book.sh │ └── marimushka.sh ├── template.yml └── workflows │ ├── 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 │ ├── Balanced.py │ ├── OneAssetFadingOut.py │ ├── monkey.py │ ├── pairs.py │ └── public │ ├── prices.csv │ └── stock-prices.csv ├── newplot.png ├── pyproject.toml ├── ruff.toml ├── src └── cvx │ └── simulator │ ├── __init__.py │ ├── builder.py │ ├── portfolio.py │ ├── state.py │ └── utils │ ├── __init__.py │ └── interpolation.py ├── tests ├── conftest.py ├── resources │ ├── nav.csv │ ├── price.csv │ └── priceNaN.csv ├── test_applications │ ├── __init__.py │ ├── test_reference │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── markowitz.py │ │ ├── resources │ │ │ ├── prices.csv │ │ │ └── spreads.csv │ │ └── test_markowitz.py │ └── test_talk │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── resources │ │ └── prices_hashed.csv │ │ ├── test_experiment1.py │ │ ├── test_experiment2.py │ │ ├── test_experiment3.py │ │ ├── test_experiment4.py │ │ ├── test_experiment5.py │ │ └── test_prices.py ├── test_builder.py ├── test_builder_validation.py ├── test_conftest.py ├── test_polars.py ├── test_portfolio.py ├── test_portfolio_validation.py ├── test_state.py ├── test_state_validation.py ├── test_utils │ ├── __init__.py │ ├── test_interpolation.py │ ├── test_interpolation_coverage.py │ ├── test_interpolation_errors.py │ └── test_interpolation_full_coverage.py └── test_version.py └── uv.lock /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/startup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.devcontainer/startup.sh -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/actions/setup-project/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/actions/setup-project/action.yml -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/renovate.json -------------------------------------------------------------------------------- /.github/scripts/book.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/scripts/book.sh -------------------------------------------------------------------------------- /.github/scripts/marimushka.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/scripts/marimushka.sh -------------------------------------------------------------------------------- /.github/template.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/template.yml -------------------------------------------------------------------------------- /.github/workflows/book.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/book.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/deptry.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/deptry.yml -------------------------------------------------------------------------------- /.github/workflows/marimo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/marimo.yml -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/pre-commit.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/structure.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/structure.yml -------------------------------------------------------------------------------- /.github/workflows/sync.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.github/workflows/sync.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/README.md -------------------------------------------------------------------------------- /book/marimo/Balanced.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/book/marimo/Balanced.py -------------------------------------------------------------------------------- /book/marimo/OneAssetFadingOut.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/book/marimo/OneAssetFadingOut.py -------------------------------------------------------------------------------- /book/marimo/monkey.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/book/marimo/monkey.py -------------------------------------------------------------------------------- /book/marimo/pairs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/book/marimo/pairs.py -------------------------------------------------------------------------------- /book/marimo/public/prices.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/book/marimo/public/prices.csv -------------------------------------------------------------------------------- /book/marimo/public/stock-prices.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/book/marimo/public/stock-prices.csv -------------------------------------------------------------------------------- /newplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/newplot.png -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/pyproject.toml -------------------------------------------------------------------------------- /ruff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/ruff.toml -------------------------------------------------------------------------------- /src/cvx/simulator/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/src/cvx/simulator/__init__.py -------------------------------------------------------------------------------- /src/cvx/simulator/builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/src/cvx/simulator/builder.py -------------------------------------------------------------------------------- /src/cvx/simulator/portfolio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/src/cvx/simulator/portfolio.py -------------------------------------------------------------------------------- /src/cvx/simulator/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/src/cvx/simulator/state.py -------------------------------------------------------------------------------- /src/cvx/simulator/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/src/cvx/simulator/utils/__init__.py -------------------------------------------------------------------------------- /src/cvx/simulator/utils/interpolation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/src/cvx/simulator/utils/interpolation.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/resources/nav.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/resources/nav.csv -------------------------------------------------------------------------------- /tests/resources/price.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/resources/price.csv -------------------------------------------------------------------------------- /tests/resources/priceNaN.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/resources/priceNaN.csv -------------------------------------------------------------------------------- /tests/test_applications/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/__init__.py -------------------------------------------------------------------------------- /tests/test_applications/test_reference/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_reference/__init__.py -------------------------------------------------------------------------------- /tests/test_applications/test_reference/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_reference/conftest.py -------------------------------------------------------------------------------- /tests/test_applications/test_reference/markowitz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_reference/markowitz.py -------------------------------------------------------------------------------- /tests/test_applications/test_reference/resources/prices.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_reference/resources/prices.csv -------------------------------------------------------------------------------- /tests/test_applications/test_reference/resources/spreads.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_reference/resources/spreads.csv -------------------------------------------------------------------------------- /tests/test_applications/test_reference/test_markowitz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_reference/test_markowitz.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/__init__.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/conftest.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/resources/prices_hashed.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/resources/prices_hashed.csv -------------------------------------------------------------------------------- /tests/test_applications/test_talk/test_experiment1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/test_experiment1.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/test_experiment2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/test_experiment2.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/test_experiment3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/test_experiment3.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/test_experiment4.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/test_experiment4.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/test_experiment5.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/test_experiment5.py -------------------------------------------------------------------------------- /tests/test_applications/test_talk/test_prices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_applications/test_talk/test_prices.py -------------------------------------------------------------------------------- /tests/test_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_builder.py -------------------------------------------------------------------------------- /tests/test_builder_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_builder_validation.py -------------------------------------------------------------------------------- /tests/test_conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_conftest.py -------------------------------------------------------------------------------- /tests/test_polars.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_polars.py -------------------------------------------------------------------------------- /tests/test_portfolio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_portfolio.py -------------------------------------------------------------------------------- /tests/test_portfolio_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_portfolio_validation.py -------------------------------------------------------------------------------- /tests/test_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_state.py -------------------------------------------------------------------------------- /tests/test_state_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_state_validation.py -------------------------------------------------------------------------------- /tests/test_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_utils/__init__.py -------------------------------------------------------------------------------- /tests/test_utils/test_interpolation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_utils/test_interpolation.py -------------------------------------------------------------------------------- /tests/test_utils/test_interpolation_coverage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_utils/test_interpolation_coverage.py -------------------------------------------------------------------------------- /tests/test_utils/test_interpolation_errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_utils/test_interpolation_errors.py -------------------------------------------------------------------------------- /tests/test_utils/test_interpolation_full_coverage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_utils/test_interpolation_full_coverage.py -------------------------------------------------------------------------------- /tests/test_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/tests/test_version.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/simulator/HEAD/uv.lock --------------------------------------------------------------------------------