quantflow 0.6.2__tar.gz → 0.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quantflow-0.6.2 → quantflow-0.7.0}/.github/copilot-instructions.md +8 -1
- quantflow-0.7.0/.hypothesis/.gitignore +9 -0
- quantflow-0.7.0/.hypothesis/constants/0254a8e6686c0188 +4 -0
- quantflow-0.7.0/.hypothesis/constants/0301065152d9ab0f +4 -0
- quantflow-0.7.0/.hypothesis/constants/08a9483e67e42715 +4 -0
- quantflow-0.7.0/.hypothesis/constants/12661bda99c599a0 +4 -0
- quantflow-0.7.0/.hypothesis/constants/178c27013672fc03 +4 -0
- quantflow-0.7.0/.hypothesis/constants/179cb27b16ec61cb +4 -0
- quantflow-0.7.0/.hypothesis/constants/1d76d579f73cb78a +4 -0
- quantflow-0.7.0/.hypothesis/constants/1fb1e289086a6515 +4 -0
- quantflow-0.7.0/.hypothesis/constants/22c995d873e6fc5e +4 -0
- quantflow-0.7.0/.hypothesis/constants/28ee0759c42ef0dc +4 -0
- quantflow-0.7.0/.hypothesis/constants/359bfc81440230bd +4 -0
- quantflow-0.7.0/.hypothesis/constants/38eb4b8a22a4e143 +4 -0
- quantflow-0.7.0/.hypothesis/constants/3b743a167ba8a00d +4 -0
- quantflow-0.7.0/.hypothesis/constants/3d1ea6cd5c0dd805 +4 -0
- quantflow-0.7.0/.hypothesis/constants/3f69026b057c9ea4 +4 -0
- quantflow-0.7.0/.hypothesis/constants/43429b7066040416 +4 -0
- quantflow-0.7.0/.hypothesis/constants/48eded684f2df5ff +4 -0
- quantflow-0.7.0/.hypothesis/constants/48f9e94e06874f1f +4 -0
- quantflow-0.7.0/.hypothesis/constants/4a0084c87b2db2c3 +4 -0
- quantflow-0.7.0/.hypothesis/constants/559123e9ab320ac4 +4 -0
- quantflow-0.7.0/.hypothesis/constants/56b8b5b1f444ca20 +4 -0
- quantflow-0.7.0/.hypothesis/constants/57aada3b0484db35 +4 -0
- quantflow-0.7.0/.hypothesis/constants/57d925bf614c980e +4 -0
- quantflow-0.7.0/.hypothesis/constants/586b6c6bec39754b +4 -0
- quantflow-0.7.0/.hypothesis/constants/5db8650c1259a5be +4 -0
- quantflow-0.7.0/.hypothesis/constants/5e91d8ab779e1b7f +4 -0
- quantflow-0.7.0/.hypothesis/constants/5e9b34ae43a63455 +4 -0
- quantflow-0.7.0/.hypothesis/constants/60fd378f4cdd9e2b +4 -0
- quantflow-0.7.0/.hypothesis/constants/62b16e163f3080b1 +4 -0
- quantflow-0.7.0/.hypothesis/constants/65be84333a21ee0e +4 -0
- quantflow-0.7.0/.hypothesis/constants/6c21b394c1448f8f +4 -0
- quantflow-0.7.0/.hypothesis/constants/6f23e19523671fa0 +4 -0
- quantflow-0.7.0/.hypothesis/constants/7447925d1ef6c39e +4 -0
- quantflow-0.7.0/.hypothesis/constants/746b49e5b68d35ad +4 -0
- quantflow-0.7.0/.hypothesis/constants/8077ddf6166a85cc +4 -0
- quantflow-0.7.0/.hypothesis/constants/81385a74f6fe21d1 +4 -0
- quantflow-0.7.0/.hypothesis/constants/8e946ad29fdc078f +4 -0
- quantflow-0.7.0/.hypothesis/constants/92a3edfcfc1aea4b +4 -0
- quantflow-0.7.0/.hypothesis/constants/93bfbd91994ac4c8 +4 -0
- quantflow-0.7.0/.hypothesis/constants/9be9011eed1003b0 +4 -0
- quantflow-0.7.0/.hypothesis/constants/9f39c6a9e378f874 +4 -0
- quantflow-0.7.0/.hypothesis/constants/a4e02d335ce302fe +4 -0
- quantflow-0.7.0/.hypothesis/constants/a5942183658b1820 +4 -0
- quantflow-0.7.0/.hypothesis/constants/abe86acdb72d5329 +4 -0
- quantflow-0.7.0/.hypothesis/constants/b2bc2ff1a9dc1ebd +4 -0
- quantflow-0.7.0/.hypothesis/constants/b43b9a034a123011 +4 -0
- quantflow-0.7.0/.hypothesis/constants/bc2ede502ce77baa +4 -0
- quantflow-0.7.0/.hypothesis/constants/be48829d39927abc +4 -0
- quantflow-0.7.0/.hypothesis/constants/c05e0bd6fe504415 +4 -0
- quantflow-0.7.0/.hypothesis/constants/c198e8c7d980ebd0 +4 -0
- quantflow-0.7.0/.hypothesis/constants/c42c0c1705a53e64 +4 -0
- quantflow-0.7.0/.hypothesis/constants/cc15223c7c9326cd +4 -0
- quantflow-0.7.0/.hypothesis/constants/ce1f53f3613afe56 +4 -0
- quantflow-0.7.0/.hypothesis/constants/ced58ab73e655e68 +4 -0
- quantflow-0.7.0/.hypothesis/constants/cf8267391ea821cf +4 -0
- quantflow-0.7.0/.hypothesis/constants/d1c239339de85cf1 +4 -0
- quantflow-0.7.0/.hypothesis/constants/da39a3ee5e6b4b0d +4 -0
- quantflow-0.7.0/.hypothesis/constants/dfdb158bb5ee458f +4 -0
- quantflow-0.7.0/.hypothesis/constants/e0a9a30d56186ce4 +4 -0
- quantflow-0.7.0/.hypothesis/constants/e238343dcf50c80f +4 -0
- quantflow-0.7.0/.hypothesis/constants/ed5fae84fef8d28d +4 -0
- quantflow-0.7.0/.hypothesis/constants/f33893fdc851717e +4 -0
- quantflow-0.7.0/.hypothesis/constants/f5861549f7f1821b +4 -0
- quantflow-0.7.0/.hypothesis/constants/fc9042c4e0183418 +4 -0
- quantflow-0.7.0/.hypothesis/constants/fe8b643a6cddd723 +4 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.vscode/launch.json +1 -1
- {quantflow-0.6.2 → quantflow-0.7.0}/Makefile +4 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/PKG-INFO +2 -1
- {quantflow-0.6.2 → quantflow-0.7.0}/app/gaussian_sampling.py +1 -1
- quantflow-0.7.0/app/heston_divfm_fit.py +276 -0
- quantflow-0.7.0/app/heston_vol_surface.py +165 -0
- quantflow-0.7.0/app/scripts/heston_divfm_fit.py +208 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/volatility_surface.py +40 -28
- quantflow-0.7.0/docs/api/data/index.md +33 -0
- quantflow-0.7.0/docs/api/index.md +71 -0
- quantflow-0.7.0/docs/api/options/divfm.md +30 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/options/pricer.md +1 -0
- quantflow-0.7.0/docs/api/options/svi.md +3 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/options/vol_surface.md +5 -1
- quantflow-0.7.0/docs/api/rates/index.md +1 -0
- quantflow-0.7.0/docs/api/rates/interest_rate.md +4 -0
- quantflow-0.7.0/docs/api/rates/yield_curve.md +6 -0
- quantflow-0.7.0/docs/api/sp/copula.md +10 -0
- quantflow-0.7.0/docs/assets/heston_calibrated_smile.png +0 -0
- quantflow-0.7.0/docs/assets/hestonj_calibrated_smile.png +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/bibliography.md +8 -0
- quantflow-0.7.0/docs/examples/vol_surface_heston_calibration.py +33 -0
- quantflow-0.7.0/docs/examples/vol_surface_hestonj_calibration.py +46 -0
- quantflow-0.7.0/docs/examples/vol_surface_inputs.py +24 -0
- quantflow-0.7.0/docs/examples_png/vol_surface_heston_plot.py +35 -0
- quantflow-0.7.0/docs/examples_png/vol_surface_hestonj_plot.py +46 -0
- quantflow-0.7.0/docs/glossary.md +128 -0
- quantflow-0.7.0/docs/tutorials/index.md +8 -0
- quantflow-0.7.0/docs/tutorials/volatility_surface.md +185 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/mkdocs.yml +10 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/pyproject.toml +12 -1
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/data/deribit.py +25 -3
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/options/calibration.py +48 -6
- quantflow-0.7.0/quantflow/options/divfm/__init__.py +4 -0
- quantflow-0.7.0/quantflow/options/divfm/network.py +210 -0
- quantflow-0.7.0/quantflow/options/divfm/pricer.py +137 -0
- quantflow-0.7.0/quantflow/options/divfm/trainer.py +181 -0
- quantflow-0.7.0/quantflow/options/divfm/weights.py +154 -0
- quantflow-0.7.0/quantflow/options/docs/butterfly.md +44 -0
- quantflow-0.7.0/quantflow/options/docs/calendar_spread.md +47 -0
- quantflow-0.7.0/quantflow/options/docs/spread.md +36 -0
- quantflow-0.7.0/quantflow/options/docs/straddle.md +22 -0
- quantflow-0.7.0/quantflow/options/docs/strangle.md +23 -0
- quantflow-0.7.0/quantflow/options/docs/terminology.md +5 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/options/inputs.py +4 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/options/pricer.py +56 -25
- quantflow-0.7.0/quantflow/options/strategies/__init__.py +17 -0
- quantflow-0.7.0/quantflow/options/strategies/base.py +111 -0
- quantflow-0.7.0/quantflow/options/strategies/butterfly.py +100 -0
- quantflow-0.7.0/quantflow/options/strategies/calendar_spread.py +75 -0
- quantflow-0.7.0/quantflow/options/strategies/spread.py +73 -0
- quantflow-0.7.0/quantflow/options/strategies/straddle.py +39 -0
- quantflow-0.7.0/quantflow/options/strategies/strangle.py +68 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/options/surface.py +346 -51
- quantflow-0.7.0/quantflow/options/svi.py +144 -0
- quantflow-0.7.0/quantflow/rates/interest_rate.py +110 -0
- quantflow-0.7.0/quantflow/rates/nelson_siegel.py +123 -0
- quantflow-0.7.0/quantflow/rates/yield_curve.py +37 -0
- quantflow-0.7.0/quantflow/sp/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/base.py +7 -5
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/copula.py +7 -6
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/heston.py +6 -2
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/ou.py +0 -2
- quantflow-0.7.0/quantflow/utils/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/distributions.py +8 -7
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/plot.py +10 -2
- quantflow-0.7.0/quantflow_tests/conftest.py +13 -0
- quantflow-0.7.0/quantflow_tests/fixtures/deribit_futures.json +23 -0
- quantflow-0.7.0/quantflow_tests/fixtures/deribit_instruments.json +48 -0
- quantflow-0.7.0/quantflow_tests/fixtures/deribit_options.json +30 -0
- quantflow-0.7.0/quantflow_tests/fixtures/volsurface.json +4359 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_ai.py +0 -8
- quantflow-0.7.0/quantflow_tests/test_data_deribit.py +94 -0
- quantflow-0.7.0/quantflow_tests/test_disable_outliers.py +215 -0
- quantflow-0.7.0/quantflow_tests/test_divfm.py +311 -0
- quantflow-0.7.0/quantflow_tests/test_implied_fwd.py +175 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_options.py +2 -8
- quantflow-0.7.0/quantflow_tests/test_rates.py +220 -0
- quantflow-0.7.0/quantflow_tests/test_strategies.py +109 -0
- quantflow-0.7.0/quantflow_tests/test_surface_methods.py +82 -0
- quantflow-0.7.0/quantflow_tests/test_svi.py +136 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/utils.py +12 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/uv.lock +914 -690
- quantflow-0.6.2/docs/api/data/index.md +0 -8
- quantflow-0.6.2/docs/api/index.md +0 -3
- quantflow-0.6.2/notebooks/CNAME +0 -1
- quantflow-0.6.2/notebooks/_config.yml +0 -65
- quantflow-0.6.2/notebooks/_toc.yml +0 -46
- quantflow-0.6.2/notebooks/applications/hurst.md +0 -202
- quantflow-0.6.2/notebooks/applications/overview.md +0 -23
- quantflow-0.6.2/notebooks/applications/sampling.md +0 -35
- quantflow-0.6.2/notebooks/conf.py +0 -38
- quantflow-0.6.2/notebooks/examples/heston_vol_surface.md +0 -54
- quantflow-0.6.2/notebooks/index.md +0 -54
- quantflow-0.6.2/notebooks/reference/biblio.md +0 -18
- quantflow-0.6.2/notebooks/reference/contributing.md +0 -68
- quantflow-0.6.2/notebooks/reference/glossary.md +0 -80
- quantflow-0.6.2/quantflow/utils/interest_rates.py +0 -51
- quantflow-0.6.2/quantflow_tests/conftest.py +0 -3
- {quantflow-0.6.2 → quantflow-0.7.0}/.coveragerc +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.dockerignore +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.github/workflows/build.yml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.github/workflows/deploy.yml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.github/workflows/docker-multiarch.yml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.gitignore +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.vscode/settings.json +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/.vscode/tasks.json +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/CITATION.cff +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/CLAUDE.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/LICENSE +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/__main__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/cointegration.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/double_exponential_sampling.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/hurst.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/poisson_sampling.py +0 -0
- {quantflow-0.6.2/quantflow/ai/tools → quantflow-0.7.0/app/scripts}/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/supersmoother.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/app/utils/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/blocks/quantflow.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/build-examples +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/charts.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/.helmignore +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/Chart.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/templates/_helpers.tpl +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/templates/_service.tpl +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/templates/app.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/templates/configmap.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/templates/secret.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/helm/values.yaml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/install +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/lint +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/marimo +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/quantflow.dockerfile +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/dev/test +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/data/deribit.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/data/fed.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/data/fmp.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/data/fred.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/options/black.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/options/calibration.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/options/index.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/cir.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/compound_poisson.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/dsp.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/heston.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/index.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/jump_diffusion.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/ou.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/poisson.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/sp/weiner.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/ta/ewma.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/ta/index.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/ta/kalman.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/ta/ohlc.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/ta/paths.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/ta/supersmoother.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/utils/bins.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/utils/distributions.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/utils/index.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/utils/marginal1d.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/utils/numbers.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/api/utils/types.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/heston.gif +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/linkedin-banner.png +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/quantflow-light.svg +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/quantflow-logo.png +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/quantflow-repo.png +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/quantflow-repo.svg +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/assets/quantflow.svg +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/contributing.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/examples/heston_volatility_pricer.py +0 -0
- {quantflow-0.6.2/quantflow_tests → quantflow-0.7.0/docs/examples}/volsurface.json +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/examples/weiner_volatility_pricer.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/index.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/javascripts/mathjax.js +0 -0
- {quantflow-0.6.2/notebooks/reference → quantflow-0.7.0/docs}/references.bib +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/theory/characteristic.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/theory/index.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/theory/inversion.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/theory/levy.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/theory/option_pricing.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/docs/tutorials/option_pricing.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/applications/calibration.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/applications/calibration.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/applications/volatility_surface.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/data/fed.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/data/fiscal_data.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/data/fmp.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/data/timeseries.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/bns.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/cir.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/gousv.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/heston.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/heston_jumps.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/jump_diffusion.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/ou.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/overview.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/poisson.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/notebooks/models/weiner.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/server.py +0 -0
- {quantflow-0.6.2/quantflow/data → quantflow-0.7.0/quantflow/ai/tools}/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/tools/base.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/tools/charts.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/tools/crypto.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/tools/fred.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/tools/stocks.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ai/tools/vault.py +0 -0
- {quantflow-0.6.2/quantflow/options → quantflow-0.7.0/quantflow/data}/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/data/fed.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/data/fiscal_data.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/data/fmp.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/data/fred.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/data/vault.py +0 -0
- {quantflow-0.6.2/quantflow/sp → quantflow-0.7.0/quantflow/options}/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/options/bs.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/py.typed +0 -0
- {quantflow-0.6.2/quantflow/utils → quantflow-0.7.0/quantflow/rates}/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/bns.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/cir.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/dsp.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/jump_diffusion.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/poisson.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/sp/weiner.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/__init__.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/base.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/ewma.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/kalman.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/ohlc.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/paths.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/ta/supersmoother.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/bins.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/dates.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/functions.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/marginal.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/numbers.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/transforms.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow/utils/types.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_cir.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_copula.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_data.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_distributions.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_frft.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_heston.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_jump_diffusion.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_ohlc.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_options_pricer.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_ou.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_poisson.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_utils.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_vault.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/quantflow_tests/test_weiner.py +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/readme.md +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/rops.toml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/taplo.toml +0 -0
- {quantflow-0.6.2 → quantflow-0.7.0}/test_comparison.py +0 -0
|
@@ -12,6 +12,7 @@ applyTo: '/**'
|
|
|
12
12
|
|
|
13
13
|
* Always run `make lint` after code changes — runs taplo, isort, black, ruff, and mypy
|
|
14
14
|
* Never edit `readme.md` directly — it is generated from `docs/index.md` via `make docs`
|
|
15
|
+
* To install all dependencies (including all optional extras) run `make install-dev` — runs `uv sync --all-extras`
|
|
15
16
|
* To run all tests use `make test` — runs all tests in the `tests/` directory using pytest
|
|
16
17
|
* To run a specific test file, use `uv run pytest tests/path/to/test_file.py`
|
|
17
18
|
|
|
@@ -27,5 +28,11 @@ applyTo: '/**'
|
|
|
27
28
|
* The documentation for quantflow is available at `https://quantflow.quantmid.com`
|
|
28
29
|
* Documentation is built using [mkdocs](https://www.mkdocs.org/) and stored in the `docs/` directory. The documentation source files are written in markdown format.
|
|
29
30
|
* Do not use em dashes (—) in documentation files or docstrings. Use colons, parentheses, or restructure the sentence instead.
|
|
30
|
-
* Math in documentation and docstrings
|
|
31
|
+
* Math in documentation and docstrings: always use `\begin{equation}...\end{equation}` for any formula or equation. Use `$...$` only for brief inline references to variables (e.g. $F$, $K$). Do not use `$$...$$`, `` `...` ``, or RST syntax (`.. math::`, `:math:`).
|
|
32
|
+
* Glossary entries in `docs/glossary.md` must be kept in alphabetical order.
|
|
31
33
|
* To rebuild doc examples run `uv run ./dev/build-examples` — runs all scripts in `docs/examples/` and writes their output to `docs/examples_output/`
|
|
34
|
+
|
|
35
|
+
## Package structure
|
|
36
|
+
|
|
37
|
+
* Strategy runtime markdown descriptions (read by `load_description()` at runtime) live inside the package at `quantflow/options/strategies/docs/` — they must be inside the package to be accessible when the library is installed
|
|
38
|
+
* mkdocs documentation pages live in `docs/api/options/` — do not mix these two locations
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# This .gitignore file was automatically created by Hypothesis. Hypothesis gitignores
|
|
2
|
+
# .hypothesis by default, because we generally recommend that .hypothesis not be checked
|
|
3
|
+
# into version control.
|
|
4
|
+
#
|
|
5
|
+
# If you *would* like to check .hypothesis into version control, you should delete this
|
|
6
|
+
# file. Hypothesis will not re-create this .gitignore unless .hypothesis is deleted (and
|
|
7
|
+
# if it does, that's a bug - please report it!)
|
|
8
|
+
|
|
9
|
+
*
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/data/fred.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
['FRED_API_KEY', 'a', 'bw', 'category', 'category/children', 'category/series', 'd', 'date', 'json', 'm', 'observations', 'params', 'q', 'sa', 'series/observations', 'value', 'w']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/data/fmp.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
[1.0, 100, 240, 1440, 525600, ',', '15min', '1hour', '1min', '30min', '4hour', '5min', 'API endpoint path', 'FMP_API_KEY', 'Filter by exchange', 'Search query string', 'Ticker symbol', '_', 'apikey', 'changesPercentage', 'date', 'dividends-calendar', 'etf-list', 'from', 'historical', 'index-list', 'insider-trading', 'market-risk-premium', 'params', 'ratios', 'ratios-ttm', 'search-name', 'search-symbol', 'sector', 'sectors-performance', 'stock-list', 'stock_news', 'stock_peers', 'symbol', 'tickers', 'to']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/data/fed.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
['H15', 'ND', 'PRATES', 'RESBME_N.D', 'RESBM_N.D', 'Time Period', 'all', 'csv', 'date', 'filetype', 'from', 'include', 'label', 'lastobs', 'layout', 'month_1', 'month_3', 'month_6', 'package', 'rate', 'seriescolumn', 'to', 'type', 'year_1', 'year_10', 'year_2', 'year_20', 'year_3', 'year_30', 'year_5', 'year_7']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/options/surface.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
[0.0, 0.2, 0.5, 100, 365, 10000, 'Ask option price', 'Ask price', 'Bid option price', 'Bid price', 'Inf', 'S', 'Total volume traded', 'Volume for the spot', 'ignore', 'inf', 'turntable']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/utils/plot.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
['PLOTLY_THEME', 'analytical', 'ask', 'bid', 'blue', 'characteristic', 'characteristic PDF', 'close', 'date', 'frequency', 'high', 'implied_vol', 'lines', 'log', 'low', 'markers', 'model', 'moneyness_ttm', 'name', 'normal', 'open', 'plotly_dark', 'preserve_ui_state', 'red', 'side', 'ttm', 'turntable', 'viridis']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/data/deribit.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
['API path', 'Currency', 'HTTP response object', 'Instrument name', 'ask_price', 'base_currency', 'bid_price', 'call', 'error', 'expiration_timestamp', 'inf', 'instrument_name', 'ms', 'open_interest', 'option_type', 'perpetual', 'result', 'settlement_period', 'strike', 'tick_size', 'timestamp', 'usdc', 'volatility', 'volume_usd']
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# file: /home/runner/work/quantflow/quantflow/quantflow/options/pricer.py
|
|
2
|
+
# hypothesis_version: 6.152.2
|
|
3
|
+
|
|
4
|
+
[-1.8, 0.0, 0.05, 0.3, 0.5, 1.0, 1.2, 1.5, 128, 10000, 'Black', 'M', 'Name of the model', 'TTM', 'Time to maturity', 'call', 'implied_vol', 'moneyness', 'moneyness_ttm', 'time_value', 'turntable', 'viridis', 'white']
|
|
@@ -24,6 +24,10 @@ install-dev: ## Install development dependencies
|
|
|
24
24
|
marimo: ## Run marimo for editing notebooks
|
|
25
25
|
@./dev/marimo edit
|
|
26
26
|
|
|
27
|
+
.PHONY: docs-png
|
|
28
|
+
docs-png: ## Regenerate PNG assets in docs/assets/ (requires Chrome via kaleido)
|
|
29
|
+
@for f in docs/examples_png/*.py; do uv run python $$f; done
|
|
30
|
+
|
|
27
31
|
.PHONY: docs
|
|
28
32
|
docs: ## build documentation
|
|
29
33
|
@cp docs/index.md readme.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quantflow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: quantitative analysis
|
|
5
5
|
Project-URL: Homepage, https://github.com/quantmind/quantflow
|
|
6
6
|
Project-URL: Repository, https://github.com/quantmind/quantflow
|
|
@@ -45,6 +45,7 @@ Requires-Dist: types-python-dateutil>=2.9.0.20251115; extra == 'dev'
|
|
|
45
45
|
Provides-Extra: docs
|
|
46
46
|
Requires-Dist: griffe-pydantic>=1.1.0; extra == 'docs'
|
|
47
47
|
Requires-Dist: griffe-typingdoc>=0.2.7; extra == 'docs'
|
|
48
|
+
Requires-Dist: kaleido>=1.2.0; extra == 'docs'
|
|
48
49
|
Requires-Dist: mkdocs-macros-plugin>=1.3.7; extra == 'docs'
|
|
49
50
|
Requires-Dist: mkdocs-material>=9.7.0; extra == 'docs'
|
|
50
51
|
Requires-Dist: mkdocs-redirects>=1.2.1; extra == 'docs'
|