quantark 0.1.2__tar.gz → 0.2.1__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.
- {quantark-0.1.2 → quantark-0.2.1}/CHANGELOG.md +13 -0
- {quantark-0.1.2 → quantark-0.2.1}/PKG-INFO +107 -111
- {quantark-0.1.2 → quantark-0.2.1}/README.md +107 -111
- {quantark-0.1.2 → quantark-0.2.1}/pyproject.toml +1 -1
- {quantark-0.1.2 → quantark-0.2.1}/quantark/__init__.py +1 -1
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/__init__.py +14 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/__init__.py +4 -0
- quantark-0.2.1/quantark/asset/equity/engine/analytical/accumulator_analytical_engine.py +363 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/asian_option_analytical_engine.py +139 -73
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/digital_option_engine.py +53 -1
- quantark-0.2.1/quantark/asset/equity/engine/analytical/heston_analytical_engine.py +79 -0
- quantark-0.2.1/quantark/asset/equity/engine/cashflow/__init__.py +23 -0
- quantark-0.2.1/quantark/asset/equity/engine/cashflow/accrual_calculator.py +151 -0
- quantark-0.2.1/quantark/asset/equity/engine/cashflow/total_return_swap_engine.py +566 -0
- quantark-0.2.1/quantark/asset/equity/engine/cashflow/trs_cva_exposure.py +37 -0
- quantark-0.2.1/quantark/asset/equity/engine/cashflow/trs_cva_repricer.py +357 -0
- quantark-0.2.1/quantark/asset/equity/engine/cashflow/trs_valuation.py +177 -0
- quantark-0.2.1/quantark/asset/equity/engine/localvol_greeks.py +68 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/__init__.py +10 -0
- quantark-0.2.1/quantark/asset/equity/engine/mc/accumulator_mc_engine.py +389 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/asian_option_mc_engine.py +55 -33
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/euro_mc_engine.py +10 -0
- quantark-0.2.1/quantark/asset/equity/engine/mc/heston_mc_engine.py +75 -0
- quantark-0.2.1/quantark/asset/equity/engine/mc/heston_slv_mc_engine.py +97 -0
- quantark-0.2.1/quantark/asset/equity/engine/mc/local_vol_mc_engine.py +88 -0
- quantark-0.2.1/quantark/asset/equity/engine/mc/sabr_mc_engine.py +76 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/__init__.py +6 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/base_pde_solver.py +12 -0
- quantark-0.2.1/quantark/asset/equity/engine/pde/heston_pde_solver.py +110 -0
- quantark-0.2.1/quantark/asset/equity/engine/pde/heston_slv_pde_solver.py +105 -0
- quantark-0.2.1/quantark/asset/equity/engine/pde/local_vol_pde_solver.py +99 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/phoenix_pde_solver.py +9 -3
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/ko_reset_snowball_quad_engine.py +22 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/phoenix_quad_engine.py +31 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/snowball_quad_engine.py +66 -0
- quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_brownian_bridge.py +10 -0
- quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_rqmc_driver.py +4 -0
- quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_sobol.py +8 -0
- quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_variance_reduction.py +11 -0
- quantark-0.2.1/quantark/asset/equity/process/sabr/__init__.py +3 -0
- quantark-0.2.1/quantark/asset/equity/process/sabr/sabr_process.py +116 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/__init__.py +3 -0
- quantark-0.2.1/quantark/asset/equity/product/option/accumulator_option.py +442 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/asian_option.py +138 -18
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/snowball_helpers.py +17 -1
- quantark-0.2.1/quantark/asset/equity/product/swap/__init__.py +67 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/base_swap.py +34 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/multi_asset_trs.py +262 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/one_asset_trs.py +66 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/one_asset_trs_dual_ccy.py +101 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/trs_event_handler.py +97 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/trs_params.py +199 -0
- quantark-0.2.1/quantark/asset/equity/product/swap/trs_schedule.py +129 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/term_structure.py +3 -1
- quantark-0.2.1/quantark/asset/equity/riskmeasures/__init__.py +7 -0
- quantark-0.2.1/quantark/asset/equity/riskmeasures/vol_model_risk.py +23 -0
- quantark-0.2.1/quantark/asset/fx/engine/__init__.py +31 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/__init__.py +42 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_digital_engine.py +78 -1
- quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_foreign_range_accrual_engine.py +113 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_heston_analytical_engine.py +78 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_quanto_range_accrual_engine.py +120 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_range_accrual_engine.py +390 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/garman_kohlhagen_engine.py +9 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/__init__.py +62 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/arbitrage.py +67 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/attenuation.py +311 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/barrier_bs.py +281 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/vv_barrier.py +193 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/vv_barrier_engine.py +94 -0
- quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/vv_vanilla_barrier.py +208 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/base_fx_engine.py +53 -0
- quantark-0.2.1/quantark/asset/fx/engine/localvol_common.py +54 -0
- quantark-0.2.1/quantark/asset/fx/engine/localvol_greeks.py +76 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/__init__.py +28 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/fx_barrier_mc_engine.py +302 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/fx_mc_params.py +47 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/fx_range_accrual_mc_engine.py +343 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/fx_sharkfin_mc_engine.py +122 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/fx_tarf_mc_engine.py +180 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/fx_tarn_note_mc_engine.py +188 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/heston_mc_engine.py +75 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/heston_slv_mc_engine.py +87 -0
- quantark-0.2.1/quantark/asset/fx/engine/mc/local_vol_mc_engine.py +77 -0
- quantark-0.2.1/quantark/asset/fx/engine/pde/__init__.py +7 -0
- quantark-0.2.1/quantark/asset/fx/engine/pde/heston_pde_solver.py +111 -0
- quantark-0.2.1/quantark/asset/fx/engine/pde/heston_slv_pde_solver.py +109 -0
- quantark-0.2.1/quantark/asset/fx/engine/pde/local_vol_pde_solver.py +78 -0
- quantark-0.2.1/quantark/asset/fx/process/__init__.py +7 -0
- quantark-0.2.1/quantark/asset/fx/process/fx_gk_path_generator.py +141 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/__init__.py +10 -0
- quantark-0.2.1/quantark/asset/fx/product/option/__init__.py +36 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_barrier_option.py +121 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_foreign_range_accrual_option.py +70 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_one_touch_option.py +71 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_quanto_range_accrual_option.py +99 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_range_accrual_config.py +258 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_range_accrual_option.py +318 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_sharkfin_option.py +152 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_target_redemption_forward.py +145 -0
- quantark-0.2.1/quantark/asset/fx/product/option/fx_target_redemption_note.py +198 -0
- quantark-0.2.1/quantark/asset/fx/riskmeasures/__init__.py +7 -0
- quantark-0.2.1/quantark/asset/fx/riskmeasures/vol_model_risk.py +23 -0
- quantark-0.2.1/quantark/asset/vol_model_risk.py +608 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/engine.py +22 -9
- quantark-0.2.1/quantark/montecarlo/__init__.py +47 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/__init__.py +3 -1
- quantark-0.2.1/quantark/param/vol/__init__.py +23 -0
- quantark-0.2.1/quantark/param/vol/collapse_guard.py +43 -0
- quantark-0.2.1/quantark/param/vol/sabr/__init__.py +33 -0
- quantark-0.2.1/quantark/param/vol/sabr/calibration.py +290 -0
- quantark-0.2.1/quantark/param/vol/sabr/diagnostics.py +80 -0
- quantark-0.2.1/quantark/param/vol/sabr/hagan.py +292 -0
- quantark-0.2.1/quantark/param/vol/sabr/sabr_surface.py +200 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/__init__.py +55 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/bs_fx.py +153 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/market_conventions.py +222 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/smile_builder.py +146 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/vv_core.py +142 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/vv_surface.py +185 -0
- quantark-0.2.1/quantark/param/vol/vannavolga/vv_term_structure.py +203 -0
- quantark-0.2.1/quantark/param/vol/vol_surface.py +205 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/__init__.py +2 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/equity/__init__.py +2 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/equity/portfolio.py +48 -1
- quantark-0.2.1/quantark/portfolio/equity/swap_position.py +366 -0
- quantark-0.2.1/quantark/saccr/__init__.py +46 -0
- quantark-0.2.1/quantark/saccr/calculator.py +144 -0
- quantark-0.2.1/quantark/saccr/dashboard.py +509 -0
- quantark-0.2.1/quantark/saccr/engines/__init__.py +1 -0
- quantark-0.2.1/quantark/saccr/engines/addons/__init__.py +17 -0
- quantark-0.2.1/quantark/saccr/engines/addons/base.py +55 -0
- quantark-0.2.1/quantark/saccr/engines/addons/commodity.py +116 -0
- quantark-0.2.1/quantark/saccr/engines/addons/credit.py +108 -0
- quantark-0.2.1/quantark/saccr/engines/addons/equity.py +97 -0
- quantark-0.2.1/quantark/saccr/engines/addons/fx.py +87 -0
- quantark-0.2.1/quantark/saccr/engines/addons/interest_rate.py +120 -0
- quantark-0.2.1/quantark/saccr/engines/maths.py +188 -0
- quantark-0.2.1/quantark/saccr/engines/pfe.py +38 -0
- quantark-0.2.1/quantark/saccr/engines/replacement_cost.py +26 -0
- quantark-0.2.1/quantark/saccr/models/__init__.py +27 -0
- quantark-0.2.1/quantark/saccr/models/enums.py +113 -0
- quantark-0.2.1/quantark/saccr/models/netting_set.py +115 -0
- quantark-0.2.1/quantark/saccr/models/trade.py +194 -0
- quantark-0.2.1/quantark/saccr/parameters/__init__.py +5 -0
- quantark-0.2.1/quantark/saccr/parameters/supervisory.py +215 -0
- quantark-0.2.1/quantark/saccr/results/__init__.py +5 -0
- quantark-0.2.1/quantark/saccr/results/result.py +50 -0
- quantark-0.2.1/quantark/sacva/__init__.py +45 -0
- quantark-0.2.1/quantark/sacva/calculator.py +80 -0
- quantark-0.2.1/quantark/sacva/cva/__init__.py +5 -0
- quantark-0.2.1/quantark/sacva/cva/engine.py +47 -0
- quantark-0.2.1/quantark/sacva/dashboard.py +129 -0
- quantark-0.2.1/quantark/sacva/engines/__init__.py +0 -0
- quantark-0.2.1/quantark/sacva/engines/base.py +155 -0
- quantark-0.2.1/quantark/sacva/engines/commodity.py +37 -0
- quantark-0.2.1/quantark/sacva/engines/correlations.py +33 -0
- quantark-0.2.1/quantark/sacva/engines/counterparty_credit.py +45 -0
- quantark-0.2.1/quantark/sacva/engines/equity.py +37 -0
- quantark-0.2.1/quantark/sacva/engines/fx.py +36 -0
- quantark-0.2.1/quantark/sacva/engines/interest_rate.py +71 -0
- quantark-0.2.1/quantark/sacva/engines/reference_credit.py +40 -0
- quantark-0.2.1/quantark/sacva/exposure/__init__.py +6 -0
- quantark-0.2.1/quantark/sacva/exposure/asof.py +51 -0
- quantark-0.2.1/quantark/sacva/exposure/correlation.py +42 -0
- quantark-0.2.1/quantark/sacva/exposure/curves.py +85 -0
- quantark-0.2.1/quantark/sacva/exposure/engine.py +160 -0
- quantark-0.2.1/quantark/sacva/exposure/grid.py +54 -0
- quantark-0.2.1/quantark/sacva/exposure/historical/__init__.py +0 -0
- quantark-0.2.1/quantark/sacva/exposure/historical/calibration.py +138 -0
- quantark-0.2.1/quantark/sacva/exposure/historical/engine.py +192 -0
- quantark-0.2.1/quantark/sacva/exposure/historical/path_generator.py +140 -0
- quantark-0.2.1/quantark/sacva/exposure/historical/pfe.py +80 -0
- quantark-0.2.1/quantark/sacva/exposure/historical/resampling.py +96 -0
- quantark-0.2.1/quantark/sacva/exposure/paths.py +141 -0
- quantark-0.2.1/quantark/sacva/exposure/phoenix_surface.py +176 -0
- quantark-0.2.1/quantark/sacva/exposure/repricer.py +198 -0
- quantark-0.2.1/quantark/sacva/exposure/simulator.py +504 -0
- quantark-0.2.1/quantark/sacva/exposure/snowball_surface.py +282 -0
- quantark-0.2.1/quantark/sacva/exposure/statemachine.py +314 -0
- quantark-0.2.1/quantark/sacva/exposure/value_surface.py +111 -0
- quantark-0.2.1/quantark/sacva/models/__init__.py +0 -0
- quantark-0.2.1/quantark/sacva/models/enums.py +31 -0
- quantark-0.2.1/quantark/sacva/models/portfolio.py +27 -0
- quantark-0.2.1/quantark/sacva/models/sensitivity.py +124 -0
- quantark-0.2.1/quantark/sacva/parameters/__init__.py +0 -0
- quantark-0.2.1/quantark/sacva/parameters/supervisory.py +250 -0
- quantark-0.2.1/quantark/sacva/portfolio/__init__.py +14 -0
- quantark-0.2.1/quantark/sacva/portfolio/counterparty.py +38 -0
- quantark-0.2.1/quantark/sacva/portfolio/credit_curve.py +59 -0
- quantark-0.2.1/quantark/sacva/portfolio/netting.py +36 -0
- quantark-0.2.1/quantark/sacva/portfolio/trade.py +66 -0
- quantark-0.2.1/quantark/sacva/portfolio/trade_portfolio.py +29 -0
- quantark-0.2.1/quantark/sacva/results/__init__.py +0 -0
- quantark-0.2.1/quantark/sacva/results/result.py +26 -0
- quantark-0.2.1/quantark/sacva/sacva_engine.py +336 -0
- quantark-0.2.1/quantark/sacva/sensitivities/__init__.py +1 -0
- quantark-0.2.1/quantark/sacva/sensitivities/curve_bump.py +63 -0
- quantark-0.2.1/quantark/sacva/sensitivities/engine.py +53 -0
- quantark-0.2.1/quantark/sacva/sensitivities/shifts.py +46 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/dashboard.py +1 -1
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/business_calendar.py +160 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/__init__.py +18 -1
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/engine_enums.py +76 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/fx_enums.py +14 -0
- quantark-0.2.1/quantark/util/enum/greek_conventions.py +19 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/option_enums.py +19 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/historical.py +9 -6
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/monte_carlo.py +8 -6
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/parametric.py +51 -71
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/revaluation.py +18 -0
- quantark-0.2.1/quantark/volmodels/__init__.py +7 -0
- quantark-0.2.1/quantark/volmodels/black_scholes.py +87 -0
- quantark-0.2.1/quantark/volmodels/curves.py +61 -0
- quantark-0.2.1/quantark/volmodels/heston/__init__.py +28 -0
- quantark-0.2.1/quantark/volmodels/heston/analytical_kernel.py +184 -0
- quantark-0.2.1/quantark/volmodels/heston/calibration.py +162 -0
- quantark-0.2.1/quantark/volmodels/heston/mc_kernel.py +201 -0
- quantark-0.2.1/quantark/volmodels/heston/params.py +47 -0
- quantark-0.2.1/quantark/volmodels/heston/pde_kernel.py +395 -0
- quantark-0.2.1/quantark/volmodels/localvol/__init__.py +13 -0
- quantark-0.2.1/quantark/volmodels/localvol/dupire.py +181 -0
- quantark-0.2.1/quantark/volmodels/localvol/mc_kernel.py +95 -0
- quantark-0.2.1/quantark/volmodels/localvol/pde_kernel.py +153 -0
- quantark-0.2.1/quantark/volmodels/localvol/surface.py +85 -0
- quantark-0.2.1/quantark/volmodels/risk/__init__.py +40 -0
- quantark-0.2.1/quantark/volmodels/risk/contracts.py +370 -0
- quantark-0.2.1/quantark/volmodels/risk/scenarios.py +141 -0
- quantark-0.2.1/quantark/volmodels/slv/__init__.py +17 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/__init__.py +5 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/bootstrap.py +68 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/calibration.py +107 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/config.py +59 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/coordinates.py +88 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/fp_operators.py +136 -0
- quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/fp_solver.py +108 -0
- quantark-0.2.1/quantark/volmodels/slv/leverage.py +149 -0
- quantark-0.2.1/quantark/volmodels/slv/slv_mc_kernel.py +216 -0
- quantark-0.2.1/quantark/volmodels/slv/slv_pde_kernel.py +281 -0
- quantark-0.1.2/quantark/asset/equity/riskmeasures/__init__.py +0 -7
- quantark-0.1.2/quantark/asset/fx/engine/__init__.py +0 -6
- quantark-0.1.2/quantark/asset/fx/engine/analytical/__init__.py +0 -16
- quantark-0.1.2/quantark/asset/fx/process/__init__.py +0 -6
- quantark-0.1.2/quantark/asset/fx/product/option/__init__.py +0 -14
- quantark-0.1.2/quantark/asset/fx/riskmeasures/__init__.py +0 -6
- quantark-0.1.2/quantark/param/vol/__init__.py +0 -6
- quantark-0.1.2/quantark/param/vol/vol_surface.py +0 -118
- {quantark-0.1.2 → quantark-0.2.1}/.gitignore +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/LICENSE +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/NOTICE +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/_compat.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/black_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/bond_forward_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/bond_futures_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/convertible/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/convertible/convertible_bond_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/discount/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/discount/bond_discount_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/discount/frn_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/jump_diffusion_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/pde_params.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/tf_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/binomial_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/tree_params.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/trinomial_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/base_bond_product.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/convertible/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/convertible/convertible_bond.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/couponbond/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/couponbond/fixed_bond.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/couponbond/frn.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/forward/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/forward/base_bond_forward.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/forward/bond_forward.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/futures/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/futures/bond_futures.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/option/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/option/euro_short_term_bond_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/riskmeasures/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/riskmeasures/bond_greeks_calculator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/schedule/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/schedule/cashflow.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/conventions.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/analytical/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/analytical/reduced_form.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/base_credit_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/mc/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/mc/basket_copula.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/schedule.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/base_credit_product.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/basket_cds.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/cds.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/riskmeasures/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/riskmeasures/credit_greeks_calculator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/analysis/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/analysis/autocallable_path_analyzer.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/american_option_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/barrier_analytical_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/black_scholes_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/deltaone_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/double_barrier_option_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/double_sharkfin_option_analytical_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/one_touch_analytical_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/range_accrual_analytical_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/single_sharkfin_option_analytical_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/base_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/event_stats.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/american_option_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/barrier_option_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/digital_option_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/double_sharkfin_option_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/phoenix_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/range_accrual_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/single_sharkfin_option_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/snowball_mc_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/american_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/barrier_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/double_barrier_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/double_one_touch_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/european_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/ko_reset_snowball_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/one_touch_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/snowball_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/spatial_grid.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/time_grid.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/discrete_quad_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/european_quad_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/quad_adapters.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/quad_core.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/quad_math.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_american_analytical.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_american_pde.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_asian_analytical.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_barrier_analytical.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_barrier_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_digital_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_snowball_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_american_analytical.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_american_pde.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_asian_analytical.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_barrier_analytical.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_barrier_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_digital_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_snowball_pde_solver.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/greeks_check_digital_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/mc_comparison_barrier_pde.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/quick_mc_compare.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/validation_stepdown_improved.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/autocallable.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/barrier.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/events.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/manager.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/state.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/param/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/param/engine_param_profiles.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/param/engine_params.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/bsm/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/bsm/bsm_process.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/bsm/qmc_path_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/base_equity_product.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/base_deltaone_product.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/futures.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/spot_instrument.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/american_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/barrier_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/base_equity_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/digital_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/double_barrier_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/double_one_touch_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/double_sharkfin_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/european_vanilla_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/ko_reset_snowball_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/observation_schedule.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/one_touch_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/phoenix_config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/phoenix_helpers.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/phoenix_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/range_accrual_config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/range_accrual_helpers.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/range_accrual_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/single_sharkfin_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/snowball_config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/snowball_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/autocallable_risk_report.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/plotting.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/snowball_risk_comparison_report.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/surfaces.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/riskmeasures/greeks_calculator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_deltaone_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_quanto_digital_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_quanto_vanilla_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/process/garman_kohlhagen_process.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/base_fx_product.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/currency_pair.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/base_fx_deltaone.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/fx_forward.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/fx_spot.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/fx_swap.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_digital_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_quanto_digital_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_quanto_vanilla_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_vanilla_option.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/report/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/report/fx_report.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/riskmeasures/fx_greeks_calculator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/cap_floor_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/fra_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/irs_discount_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/swaption_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/cap_floor.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/fra.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/irs.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/swaption.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/dashboard.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/hedge_executor.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/metrics.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/multi_hedge_executor.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/state.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/advanced_backtest.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/basic_delta_hedge.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/fi_dv01_hedge.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/hedge_executor.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/metrics.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/state.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/logger.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/_replay.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/book_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/dashboard.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/engine_factory.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/market.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/state.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/report_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/barrier_trigger_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/base_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/convexity_neutral_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/credit_spread_neutral_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/delta_neutral_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/dv01_neutral_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/fx_delta_neutral_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/hedge_instruments.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/hedge_optimizer.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/min_variance_delta_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/multi_greek_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/scenario_hedge_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/scenarios.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/semi_static_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/triggered_hedge_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/whalley_wilmott_strategy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/transaction_costs.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/visualizer.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/accrual_leg.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/base_amount.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/deterministic_leg.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/event_distribution.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/fixed_payoff_leg.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/leg_schedule.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/leg_valuator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/path_library.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/equity/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/path_library.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/lifecycle_manager.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/day_path.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/fi_path_library.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/path_builder.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/path_library.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/report/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/report/dynamic_report.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/report/visualizer.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/results/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/results/dynamic_results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/results/result_exporter.py +0 -0
- {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_brownian_bridge.py +0 -0
- {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_rqmc_driver.py +0 -0
- {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_sobol.py +0 -0
- {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_variance_reduction.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/basis/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/basis/basis_yield.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/credit/ajd_hazard_curve.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/credit/hazard_curve.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/div/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/div/dividend_yield.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/index/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/index/rate_index.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/quote/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/quote/spot_quote.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/rrf/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/param/rrf/rate_curve.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/credit/portfolio.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/credit/position.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/equity/position.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fi/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fi/portfolio.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fi/position.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fx/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fx/portfolio.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fx/position.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/portfolio_snapshot.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/portfolio_storage.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/credit_pricing_environment.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/fx_pricing_environment.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/pricing_environment.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/builders.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/models.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/registry.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/service.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/accessors.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/commodity.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/credit_non_qualifying.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/credit_qualifying.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/cross_risk.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/equity.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/fx.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/ir.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/version.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/crif/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/crif/models.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/crif/parser.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/addon.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/bucket_aggregator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/concentration.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/correlations.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/product_class_aggregator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/risk_class_aggregator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/simm_calculator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/weighted_sensitivity.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/classification/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/classification/bucket_mapper.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/factory.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/portfolio_adapter.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/result.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/equity_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/ir_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/provider_engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/market_data.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/crif_export.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/excel_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/html_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/attribution.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/simm_result.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/whatif.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/sensitivity.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/taxonomy.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/template/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/template/xlsx_loader.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/template/xlsx_template.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/credit_stress_applicator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/report/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/report/report_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/report/visualizer.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/metrics.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/fx_stress_applicator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/report/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/report/report_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/report/visualizer.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/result_aggregator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/result_exporter.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/stress_results.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario_builder.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario_library.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario_storage.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/stress/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/stress/stress_applicator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/stress/stress_types.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/barrier_shift.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/day_counter.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/holidayfile/china.csv +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/holidayfile/china_sse.csv +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/bond_enums.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/deltaone_enums.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/greeks_enums.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/exceptions.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/adapter/base_adapter.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/adapter/mock_adapter.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/converter.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/example_usage.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/generator/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/generator/mock_generator.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/models.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/storage/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/storage/parquet_storage.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/comparison.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/constants.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/formatting.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/pnl.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/safe_math.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/validation.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/attribution.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/backtest/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/backtest/var_backtester.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/revaluation.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/config.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/engine.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/incremental_var_result.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/var_report.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/var_result.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/__init__.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/base.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/equity_factors.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/fi_factors.py +0 -0
- {quantark-0.1.2 → quantark-0.2.1}/quantark_compat.pth +0 -0
|
@@ -5,6 +5,19 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
5
5
|
and the project adheres to [Semantic Versioning](https://semver.org/).
|
|
6
6
|
During 0.x the public API may still change between minor versions.
|
|
7
7
|
|
|
8
|
+
## [0.2.1] - 2026-06-30
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- `PhoenixPDESolver`: apply a KO observation scheduled exactly at maturity.
|
|
12
|
+
The inherited grid builder stores the maturity KO in `_ko_terminal_record`
|
|
13
|
+
(intentionally kept out of `_ko_observation_indices`), but the Phoenix
|
|
14
|
+
`_solve` override looked the terminal KO up in `_ko_observation_indices`
|
|
15
|
+
and therefore dropped it — mispricing products with a terminal KO date by
|
|
16
|
+
several percent versus the quadrature and Monte Carlo engines. Terminal KO
|
|
17
|
+
is now applied after the terminal coupon/KI jumps (matching
|
|
18
|
+
`SnowballPDESolver._solve`), routed through `_apply_ko_jump_vector` so the
|
|
19
|
+
same-date coupon-at-KO payoff is preserved.
|
|
20
|
+
|
|
8
21
|
## [0.1.2] - 2026-06-13
|
|
9
22
|
|
|
10
23
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quantark
|
|
3
|
-
Version: 0.1
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Modular derivatives pricing and risk library: options, autocallables, bonds, VaR, SIMM
|
|
5
5
|
Project-URL: Homepage, https://github.com/deiiiiii93/quantark
|
|
6
6
|
Project-URL: Repository, https://github.com/deiiiiii93/quantark
|
|
@@ -49,44 +49,62 @@ A modular, professional-grade Python library for pricing and risk management of
|
|
|
49
49
|
|
|
50
50
|
## Overview
|
|
51
51
|
|
|
52
|
-
QuantArk
|
|
52
|
+
QuantArk spans five asset classes (equity, bond, rate, FX, credit) and a full
|
|
53
|
+
risk-and-capital stack, all built on a clean, modular architecture that
|
|
54
|
+
separates concerns across composable layers:
|
|
53
55
|
|
|
54
|
-
- **Products**: Define instrument specifications (options, swaps, etc.)
|
|
55
|
-
- **Processes**: Stochastic models (Black-Scholes-Merton, Heston, Local Vol,
|
|
56
|
-
- **Engines**: Pricing algorithms (Analytical, Monte Carlo, PDE, Quadrature)
|
|
57
|
-
- **Parameters**: Market data (spot prices, volatility surfaces, rate curves, dividends)
|
|
56
|
+
- **Products**: Define instrument specifications (options, swaps, bonds, CDS, etc.)
|
|
57
|
+
- **Processes**: Stochastic models (Black-Scholes-Merton, Heston, Local Vol, SLV, Garman-Kohlhagen, hazard-rate)
|
|
58
|
+
- **Engines**: Pricing algorithms (Analytical, Monte Carlo, PDE, Quadrature, Tree)
|
|
59
|
+
- **Parameters**: Market data (spot prices, volatility surfaces incl. SABR / Vanna-Volga, rate curves, dividends)
|
|
58
60
|
- **PriceEnv**: Unified pricing environment bundling all market data
|
|
59
61
|
- **RiskMeasures**: Greeks calculation (both analytical and numerical)
|
|
62
|
+
- **Risk & Capital**: VaR, stress testing, dynamic scenarios, hedging backtests, and regulatory capital (ISDA SIMM, SA-CCR, SA-CVA)
|
|
60
63
|
|
|
61
64
|
## Features
|
|
62
65
|
|
|
63
66
|
### Current Implementation
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
71
|
-
- **
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- **
|
|
76
|
-
- **
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- **
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- **
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
- **
|
|
68
|
+
#### Equity derivatives
|
|
69
|
+
- **Vanilla**: European and American options (analytical BS93/BS02/BAW, MC LSM, PDE)
|
|
70
|
+
- **Asian, Digital, Barrier, Double-Barrier, One-Touch, Double-One-Touch** options
|
|
71
|
+
- **Autocallables**: Snowball, Phoenix, KO-Reset Snowball (MC, PDE, Quad engines)
|
|
72
|
+
- **Structured**: Range Accrual, Accumulator, Single/Double Sharkfin
|
|
73
|
+
- **Total Return Swaps**: single-asset, multi-asset, and dual-currency, with realized-cashflow accounting
|
|
74
|
+
- **Delta-One**: spot instruments and futures
|
|
75
|
+
|
|
76
|
+
#### Stochastic models & engines
|
|
77
|
+
- **Processes**: Black-Scholes-Merton (continuous dividend yield), Heston, Local Vol (Dupire), Stochastic Local Vol (SLV)
|
|
78
|
+
- **Engines**: Analytical (closed-form), Monte Carlo (QMC — Sobol, Brownian bridge, randomized QMC, antithetic/control-variate variance reduction), PDE (finite-difference, banded solvers), Quadrature, Tree
|
|
79
|
+
- **Shared MC layer** (`quantark/montecarlo/`): reusable QMC path generation across equity and FX
|
|
80
|
+
|
|
81
|
+
#### Fixed income
|
|
82
|
+
- **Bonds**: fixed-rate coupon bonds, FRNs, convertible bonds, bond forwards, bond futures, bond options
|
|
83
|
+
- **Interest rate**: swaps (IRS), FRAs, caps/floors, swaptions — with DV01 / key-rate risk
|
|
84
|
+
|
|
85
|
+
#### FX derivatives
|
|
86
|
+
- **Garman-Kohlhagen** vanilla, digital, and quanto (vanilla / digital) options with two-curve discounting
|
|
87
|
+
- **Path-dependent / exotic**: barrier, one-touch, sharkfin, range accrual (domestic / quanto / foreign), target-redemption forwards & notes (TARF / TARN)
|
|
88
|
+
- **Smile models**: SABR (Hagan) and Vanna-Volga, plus an FX-Heston analytical engine
|
|
89
|
+
- **Delta-one**: spot / forward / swap products
|
|
90
|
+
|
|
91
|
+
#### Credit derivatives
|
|
92
|
+
- **CDS** and **basket CDS** priced off a hazard-rate curve (model-agnostic engine), with hazard01 / CS01 sensitivities
|
|
93
|
+
|
|
94
|
+
#### Risk, scenario & regulatory capital
|
|
95
|
+
- **Portfolio VaR**: Historical (full revaluation), Parametric (variance-covariance with Greeks/DV01), and Monte Carlo — with risk-factor attribution and a backtesting framework
|
|
96
|
+
- **Stress testing**: scenario-based shocks across all asset classes
|
|
97
|
+
- **Dynamic scenarios**: multi-day path simulation
|
|
98
|
+
- **Hedging backtests**: delta / DV01 / convexity-neutral strategies (equity / FI / FX)
|
|
99
|
+
- **ISDA SIMM v2.6**: initial margin with CRIF, calibration, and dashboard
|
|
100
|
+
- **SA-CCR**: Basel counterparty EAD (RC + PFE)
|
|
101
|
+
- **SA-CVA**: Basel (MAR50) SBA CVA capital
|
|
102
|
+
- **Portfolios**: equity, fixed income, FX, and credit position tracking — one position object feeds the entire risk stack
|
|
103
|
+
|
|
104
|
+
#### Cross-cutting
|
|
105
|
+
- **Greeks**: analytical (closed-form) and numerical (finite-difference) — Delta, Gamma, Vega, Theta, Rho, DV01
|
|
106
|
+
- **Robust error handling**: professional exception hierarchy
|
|
107
|
+
- **Numerical stability**: shared `quantark.util.numerical` toolkit (protected math, tolerance-aware comparisons), careful boundary checking and validation
|
|
90
108
|
|
|
91
109
|
### Key Design Principles
|
|
92
110
|
|
|
@@ -274,68 +292,42 @@ python example/fx_backtest_demo.py # FX delta-neutral hedging backtest
|
|
|
274
292
|
|
|
275
293
|
## Project Structure
|
|
276
294
|
|
|
295
|
+
All library code lives under the `quantark/` package (canonical `quantark.*` imports).
|
|
296
|
+
|
|
277
297
|
```
|
|
278
|
-
|
|
298
|
+
quantark/
|
|
279
299
|
├── asset/ # Asset classes
|
|
280
300
|
│ ├── equity/
|
|
281
|
-
│ │ ├── engine/ #
|
|
282
|
-
│ │
|
|
283
|
-
│ │
|
|
284
|
-
│ │
|
|
285
|
-
│ │
|
|
286
|
-
│ │ ├──
|
|
287
|
-
│
|
|
288
|
-
│ │
|
|
289
|
-
│
|
|
290
|
-
│
|
|
291
|
-
│ │
|
|
292
|
-
│
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
│ ├── quote/ # Spot quotes
|
|
312
|
-
│ ├── rrf/ # Risk-free rates
|
|
313
|
-
│ └── vol/ # Volatility surfaces
|
|
314
|
-
├── priceenv/ # Pricing environment
|
|
315
|
-
├── var/ # Value-at-Risk (VaR) calculations
|
|
316
|
-
│ ├── engines/ # VaR calculation engines
|
|
317
|
-
│ │ ├── historical.py # Historical VaR
|
|
318
|
-
│ │ ├── parametric.py # Parametric VaR
|
|
319
|
-
│ │ └── monte_carlo.py # Monte Carlo VaR
|
|
320
|
-
│ ├── risk_factors/ # Risk factor models
|
|
321
|
-
│ │ ├── base.py
|
|
322
|
-
│ │ ├── equity_factors.py
|
|
323
|
-
│ │ └── fi_factors.py
|
|
324
|
-
│ ├── backtest/ # VaR backtesting framework
|
|
325
|
-
│ ├── base.py # VaR base classes
|
|
326
|
-
│ └── config.py # VaR configuration
|
|
327
|
-
├── portfolio/ # Portfolio management
|
|
328
|
-
│ ├── equity/ # Equity portfolios
|
|
329
|
-
│ ├── fi/ # Fixed income portfolios
|
|
330
|
-
│ └── fx/ # FX portfolios (FXPortfolio / FXPosition)
|
|
331
|
-
├── backtest/ # Hedging strategy backtesting (equity / fi / fx)
|
|
332
|
-
├── dynamicscenario/ # Multi-day scenario simulation (equity / fi / fx)
|
|
333
|
-
├── stresstest/ # Stress testing framework (equity / fi / fx)
|
|
334
|
-
├── util/ # Utilities
|
|
335
|
-
│ ├── enum/ # Enumerations
|
|
336
|
-
│ └── exceptions.py # Exception hierarchy
|
|
337
|
-
├── example/ # Example scripts
|
|
338
|
-
└── test/ # Unit tests
|
|
301
|
+
│ │ ├── engine/ # analytical/, mc/, pde/, quad/ (+ base, event_stats)
|
|
302
|
+
│ │ ├── process/ # bsm/ (Heston / LocalVol / SLV live in volmodels/)
|
|
303
|
+
│ │ ├── product/ # option/ (vanilla, exotics, autocallables), deltaone/, swap/ (TRS)
|
|
304
|
+
│ │ ├── lifecycle/ # shared autocallable lifecycle core
|
|
305
|
+
│ │ ├── param/ # engine parameters & profiles
|
|
306
|
+
│ │ ├── analysis/, report/, riskmeasures/
|
|
307
|
+
│ ├── bond/ # coupon bonds, FRNs, convertibles, forwards, futures, options
|
|
308
|
+
│ │ └── engine/ # analytical/, discount/, pde/, tree/, convertible/
|
|
309
|
+
│ ├── rate/ # IRS, FRA, cap/floor, swaption
|
|
310
|
+
│ ├── fx/ # Garman-Kohlhagen + exotics (barrier, sharkfin, range accrual, TARF/TARN)
|
|
311
|
+
│ │ └── engine/ # analytical/ (incl. Vanna-Volga, FX-Heston), mc/, pde/
|
|
312
|
+
│ └── credit/ # CDS, basket CDS (hazard-curve engine)
|
|
313
|
+
├── volmodels/ # Heston, Local Vol (Dupire), SLV kernels + Black-Scholes / curves
|
|
314
|
+
├── montecarlo/ # Shared QMC layer (Sobol, Brownian bridge, RQMC, variance reduction)
|
|
315
|
+
├── param/ # Market data: quote/, rrf/, div/, vol/ (incl. sabr/, vannavolga/)
|
|
316
|
+
├── priceenv/ # Pricing environments (equity & FX)
|
|
317
|
+
├── portfolio/ # Position tracking: equity/, fi/, fx/, credit/
|
|
318
|
+
├── var/ # Value-at-Risk (historical / parametric / monte_carlo) + backtest/
|
|
319
|
+
├── stresstest/ # Scenario-based stress testing (all asset classes)
|
|
320
|
+
├── dynamicscenario/ # Multi-day scenario simulation
|
|
321
|
+
├── backtest/ # Hedging-strategy backtesting (delta / DV01 / convexity-neutral)
|
|
322
|
+
├── simm/ # ISDA SIMM v2.6 initial margin (engines, crif, calibration, dashboard)
|
|
323
|
+
├── saccr/ # Basel SA-CCR counterparty EAD (RC + PFE)
|
|
324
|
+
├── sacva/ # Basel SA-CVA (MAR50) CVA capital
|
|
325
|
+
├── cashleg/ # Deterministic cash-flow legs for structured products
|
|
326
|
+
├── rfq/ # Request-for-quote service & registry
|
|
327
|
+
└── util/ # enum/, numerical/, calendar, market-data adapters, exceptions
|
|
328
|
+
|
|
329
|
+
example/ # 90+ runnable example scripts
|
|
330
|
+
test/ # Unit-test suite
|
|
339
331
|
```
|
|
340
332
|
|
|
341
333
|
## Exception Hierarchy
|
|
@@ -360,29 +352,25 @@ The Black-Scholes engine includes extensive checks for numerical stability:
|
|
|
360
352
|
|
|
361
353
|
## Roadmap
|
|
362
354
|
|
|
363
|
-
###
|
|
355
|
+
### Delivered
|
|
364
356
|
- [x] American options (analytical and numerical methods)
|
|
365
|
-
- [
|
|
366
|
-
- [
|
|
367
|
-
- [x] Monte Carlo
|
|
368
|
-
- [x]
|
|
369
|
-
- [x]
|
|
370
|
-
- [x]
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
- [
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
- [ ]
|
|
377
|
-
- [ ]
|
|
378
|
-
- [ ]
|
|
379
|
-
- [ ] Hybrid models
|
|
380
|
-
|
|
381
|
-
### Long-term
|
|
357
|
+
- [x] Asian, barrier, digital, one-touch, and double-barrier options
|
|
358
|
+
- [x] Autocallables (Snowball, Phoenix, KO-Reset) and structured products (range accrual, accumulator, sharkfin)
|
|
359
|
+
- [x] Monte Carlo, PDE, Quadrature, and Tree engines
|
|
360
|
+
- [x] Heston, Local Volatility (Dupire), and Stochastic Local Vol models
|
|
361
|
+
- [x] FX derivatives (vanilla, exotic, TARF/TARN) with SABR & Vanna-Volga smiles
|
|
362
|
+
- [x] Credit derivatives (single-name and basket CDS)
|
|
363
|
+
- [x] Fixed income instruments (bonds, swaps, FRAs, caps/floors, swaptions)
|
|
364
|
+
- [x] Portfolio VaR, stress testing, dynamic scenarios, and hedging backtests
|
|
365
|
+
- [x] Regulatory capital: ISDA SIMM v2.6, SA-CCR, SA-CVA
|
|
366
|
+
|
|
367
|
+
### In progress / planned
|
|
368
|
+
- [ ] Multi-asset and hybrid derivatives
|
|
369
|
+
- [ ] Unified calibration framework
|
|
370
|
+
- [ ] Full XVA suite (FVA, MVA, KVA)
|
|
382
371
|
- [ ] Performance optimization (Cython, GPU)
|
|
383
|
-
- [ ] Real-time risk metrics
|
|
372
|
+
- [ ] Real-time risk metrics & market data integration
|
|
384
373
|
- [ ] Portfolio optimization
|
|
385
|
-
- [ ] Market data integration
|
|
386
374
|
- [ ] Cloud deployment support
|
|
387
375
|
|
|
388
376
|
## Contributing
|
|
@@ -408,6 +396,14 @@ Apache License 2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE).
|
|
|
408
396
|
|
|
409
397
|
## Acknowledgments
|
|
410
398
|
|
|
411
|
-
|
|
399
|
+
QuantArk builds on decades of published quantitative-finance research. In particular:
|
|
400
|
+
|
|
401
|
+
- **Black-Scholes-Merton** option-pricing model — Fischer Black, Myron Scholes, and Robert Merton
|
|
402
|
+
- **American options** — Barone-Adesi & Whaley quadratic approximation; Bjerksund & Stensland (1993/2002); Longstaff & Schwartz least-squares Monte Carlo
|
|
403
|
+
- **Stochastic & local volatility** — Steven Heston (1993); Bruno Dupire local-volatility construction; stochastic-local-vol (SLV) calibration
|
|
404
|
+
- **FX volatility smiles** — Patrick Hagan et al. (SABR); the Vanna-Volga market approach
|
|
405
|
+
- **Credit** — standard ISDA hazard-rate / reduced-form CDS pricing conventions
|
|
406
|
+
- **Regulatory capital** — ISDA SIMM v2.6, and the Basel Committee's SA-CCR and SA-CVA (MAR50) standards
|
|
407
|
+
- **Numerical methods** — Sobol sequences, Brownian-bridge and randomized-QMC variance reduction, and finite-difference PDE schemes from standard computational-finance texts
|
|
412
408
|
- Greeks formulas from standard derivatives textbooks
|
|
413
409
|
- Design patterns inspired by QuantLib and similar professional libraries
|
|
@@ -9,44 +9,62 @@ A modular, professional-grade Python library for pricing and risk management of
|
|
|
9
9
|
|
|
10
10
|
## Overview
|
|
11
11
|
|
|
12
|
-
QuantArk
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
12
|
+
QuantArk spans five asset classes (equity, bond, rate, FX, credit) and a full
|
|
13
|
+
risk-and-capital stack, all built on a clean, modular architecture that
|
|
14
|
+
separates concerns across composable layers:
|
|
15
|
+
|
|
16
|
+
- **Products**: Define instrument specifications (options, swaps, bonds, CDS, etc.)
|
|
17
|
+
- **Processes**: Stochastic models (Black-Scholes-Merton, Heston, Local Vol, SLV, Garman-Kohlhagen, hazard-rate)
|
|
18
|
+
- **Engines**: Pricing algorithms (Analytical, Monte Carlo, PDE, Quadrature, Tree)
|
|
19
|
+
- **Parameters**: Market data (spot prices, volatility surfaces incl. SABR / Vanna-Volga, rate curves, dividends)
|
|
18
20
|
- **PriceEnv**: Unified pricing environment bundling all market data
|
|
19
21
|
- **RiskMeasures**: Greeks calculation (both analytical and numerical)
|
|
22
|
+
- **Risk & Capital**: VaR, stress testing, dynamic scenarios, hedging backtests, and regulatory capital (ISDA SIMM, SA-CCR, SA-CVA)
|
|
20
23
|
|
|
21
24
|
## Features
|
|
22
25
|
|
|
23
26
|
### Current Implementation
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
- **
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- **
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- **
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- **
|
|
28
|
+
#### Equity derivatives
|
|
29
|
+
- **Vanilla**: European and American options (analytical BS93/BS02/BAW, MC LSM, PDE)
|
|
30
|
+
- **Asian, Digital, Barrier, Double-Barrier, One-Touch, Double-One-Touch** options
|
|
31
|
+
- **Autocallables**: Snowball, Phoenix, KO-Reset Snowball (MC, PDE, Quad engines)
|
|
32
|
+
- **Structured**: Range Accrual, Accumulator, Single/Double Sharkfin
|
|
33
|
+
- **Total Return Swaps**: single-asset, multi-asset, and dual-currency, with realized-cashflow accounting
|
|
34
|
+
- **Delta-One**: spot instruments and futures
|
|
35
|
+
|
|
36
|
+
#### Stochastic models & engines
|
|
37
|
+
- **Processes**: Black-Scholes-Merton (continuous dividend yield), Heston, Local Vol (Dupire), Stochastic Local Vol (SLV)
|
|
38
|
+
- **Engines**: Analytical (closed-form), Monte Carlo (QMC — Sobol, Brownian bridge, randomized QMC, antithetic/control-variate variance reduction), PDE (finite-difference, banded solvers), Quadrature, Tree
|
|
39
|
+
- **Shared MC layer** (`quantark/montecarlo/`): reusable QMC path generation across equity and FX
|
|
40
|
+
|
|
41
|
+
#### Fixed income
|
|
42
|
+
- **Bonds**: fixed-rate coupon bonds, FRNs, convertible bonds, bond forwards, bond futures, bond options
|
|
43
|
+
- **Interest rate**: swaps (IRS), FRAs, caps/floors, swaptions — with DV01 / key-rate risk
|
|
44
|
+
|
|
45
|
+
#### FX derivatives
|
|
46
|
+
- **Garman-Kohlhagen** vanilla, digital, and quanto (vanilla / digital) options with two-curve discounting
|
|
47
|
+
- **Path-dependent / exotic**: barrier, one-touch, sharkfin, range accrual (domestic / quanto / foreign), target-redemption forwards & notes (TARF / TARN)
|
|
48
|
+
- **Smile models**: SABR (Hagan) and Vanna-Volga, plus an FX-Heston analytical engine
|
|
49
|
+
- **Delta-one**: spot / forward / swap products
|
|
50
|
+
|
|
51
|
+
#### Credit derivatives
|
|
52
|
+
- **CDS** and **basket CDS** priced off a hazard-rate curve (model-agnostic engine), with hazard01 / CS01 sensitivities
|
|
53
|
+
|
|
54
|
+
#### Risk, scenario & regulatory capital
|
|
55
|
+
- **Portfolio VaR**: Historical (full revaluation), Parametric (variance-covariance with Greeks/DV01), and Monte Carlo — with risk-factor attribution and a backtesting framework
|
|
56
|
+
- **Stress testing**: scenario-based shocks across all asset classes
|
|
57
|
+
- **Dynamic scenarios**: multi-day path simulation
|
|
58
|
+
- **Hedging backtests**: delta / DV01 / convexity-neutral strategies (equity / FI / FX)
|
|
59
|
+
- **ISDA SIMM v2.6**: initial margin with CRIF, calibration, and dashboard
|
|
60
|
+
- **SA-CCR**: Basel counterparty EAD (RC + PFE)
|
|
61
|
+
- **SA-CVA**: Basel (MAR50) SBA CVA capital
|
|
62
|
+
- **Portfolios**: equity, fixed income, FX, and credit position tracking — one position object feeds the entire risk stack
|
|
63
|
+
|
|
64
|
+
#### Cross-cutting
|
|
65
|
+
- **Greeks**: analytical (closed-form) and numerical (finite-difference) — Delta, Gamma, Vega, Theta, Rho, DV01
|
|
66
|
+
- **Robust error handling**: professional exception hierarchy
|
|
67
|
+
- **Numerical stability**: shared `quantark.util.numerical` toolkit (protected math, tolerance-aware comparisons), careful boundary checking and validation
|
|
50
68
|
|
|
51
69
|
### Key Design Principles
|
|
52
70
|
|
|
@@ -234,68 +252,42 @@ python example/fx_backtest_demo.py # FX delta-neutral hedging backtest
|
|
|
234
252
|
|
|
235
253
|
## Project Structure
|
|
236
254
|
|
|
255
|
+
All library code lives under the `quantark/` package (canonical `quantark.*` imports).
|
|
256
|
+
|
|
237
257
|
```
|
|
238
|
-
|
|
258
|
+
quantark/
|
|
239
259
|
├── asset/ # Asset classes
|
|
240
260
|
│ ├── equity/
|
|
241
|
-
│ │ ├── engine/ #
|
|
242
|
-
│ │
|
|
243
|
-
│ │
|
|
244
|
-
│ │
|
|
245
|
-
│ │
|
|
246
|
-
│ │ ├──
|
|
247
|
-
│
|
|
248
|
-
│ │
|
|
249
|
-
│
|
|
250
|
-
│
|
|
251
|
-
│ │
|
|
252
|
-
│
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
│ ├── quote/ # Spot quotes
|
|
272
|
-
│ ├── rrf/ # Risk-free rates
|
|
273
|
-
│ └── vol/ # Volatility surfaces
|
|
274
|
-
├── priceenv/ # Pricing environment
|
|
275
|
-
├── var/ # Value-at-Risk (VaR) calculations
|
|
276
|
-
│ ├── engines/ # VaR calculation engines
|
|
277
|
-
│ │ ├── historical.py # Historical VaR
|
|
278
|
-
│ │ ├── parametric.py # Parametric VaR
|
|
279
|
-
│ │ └── monte_carlo.py # Monte Carlo VaR
|
|
280
|
-
│ ├── risk_factors/ # Risk factor models
|
|
281
|
-
│ │ ├── base.py
|
|
282
|
-
│ │ ├── equity_factors.py
|
|
283
|
-
│ │ └── fi_factors.py
|
|
284
|
-
│ ├── backtest/ # VaR backtesting framework
|
|
285
|
-
│ ├── base.py # VaR base classes
|
|
286
|
-
│ └── config.py # VaR configuration
|
|
287
|
-
├── portfolio/ # Portfolio management
|
|
288
|
-
│ ├── equity/ # Equity portfolios
|
|
289
|
-
│ ├── fi/ # Fixed income portfolios
|
|
290
|
-
│ └── fx/ # FX portfolios (FXPortfolio / FXPosition)
|
|
291
|
-
├── backtest/ # Hedging strategy backtesting (equity / fi / fx)
|
|
292
|
-
├── dynamicscenario/ # Multi-day scenario simulation (equity / fi / fx)
|
|
293
|
-
├── stresstest/ # Stress testing framework (equity / fi / fx)
|
|
294
|
-
├── util/ # Utilities
|
|
295
|
-
│ ├── enum/ # Enumerations
|
|
296
|
-
│ └── exceptions.py # Exception hierarchy
|
|
297
|
-
├── example/ # Example scripts
|
|
298
|
-
└── test/ # Unit tests
|
|
261
|
+
│ │ ├── engine/ # analytical/, mc/, pde/, quad/ (+ base, event_stats)
|
|
262
|
+
│ │ ├── process/ # bsm/ (Heston / LocalVol / SLV live in volmodels/)
|
|
263
|
+
│ │ ├── product/ # option/ (vanilla, exotics, autocallables), deltaone/, swap/ (TRS)
|
|
264
|
+
│ │ ├── lifecycle/ # shared autocallable lifecycle core
|
|
265
|
+
│ │ ├── param/ # engine parameters & profiles
|
|
266
|
+
│ │ ├── analysis/, report/, riskmeasures/
|
|
267
|
+
│ ├── bond/ # coupon bonds, FRNs, convertibles, forwards, futures, options
|
|
268
|
+
│ │ └── engine/ # analytical/, discount/, pde/, tree/, convertible/
|
|
269
|
+
│ ├── rate/ # IRS, FRA, cap/floor, swaption
|
|
270
|
+
│ ├── fx/ # Garman-Kohlhagen + exotics (barrier, sharkfin, range accrual, TARF/TARN)
|
|
271
|
+
│ │ └── engine/ # analytical/ (incl. Vanna-Volga, FX-Heston), mc/, pde/
|
|
272
|
+
│ └── credit/ # CDS, basket CDS (hazard-curve engine)
|
|
273
|
+
├── volmodels/ # Heston, Local Vol (Dupire), SLV kernels + Black-Scholes / curves
|
|
274
|
+
├── montecarlo/ # Shared QMC layer (Sobol, Brownian bridge, RQMC, variance reduction)
|
|
275
|
+
├── param/ # Market data: quote/, rrf/, div/, vol/ (incl. sabr/, vannavolga/)
|
|
276
|
+
├── priceenv/ # Pricing environments (equity & FX)
|
|
277
|
+
├── portfolio/ # Position tracking: equity/, fi/, fx/, credit/
|
|
278
|
+
├── var/ # Value-at-Risk (historical / parametric / monte_carlo) + backtest/
|
|
279
|
+
├── stresstest/ # Scenario-based stress testing (all asset classes)
|
|
280
|
+
├── dynamicscenario/ # Multi-day scenario simulation
|
|
281
|
+
├── backtest/ # Hedging-strategy backtesting (delta / DV01 / convexity-neutral)
|
|
282
|
+
├── simm/ # ISDA SIMM v2.6 initial margin (engines, crif, calibration, dashboard)
|
|
283
|
+
├── saccr/ # Basel SA-CCR counterparty EAD (RC + PFE)
|
|
284
|
+
├── sacva/ # Basel SA-CVA (MAR50) CVA capital
|
|
285
|
+
├── cashleg/ # Deterministic cash-flow legs for structured products
|
|
286
|
+
├── rfq/ # Request-for-quote service & registry
|
|
287
|
+
└── util/ # enum/, numerical/, calendar, market-data adapters, exceptions
|
|
288
|
+
|
|
289
|
+
example/ # 90+ runnable example scripts
|
|
290
|
+
test/ # Unit-test suite
|
|
299
291
|
```
|
|
300
292
|
|
|
301
293
|
## Exception Hierarchy
|
|
@@ -320,29 +312,25 @@ The Black-Scholes engine includes extensive checks for numerical stability:
|
|
|
320
312
|
|
|
321
313
|
## Roadmap
|
|
322
314
|
|
|
323
|
-
###
|
|
315
|
+
### Delivered
|
|
324
316
|
- [x] American options (analytical and numerical methods)
|
|
325
|
-
- [
|
|
326
|
-
- [
|
|
327
|
-
- [x] Monte Carlo
|
|
328
|
-
- [x]
|
|
329
|
-
- [x]
|
|
330
|
-
- [x]
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
- [
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
- [ ]
|
|
337
|
-
- [ ]
|
|
338
|
-
- [ ]
|
|
339
|
-
- [ ] Hybrid models
|
|
340
|
-
|
|
341
|
-
### Long-term
|
|
317
|
+
- [x] Asian, barrier, digital, one-touch, and double-barrier options
|
|
318
|
+
- [x] Autocallables (Snowball, Phoenix, KO-Reset) and structured products (range accrual, accumulator, sharkfin)
|
|
319
|
+
- [x] Monte Carlo, PDE, Quadrature, and Tree engines
|
|
320
|
+
- [x] Heston, Local Volatility (Dupire), and Stochastic Local Vol models
|
|
321
|
+
- [x] FX derivatives (vanilla, exotic, TARF/TARN) with SABR & Vanna-Volga smiles
|
|
322
|
+
- [x] Credit derivatives (single-name and basket CDS)
|
|
323
|
+
- [x] Fixed income instruments (bonds, swaps, FRAs, caps/floors, swaptions)
|
|
324
|
+
- [x] Portfolio VaR, stress testing, dynamic scenarios, and hedging backtests
|
|
325
|
+
- [x] Regulatory capital: ISDA SIMM v2.6, SA-CCR, SA-CVA
|
|
326
|
+
|
|
327
|
+
### In progress / planned
|
|
328
|
+
- [ ] Multi-asset and hybrid derivatives
|
|
329
|
+
- [ ] Unified calibration framework
|
|
330
|
+
- [ ] Full XVA suite (FVA, MVA, KVA)
|
|
342
331
|
- [ ] Performance optimization (Cython, GPU)
|
|
343
|
-
- [ ] Real-time risk metrics
|
|
332
|
+
- [ ] Real-time risk metrics & market data integration
|
|
344
333
|
- [ ] Portfolio optimization
|
|
345
|
-
- [ ] Market data integration
|
|
346
334
|
- [ ] Cloud deployment support
|
|
347
335
|
|
|
348
336
|
## Contributing
|
|
@@ -368,6 +356,14 @@ Apache License 2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE).
|
|
|
368
356
|
|
|
369
357
|
## Acknowledgments
|
|
370
358
|
|
|
371
|
-
|
|
359
|
+
QuantArk builds on decades of published quantitative-finance research. In particular:
|
|
360
|
+
|
|
361
|
+
- **Black-Scholes-Merton** option-pricing model — Fischer Black, Myron Scholes, and Robert Merton
|
|
362
|
+
- **American options** — Barone-Adesi & Whaley quadratic approximation; Bjerksund & Stensland (1993/2002); Longstaff & Schwartz least-squares Monte Carlo
|
|
363
|
+
- **Stochastic & local volatility** — Steven Heston (1993); Bruno Dupire local-volatility construction; stochastic-local-vol (SLV) calibration
|
|
364
|
+
- **FX volatility smiles** — Patrick Hagan et al. (SABR); the Vanna-Volga market approach
|
|
365
|
+
- **Credit** — standard ISDA hazard-rate / reduced-form CDS pricing conventions
|
|
366
|
+
- **Regulatory capital** — ISDA SIMM v2.6, and the Basel Committee's SA-CCR and SA-CVA (MAR50) standards
|
|
367
|
+
- **Numerical methods** — Sobol sequences, Brownian-bridge and randomized-QMC variance reduction, and finite-difference PDE schemes from standard computational-finance texts
|
|
372
368
|
- Greeks formulas from standard derivatives textbooks
|
|
373
369
|
- Design patterns inspired by QuantLib and similar professional libraries
|
|
@@ -9,6 +9,7 @@ from .analytical import (
|
|
|
9
9
|
OneTouchAnalyticalEngine,
|
|
10
10
|
AsianOptionAnalyticalEngine,
|
|
11
11
|
DoubleSharkfinOptionAnalyticalEngine,
|
|
12
|
+
HestonAnalyticalEngine,
|
|
12
13
|
)
|
|
13
14
|
from .pde_engine import PDEEngine
|
|
14
15
|
from .mc import (
|
|
@@ -19,6 +20,9 @@ from .mc import (
|
|
|
19
20
|
DigitalOptionMCEngine,
|
|
20
21
|
BarrierOptionMCEngine,
|
|
21
22
|
DoubleSharkfinOptionMCEngine,
|
|
23
|
+
LocalVolMCEngine,
|
|
24
|
+
HestonMCEngine,
|
|
25
|
+
HestonSLVMCEngine,
|
|
22
26
|
)
|
|
23
27
|
from .pde import (
|
|
24
28
|
BasePDESolver,
|
|
@@ -30,6 +34,9 @@ from .pde import (
|
|
|
30
34
|
DoubleOneTouchPDESolver,
|
|
31
35
|
KOResetSnowballPDESolver,
|
|
32
36
|
PhoenixPDESolver,
|
|
37
|
+
LocalVolPDESolver,
|
|
38
|
+
HestonPDESolver,
|
|
39
|
+
HestonSLVPDESolver,
|
|
33
40
|
TimeGrid,
|
|
34
41
|
SpatialGrid,
|
|
35
42
|
)
|
|
@@ -51,6 +58,7 @@ __all__ = [
|
|
|
51
58
|
"OneTouchAnalyticalEngine",
|
|
52
59
|
"AsianOptionAnalyticalEngine",
|
|
53
60
|
"DoubleSharkfinOptionAnalyticalEngine",
|
|
61
|
+
"HestonAnalyticalEngine",
|
|
54
62
|
# Monte Carlo
|
|
55
63
|
"EuropeanMCEngine",
|
|
56
64
|
"AmericanOptionMCEngine",
|
|
@@ -59,6 +67,9 @@ __all__ = [
|
|
|
59
67
|
"DigitalOptionMCEngine",
|
|
60
68
|
"BarrierOptionMCEngine",
|
|
61
69
|
"DoubleSharkfinOptionMCEngine",
|
|
70
|
+
"LocalVolMCEngine",
|
|
71
|
+
"HestonMCEngine",
|
|
72
|
+
"HestonSLVMCEngine",
|
|
62
73
|
# Unified PDE Engine
|
|
63
74
|
"PDEEngine",
|
|
64
75
|
# PDE Solvers
|
|
@@ -71,6 +82,9 @@ __all__ = [
|
|
|
71
82
|
"DoubleOneTouchPDESolver",
|
|
72
83
|
"KOResetSnowballPDESolver",
|
|
73
84
|
"PhoenixPDESolver",
|
|
85
|
+
"LocalVolPDESolver",
|
|
86
|
+
"HestonPDESolver",
|
|
87
|
+
"HestonSLVPDESolver",
|
|
74
88
|
# Grid utilities
|
|
75
89
|
"TimeGrid",
|
|
76
90
|
"SpatialGrid",
|