optPricing 2.0.3__tar.gz → 2.1.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.
- {optpricing-2.0.3/src/optPricing.egg-info → optpricing-2.1.0}/PKG-INFO +14 -23
- {optpricing-2.0.3 → optpricing-2.1.0}/README.md +11 -19
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/guide/dashboard.md +3 -3
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/guide/getting_started.md +18 -18
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/guide/installation.md +5 -5
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/guide/introduction.md +6 -6
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/index.md +4 -4
- optpricing-2.1.0/docs/reference/atoms/bond.md +3 -0
- optpricing-2.1.0/docs/reference/atoms/index.md +8 -0
- optpricing-2.1.0/docs/reference/atoms/option.md +11 -0
- optpricing-2.1.0/docs/reference/atoms/rate.md +3 -0
- optpricing-2.1.0/docs/reference/atoms/stock.md +3 -0
- optpricing-2.1.0/docs/reference/calibration/calibrator.md +3 -0
- optpricing-2.1.0/docs/reference/calibration/fit_jump_parameters.md +3 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/calibration/fit_market_params.md +2 -2
- optpricing-2.1.0/docs/reference/calibration/index.md +9 -0
- optpricing-2.1.0/docs/reference/calibration/iv_surface.md +3 -0
- optpricing-2.1.0/docs/reference/calibration/technique_selector.md +3 -0
- optpricing-2.1.0/docs/reference/calibration/vectorized_bsm_iv.md +3 -0
- optpricing-2.1.0/docs/reference/calibration/vectorized_integration_iv.md +3 -0
- optpricing-2.1.0/docs/reference/cli.md +9 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/dashboard/plots.md +2 -2
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/dashboard/service.md +1 -1
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/dashboard/widgets.md +1 -1
- optpricing-2.1.0/docs/reference/data/historical_manager.md +3 -0
- optpricing-2.1.0/docs/reference/data/market_data_manager.md +3 -0
- optpricing-2.1.0/docs/reference/models/base/base_model.md +3 -0
- optpricing-2.1.0/docs/reference/models/base/validators.md +3 -0
- optpricing-2.1.0/docs/reference/models/bates.md +3 -0
- optpricing-2.1.0/docs/reference/models/blacks_approx.md +3 -0
- optpricing-2.1.0/docs/reference/models/bsm.md +3 -0
- optpricing-2.1.0/docs/reference/models/cev.md +3 -0
- optpricing-2.1.0/docs/reference/models/cgmy.md +3 -0
- optpricing-2.1.0/docs/reference/models/cir.md +3 -0
- optpricing-2.1.0/docs/reference/models/dupire_local.md +3 -0
- optpricing-2.1.0/docs/reference/models/heston.md +3 -0
- optpricing-2.1.0/docs/reference/models/hyperbolic.md +3 -0
- optpricing-2.1.0/docs/reference/models/kou.md +3 -0
- optpricing-2.1.0/docs/reference/models/merton_jump.md +3 -0
- optpricing-2.1.0/docs/reference/models/nig.md +3 -0
- optpricing-2.1.0/docs/reference/models/perpetual_put.md +3 -0
- optpricing-2.1.0/docs/reference/models/sabr.md +3 -0
- optpricing-2.1.0/docs/reference/models/sabr_jump.md +3 -0
- optpricing-2.1.0/docs/reference/models/vasicek.md +3 -0
- optpricing-2.1.0/docs/reference/models/vg.md +3 -0
- optpricing-2.1.0/docs/reference/parity/implied_rate.md +3 -0
- optpricing-2.1.0/docs/reference/parity/parity_model.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/base/base_technique.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/base/greek_mixin.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/base/iv_mixin.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/base/lattice_technique.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/base/pricing_result.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/base/random_utils.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/closed_form.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/crr.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/fft.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/integration.md +3 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/techniques/kernels/lattice_kernels.md +1 -1
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/techniques/kernels/mc_kernels.md +1 -1
- optpricing-2.1.0/docs/reference/techniques/leisen_reimer.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/monte_carlo.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/pde.md +3 -0
- optpricing-2.1.0/docs/reference/techniques/topm.md +3 -0
- optpricing-2.1.0/docs/reference/workflows/backtest_workflow.md +3 -0
- optpricing-2.1.0/docs/reference/workflows/daily_workflow.md +3 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/mkdocs.yml +2 -2
- {optpricing-2.0.3 → optpricing-2.1.0}/pyproject.toml +5 -7
- {optpricing-2.0.3 → optpricing-2.1.0/src/optPricing.egg-info}/PKG-INFO +14 -23
- optpricing-2.1.0/src/optPricing.egg-info/SOURCES.txt +181 -0
- optpricing-2.1.0/src/optPricing.egg-info/entry_points.txt +2 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/src/optPricing.egg-info/requires.txt +0 -1
- optpricing-2.1.0/src/optPricing.egg-info/top_level.txt +1 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/__init__.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/atoms/__init__.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/calibrator.py +2 -2
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/iv_surface.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/technique_selector.py +4 -4
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/vectorized_bsm_iv.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/vectorized_integration_iv.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/cli.py +76 -19
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/config.py +0 -4
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/app.py +2 -2
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/pages/1_Calibration.py +9 -6
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/pages/2_Pricer_and_Greeks.py +4 -4
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/pages/3_Financial_Tools.py +10 -10
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/service.py +6 -6
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/widgets.py +2 -2
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/data/__init__.py +3 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/data/historical_manager.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/data/market_data_manager.py +28 -69
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/bates.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/blacks_approx.py +2 -2
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/bsm.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/cev.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/cgmy.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/cir.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/dupire_local.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/heston.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/hyperbolic.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/kou.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/merton_jump.py +2 -2
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/nig.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/perpetual_put.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/sabr.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/sabr_jump.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/vasicek.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/vg.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/parity/implied_rate.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/parity/parity_model.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/base_technique.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/greek_mixin.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/iv_mixin.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/lattice_technique.py +2 -2
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/closed_form.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/crr.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/fft.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/integration.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/leisen_reimer.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/monte_carlo.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/pde.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/topm.py +3 -3
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/backtest_workflow.py +5 -11
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/bates_config.py +1 -1
- optpricing-2.1.0/src/optpricing/workflows/configs/bsm_config.py +6 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/cev_config.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/cgmy_config.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/heston_config.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/hyperbolic_config.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/kou_config.py +1 -1
- optpricing-2.1.0/src/optpricing/workflows/configs/merton_config.py +8 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/nig_config.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/sabr_config.py +1 -1
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/vg_config.py +1 -1
- optpricing-2.1.0/src/optpricing/workflows/daily_workflow.py +202 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/tests/test_cli.py +6 -6
- optpricing-2.0.3/docs/reference/atoms/bond.md +0 -3
- optpricing-2.0.3/docs/reference/atoms/index.md +0 -8
- optpricing-2.0.3/docs/reference/atoms/option.md +0 -11
- optpricing-2.0.3/docs/reference/atoms/rate.md +0 -3
- optpricing-2.0.3/docs/reference/atoms/stock.md +0 -3
- optpricing-2.0.3/docs/reference/calibration/calibrator.md +0 -3
- optpricing-2.0.3/docs/reference/calibration/fit_jump_parameters.md +0 -3
- optpricing-2.0.3/docs/reference/calibration/index.md +0 -9
- optpricing-2.0.3/docs/reference/calibration/iv_surface.md +0 -3
- optpricing-2.0.3/docs/reference/calibration/technique_selector.md +0 -3
- optpricing-2.0.3/docs/reference/calibration/vectorized_bsm_iv.md +0 -3
- optpricing-2.0.3/docs/reference/calibration/vectorized_integration_iv.md +0 -3
- optpricing-2.0.3/docs/reference/cli.md +0 -7
- optpricing-2.0.3/docs/reference/data/historical_manager.md +0 -3
- optpricing-2.0.3/docs/reference/data/market_data_manager.md +0 -3
- optpricing-2.0.3/docs/reference/models/base/base_model.md +0 -3
- optpricing-2.0.3/docs/reference/models/base/validators.md +0 -3
- optpricing-2.0.3/docs/reference/models/bates.md +0 -3
- optpricing-2.0.3/docs/reference/models/blacks_approx.md +0 -3
- optpricing-2.0.3/docs/reference/models/bsm.md +0 -3
- optpricing-2.0.3/docs/reference/models/cev.md +0 -3
- optpricing-2.0.3/docs/reference/models/cgmy.md +0 -3
- optpricing-2.0.3/docs/reference/models/cir.md +0 -3
- optpricing-2.0.3/docs/reference/models/dupire_local.md +0 -3
- optpricing-2.0.3/docs/reference/models/heston.md +0 -3
- optpricing-2.0.3/docs/reference/models/hyperbolic.md +0 -3
- optpricing-2.0.3/docs/reference/models/kou.md +0 -3
- optpricing-2.0.3/docs/reference/models/merton_jump.md +0 -3
- optpricing-2.0.3/docs/reference/models/nig.md +0 -3
- optpricing-2.0.3/docs/reference/models/perpetual_put.md +0 -3
- optpricing-2.0.3/docs/reference/models/sabr.md +0 -3
- optpricing-2.0.3/docs/reference/models/sabr_jump.md +0 -3
- optpricing-2.0.3/docs/reference/models/vasicek.md +0 -3
- optpricing-2.0.3/docs/reference/models/vg.md +0 -3
- optpricing-2.0.3/docs/reference/parity/implied_rate.md +0 -3
- optpricing-2.0.3/docs/reference/parity/parity_model.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/base/base_technique.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/base/greek_mixin.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/base/iv_mixin.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/base/lattice_technique.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/base/pricing_result.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/base/random_utils.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/closed_form.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/crr.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/fft.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/integration.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/leisen_reimer.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/monte_carlo.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/pde.md +0 -3
- optpricing-2.0.3/docs/reference/techniques/topm.md +0 -3
- optpricing-2.0.3/docs/reference/workflows/backtest_workflow.md +0 -3
- optpricing-2.0.3/docs/reference/workflows/daily_workflow.md +0 -3
- optpricing-2.0.3/src/optPricing.egg-info/SOURCES.txt +0 -175
- optpricing-2.0.3/src/optPricing.egg-info/entry_points.txt +0 -3
- optpricing-2.0.3/src/optPricing.egg-info/top_level.txt +0 -1
- optpricing-2.0.3/src/quantfin/workflows/configs/bsm_config.py +0 -9
- optpricing-2.0.3/src/quantfin/workflows/configs/merton_config.py +0 -18
- optpricing-2.0.3/src/quantfin/workflows/daily_workflow.py +0 -150
- {optpricing-2.0.3 → optpricing-2.1.0}/CHANGELOG.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/LICENSE +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/MANIFEST.in +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/images/bates.png +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/images/calibration.png +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/images/fit_jump.png +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/images/zcb.png +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/dashboard/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/data/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/models/base/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/models/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/parity/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/techniques/base/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/techniques/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/techniques/kernels/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/docs/reference/workflows/index.md +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/setup.cfg +0 -0
- {optpricing-2.0.3 → optpricing-2.1.0}/src/optPricing.egg-info/dependency_links.txt +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/atoms/bond.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/atoms/option.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/atoms/rate.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/atoms/stock.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/fit_jump_parameters.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/calibration/fit_market_params.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/pages/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/dashboard/plots.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/base/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/base/base_model.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/models/base/validators.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/parity/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/pricing_result.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/base/random_utils.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/kernels/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/kernels/lattice_kernels.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/techniques/kernels/mc_kernels.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/__init__.py +0 -0
- {optpricing-2.0.3/src/quantfin → optpricing-2.1.0/src/optpricing}/workflows/configs/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
|
-
Name:
|
|
3
|
-
Version: 2.0
|
|
2
|
+
Name: optpricing
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: A financial options pricing and analysis library.
|
|
5
5
|
Author-email: Diljit Singh <first_last22@google.com>
|
|
6
6
|
License: # MIT LICENSE
|
|
@@ -13,7 +13,7 @@ License: # MIT LICENSE
|
|
|
13
13
|
|
|
14
14
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
15
15
|
|
|
16
|
-
Project-URL: Homepage, https://diljit22.github.io/
|
|
16
|
+
Project-URL: Homepage, https://diljit22.github.io/quantfin/
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
18
|
Classifier: License :: OSI Approved :: MIT License
|
|
19
19
|
Classifier: Operating System :: OS Independent
|
|
@@ -27,7 +27,6 @@ Requires-Dist: pandas~=2.2.3
|
|
|
27
27
|
Requires-Dist: numba~=0.61.2
|
|
28
28
|
Requires-Dist: pyyaml~=6.0.2
|
|
29
29
|
Requires-Dist: click~=8.1
|
|
30
|
-
Requires-Dist: polygon-api-client~=1.14.6
|
|
31
30
|
Requires-Dist: typer~=0.15.2
|
|
32
31
|
Requires-Dist: streamlit~=1.45.1
|
|
33
32
|
Requires-Dist: matplotlib~=3.10.1
|
|
@@ -45,10 +44,10 @@ Requires-Dist: mkdocs-section-index; extra == "dev"
|
|
|
45
44
|
Requires-Dist: line_profiler; extra == "dev"
|
|
46
45
|
Dynamic: license-file
|
|
47
46
|
|
|
48
|
-
#
|
|
47
|
+
# optpricing
|
|
49
48
|
|
|
50
49
|
[](https://github.com/diljit22/quantfin/actions/workflows/ci.yml)
|
|
51
|
-
[](https://pypi.org/project/optpricing/)
|
|
52
51
|
[](https://opensource.org/licenses/MIT)
|
|
53
52
|
[](https://www.python.org/downloads/)
|
|
54
53
|
|
|
@@ -56,9 +55,9 @@ Dynamic: license-file
|
|
|
56
55
|
|
|
57
56
|
## Introduction
|
|
58
57
|
|
|
59
|
-
Welcome to **
|
|
58
|
+
Welcome to **optpricing**, a comprehensive Python toolkit for pricing and calibrating financial derivatives. This library was originally designed for me to learn about the more nuanced methods of quantitative finance and has since grown into a robust framework for analysis.
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
optpricing is structured around four core pillars:
|
|
62
61
|
|
|
63
62
|
- **Atoms**: Fundamental data types (`Option`, `Stock`, `Rate`) that ensure consistency and clarity of inputs across the library.
|
|
64
63
|
- **Models**: A broad library ranging from classical Black-Scholes-Merton to advanced stochastic volatility (Heston, SABR) and jump/Lévy processes.
|
|
@@ -73,16 +72,14 @@ Get started in minutes using the command-line interface.
|
|
|
73
72
|
|
|
74
73
|
```bash
|
|
75
74
|
# 1. Install the library with all features, including the dashboard
|
|
76
|
-
pip install "
|
|
75
|
+
pip install "optpricing"
|
|
77
76
|
|
|
78
77
|
# 2. Download historical data for a ticker (used by some models)
|
|
79
|
-
|
|
78
|
+
optpricing data download --ticker SPY
|
|
80
79
|
|
|
81
80
|
# 3. Launch the interactive dashboard to visualize the results
|
|
82
|
-
|
|
81
|
+
optpricing dashboard
|
|
83
82
|
|
|
84
|
-
# 4. See a demo of the engine
|
|
85
|
-
quantfin demo
|
|
86
83
|
```
|
|
87
84
|
|
|
88
85
|
## Documentation & Links
|
|
@@ -90,24 +87,18 @@ quantfin demo
|
|
|
90
87
|
For a detailed tutorial, full API reference, and more examples, please see the official documentation.
|
|
91
88
|
|
|
92
89
|
- **Getting Started**:
|
|
93
|
-
[Installation Guide](https://diljit22.github.io/
|
|
94
|
-
[Walkthrough](https://diljit22.github.io/
|
|
90
|
+
[Installation Guide](https://diljit22.github.io/quantfin/guide/installation/) ·
|
|
91
|
+
[Walkthrough](https://diljit22.github.io/quantfin/guide/getting_started/)
|
|
95
92
|
|
|
96
93
|
- **Documentation**:
|
|
97
|
-
[API Reference](https://diljit22.github.io/
|
|
94
|
+
[API Reference](https://diljit22.github.io/quantfin)
|
|
98
95
|
|
|
99
96
|
- **Interactive Dashboard**:
|
|
100
|
-
[Launch the UI](https://diljit22.github.io/
|
|
97
|
+
[Launch the UI](https://diljit22.github.io/quantfin/guide/dashboard/)
|
|
101
98
|
|
|
102
99
|
- **About Me**:
|
|
103
100
|
[LinkedIn](https://www.linkedin.com/in/singhdiljit/)
|
|
104
101
|
|
|
105
|
-
To explore all available commands, run:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
quantfin --help
|
|
109
|
-
```
|
|
110
|
-
|
|
111
102
|
## Contributing & License
|
|
112
103
|
|
|
113
104
|
See [CONTRIBUTING](/CONTRIBUTING.md) and [LICENSE](LICENSE).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#
|
|
1
|
+
# optpricing
|
|
2
2
|
|
|
3
3
|
[](https://github.com/diljit22/quantfin/actions/workflows/ci.yml)
|
|
4
|
-
[](https://pypi.org/project/optpricing/)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://www.python.org/downloads/)
|
|
7
7
|
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
|
|
10
10
|
## Introduction
|
|
11
11
|
|
|
12
|
-
Welcome to **
|
|
12
|
+
Welcome to **optpricing**, a comprehensive Python toolkit for pricing and calibrating financial derivatives. This library was originally designed for me to learn about the more nuanced methods of quantitative finance and has since grown into a robust framework for analysis.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
optpricing is structured around four core pillars:
|
|
15
15
|
|
|
16
16
|
- **Atoms**: Fundamental data types (`Option`, `Stock`, `Rate`) that ensure consistency and clarity of inputs across the library.
|
|
17
17
|
- **Models**: A broad library ranging from classical Black-Scholes-Merton to advanced stochastic volatility (Heston, SABR) and jump/Lévy processes.
|
|
@@ -26,16 +26,14 @@ Get started in minutes using the command-line interface.
|
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
# 1. Install the library with all features, including the dashboard
|
|
29
|
-
pip install "
|
|
29
|
+
pip install "optpricing"
|
|
30
30
|
|
|
31
31
|
# 2. Download historical data for a ticker (used by some models)
|
|
32
|
-
|
|
32
|
+
optpricing data download --ticker SPY
|
|
33
33
|
|
|
34
34
|
# 3. Launch the interactive dashboard to visualize the results
|
|
35
|
-
|
|
35
|
+
optpricing dashboard
|
|
36
36
|
|
|
37
|
-
# 4. See a demo of the engine
|
|
38
|
-
quantfin demo
|
|
39
37
|
```
|
|
40
38
|
|
|
41
39
|
## Documentation & Links
|
|
@@ -43,24 +41,18 @@ quantfin demo
|
|
|
43
41
|
For a detailed tutorial, full API reference, and more examples, please see the official documentation.
|
|
44
42
|
|
|
45
43
|
- **Getting Started**:
|
|
46
|
-
[Installation Guide](https://diljit22.github.io/
|
|
47
|
-
[Walkthrough](https://diljit22.github.io/
|
|
44
|
+
[Installation Guide](https://diljit22.github.io/quantfin/guide/installation/) ·
|
|
45
|
+
[Walkthrough](https://diljit22.github.io/quantfin/guide/getting_started/)
|
|
48
46
|
|
|
49
47
|
- **Documentation**:
|
|
50
|
-
[API Reference](https://diljit22.github.io/
|
|
48
|
+
[API Reference](https://diljit22.github.io/quantfin)
|
|
51
49
|
|
|
52
50
|
- **Interactive Dashboard**:
|
|
53
|
-
[Launch the UI](https://diljit22.github.io/
|
|
51
|
+
[Launch the UI](https://diljit22.github.io/quantfin/guide/dashboard/)
|
|
54
52
|
|
|
55
53
|
- **About Me**:
|
|
56
54
|
[LinkedIn](https://www.linkedin.com/in/singhdiljit/)
|
|
57
55
|
|
|
58
|
-
To explore all available commands, run:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
quantfin --help
|
|
62
|
-
```
|
|
63
|
-
|
|
64
56
|
## Contributing & License
|
|
65
57
|
|
|
66
58
|
See [CONTRIBUTING](/CONTRIBUTING.md) and [LICENSE](LICENSE).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Using the Interactive Dashboard
|
|
2
2
|
|
|
3
|
-
The `
|
|
3
|
+
The `optpricing` library includes an interactive dashboard built with Streamlit,
|
|
4
4
|
providing a visual interface for the library's core features.
|
|
5
5
|
|
|
6
6
|
## Launching the Dashboard
|
|
@@ -8,13 +8,13 @@ providing a visual interface for the library's core features.
|
|
|
8
8
|
To use the dashboard, you must first install the library with the `[app]` extra dependencies:
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
pip install
|
|
11
|
+
pip install optpricing[app]
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Once installed, you can launch the application from your terminal with a single command:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
|
|
17
|
+
optpricing dashboard
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
This will open the application in a new browser tab.
|
|
@@ -8,18 +8,18 @@ interface (CLI).
|
|
|
8
8
|
|
|
9
9
|
## 1. Run the Built-In Demo
|
|
10
10
|
|
|
11
|
-
The quickest way to see
|
|
11
|
+
The quickest way to see optpricing in action is with the included benchmark script.
|
|
12
12
|
|
|
13
13
|
**Prerequisite**: install the library if you haven’t already:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
pip install
|
|
16
|
+
pip install optpricing
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Then execute:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
|
|
22
|
+
optpricing demo
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
This will price a standard option across multiple models and techniques and print a
|
|
@@ -32,9 +32,9 @@ formatted comparison table.
|
|
|
32
32
|
First, import and configure the objects you need:
|
|
33
33
|
|
|
34
34
|
```python
|
|
35
|
-
from
|
|
36
|
-
from
|
|
37
|
-
from
|
|
35
|
+
from optpricing.atoms import Option, Stock, Rate, OptionType, ZeroCouponBond
|
|
36
|
+
from optpricing.models import BSMModel, VasicekModel, CIRModel
|
|
37
|
+
from optpricing.techniques import ClosedFormTechnique
|
|
38
38
|
|
|
39
39
|
# 1. Define an option, underlying and rate
|
|
40
40
|
option = Option(strike=105, maturity=1.0, option_type=OptionType.CALL)
|
|
@@ -85,7 +85,7 @@ print(f"Implied volatility for price ${target_price:.2f}: {iv:.4%}")
|
|
|
85
85
|
|
|
86
86
|
## 3. Pricing Interest‐Rate Instruments
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
optpricing reuses the same pricing interfaces for interest‐rate models:
|
|
89
89
|
|
|
90
90
|
```python
|
|
91
91
|
# Zero‐coupon bond maturing in 1 year
|
|
@@ -113,7 +113,7 @@ print(f"CIR ZCB Price: {p_cir:.4f}")
|
|
|
113
113
|
### 4.1 Price an Option
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
|
-
|
|
116
|
+
optpricing price \
|
|
117
117
|
--ticker SPY \
|
|
118
118
|
--strike 500 \
|
|
119
119
|
--maturity 2025-12-19 \
|
|
@@ -131,7 +131,7 @@ quantfin price \
|
|
|
131
131
|
The tools implied-rate command fetches live prices for a call-put pair and calculates the risk-free rate implied by put-call parity.
|
|
132
132
|
|
|
133
133
|
```bash
|
|
134
|
-
|
|
134
|
+
optpricing tools implied-rate --ticker SPY --strike 500 --maturity 2025-12-19
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
---
|
|
@@ -141,17 +141,17 @@ quantfin tools implied-rate --ticker SPY --strike 500 --maturity 2025-12-19
|
|
|
141
141
|
Download historical returns (for initial guesses and jump paramaters):
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
|
|
144
|
+
optpricing data download --ticker SPY
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
Download a snapshot of the market-data
|
|
148
148
|
|
|
149
149
|
```bash
|
|
150
150
|
# For the 25 benchmark stocks use --all
|
|
151
|
-
|
|
151
|
+
optpricing data snapshot --all
|
|
152
152
|
|
|
153
153
|
# If just a particular ticker use e.g.
|
|
154
|
-
|
|
154
|
+
optpricing data snapshot --ticker SPY --ticker AAPL
|
|
155
155
|
```
|
|
156
156
|
|
|
157
157
|
A simple calibration for the Merton Jump model. The workflow will find the latest market data
|
|
@@ -160,7 +160,7 @@ for SPY and solve for the implied volatility that best fits the front-month opti
|
|
|
160
160
|
The `--verbose` flag provides detailed logs from the workflow.
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
|
-
|
|
163
|
+
optpricing calibrate --ticker SPY --model Merton --verbose
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
The final calibrated parameters are printed to the console and saved to a JSON file in
|
|
@@ -173,19 +173,19 @@ the `artifacts/calibrated_params/` directory.
|
|
|
173
173
|
* Download specific tickers:
|
|
174
174
|
|
|
175
175
|
```bash
|
|
176
|
-
|
|
176
|
+
optpricing data download --ticker AAPL --ticker TSLA
|
|
177
177
|
```
|
|
178
178
|
|
|
179
179
|
* Download all defaults (from `config.yaml`):
|
|
180
180
|
|
|
181
181
|
```bash
|
|
182
|
-
|
|
182
|
+
optpricing data download --all
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
* Snapshot the live option chain:
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
|
-
|
|
188
|
+
optpricing data snapshot --ticker NVDA
|
|
189
189
|
```
|
|
190
190
|
|
|
191
191
|
---
|
|
@@ -206,13 +206,13 @@ pytest
|
|
|
206
206
|
Make sure you have the `[app]` extras installed:
|
|
207
207
|
|
|
208
208
|
```bash
|
|
209
|
-
pip install
|
|
209
|
+
pip install optpricing[app]
|
|
210
210
|
```
|
|
211
211
|
|
|
212
212
|
Then run:
|
|
213
213
|
|
|
214
214
|
```bash
|
|
215
|
-
|
|
215
|
+
optpricing dashboard
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
This will open the Streamlit application in your browser for interactive exploration.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Installation
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The optpricing library is published on the Python Package Index (PyPI) and can be easily installed using `pip`. A Python version of 3.10 or higher is required.
|
|
4
4
|
|
|
5
5
|
## Standard Installation
|
|
6
6
|
|
|
7
7
|
For most use cases, including running the command-line interface for calibration and backtesting, you can install the core library with the following command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
pip install
|
|
10
|
+
pip install optpricing
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
This will install the library and all its core dependencies, such as numpy, scipy, and typer.
|
|
@@ -17,17 +17,17 @@ This will install the library and all its core dependencies, such as numpy, scip
|
|
|
17
17
|
The library includes an optional interactive dashboard built with Streamlit, which provides a visual way to interact with the pricing and calibration tools. To install the core library along with the dependencies needed to run the dashboard, use the [app] extra:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
pip install
|
|
20
|
+
pip install optpricing[app]
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
This is the recommended installation if you plan to use the visual tools.
|
|
24
24
|
|
|
25
25
|
## Developer Installation
|
|
26
26
|
|
|
27
|
-
If you wish to contribute to the development of
|
|
27
|
+
If you wish to contribute to the development of optpricing, or if you want to make local modifications to the source code, you should clone the repository and install it in "editable" mode.
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
30
|
git clone https://github.com/diljit22/quantfin.git
|
|
31
|
-
cd
|
|
31
|
+
cd optpricing
|
|
32
32
|
pip install -e .[app,dev]
|
|
33
33
|
```
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Introduction
|
|
2
2
|
|
|
3
|
-
Welcome to the
|
|
3
|
+
Welcome to the optpricing library! This documentation is your comprehensive guide to understanding and using all the features this library has to offer.
|
|
4
4
|
|
|
5
|
-
## What is
|
|
5
|
+
## What is optpricing?
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
optpricing is a Python library designed to provide a toolkit for quantitative finance, with a primary focus on the pricing and analysis of financial derivatives.
|
|
8
8
|
|
|
9
9
|
The library is organized around a few core concepts; understanding these will help you navigate the codebase and documentation.
|
|
10
10
|
|
|
@@ -30,6 +30,6 @@ The library was designed with the following principles in mind:
|
|
|
30
30
|
|
|
31
31
|
Ready to get started? Head over to:
|
|
32
32
|
|
|
33
|
-
- [Getting Started](
|
|
34
|
-
- [API Reference](reference/atoms/index.md)
|
|
35
|
-
- [Interactive Dashboard](
|
|
33
|
+
- [Getting Started](getting_started.md)
|
|
34
|
+
- [API Reference](../reference/atoms/index.md)
|
|
35
|
+
- [Interactive Dashboard](dashboard.md)
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Welcome to
|
|
1
|
+
# Welcome to optpricing
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
optpricing is a Python library for pricing and calibrating financial derivatives.
|
|
4
4
|
|
|
5
5
|
It features a rich CLI, as well as an interactive dashboard;
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
optpricing dashboard
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
This will open a Streamlit application in your browser where you can perform calibrations, price options, and visualize results without writing any code.
|
|
12
12
|
|
|
13
|
-

|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Atoms Package
|
|
2
|
+
|
|
3
|
+
The `atoms` package provides the fundamental data structures used throughout the `optpricing` library. These classes are immutable containers that represent core financial concepts.
|
|
4
|
+
|
|
5
|
+
- **Stock**: Represents the underlying asset.
|
|
6
|
+
- **Option**: Represents a vanilla option contract, including its type and style.
|
|
7
|
+
- **Rate**: Represents the risk-free interest rate structure.
|
|
8
|
+
- **Bond**: Represents a simple zero-coupon bond.
|
|
@@ -4,8 +4,8 @@ This module provides utilities to fit market-implied parameters from option pric
|
|
|
4
4
|
|
|
5
5
|
### Fit Rate and Dividend
|
|
6
6
|
|
|
7
|
-
::: src.
|
|
7
|
+
::: src.optpricing.calibration.fit_market_params.fit_rate_and_dividend
|
|
8
8
|
|
|
9
9
|
### Find ATM Options
|
|
10
10
|
|
|
11
|
-
::: src.
|
|
11
|
+
::: src.optpricing.calibration.fit_market_params.find_atm_options
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Calibration Package
|
|
2
|
+
|
|
3
|
+
The `calibration` package provides a comprehensive suite of tools for fitting financial models to market data, estimating parameters from historical data, and calculating implied volatility surfaces.
|
|
4
|
+
|
|
5
|
+
- **Calibrator**: The main class for orchestrating the optimization process to fit model parameters to market option prices.
|
|
6
|
+
- **VolatilitySurface**: A class to compute and manage implied volatility surfaces from both market and model-generated prices.
|
|
7
|
+
- **Parameter Fitters**: Utility functions to estimate specific parameters, such as `fit_rate_and_dividend` from put-call parity or `fit_jump_params_from_history` from historical returns.
|
|
8
|
+
- **Technique Selector**: A helper function to automatically select the most efficient pricing technique for a given model.
|
|
9
|
+
- **IV Solvers**: High-performance, vectorized solvers for calculating implied volatility.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Command-Line Interface (CLI)
|
|
2
|
+
|
|
3
|
+
The `optpricing` library provides a powerful command-line interface for running common tasks like data downloading, model calibration, and backtesting.
|
|
4
|
+
|
|
5
|
+
The main entry point is the `optpricing` command. You can see all available commands by running:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
optpricing --help
|
|
9
|
+
```
|
|
@@ -4,8 +4,8 @@ This module contains functions for generating visualizations used in the dashboa
|
|
|
4
4
|
|
|
5
5
|
### Volatility Smiles
|
|
6
6
|
|
|
7
|
-
::: src.
|
|
7
|
+
::: src.optpricing.dashboard.plots.plot_smiles_by_expiry
|
|
8
8
|
|
|
9
9
|
### 3D Volatility Surface
|
|
10
10
|
|
|
11
|
-
::: src.
|
|
11
|
+
::: src.optpricing.dashboard.plots.plot_iv_surface_3d
|