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.
Files changed (713) hide show
  1. {quantark-0.1.2 → quantark-0.2.1}/CHANGELOG.md +13 -0
  2. {quantark-0.1.2 → quantark-0.2.1}/PKG-INFO +107 -111
  3. {quantark-0.1.2 → quantark-0.2.1}/README.md +107 -111
  4. {quantark-0.1.2 → quantark-0.2.1}/pyproject.toml +1 -1
  5. {quantark-0.1.2 → quantark-0.2.1}/quantark/__init__.py +1 -1
  6. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/__init__.py +14 -0
  7. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/__init__.py +4 -0
  8. quantark-0.2.1/quantark/asset/equity/engine/analytical/accumulator_analytical_engine.py +363 -0
  9. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/asian_option_analytical_engine.py +139 -73
  10. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/digital_option_engine.py +53 -1
  11. quantark-0.2.1/quantark/asset/equity/engine/analytical/heston_analytical_engine.py +79 -0
  12. quantark-0.2.1/quantark/asset/equity/engine/cashflow/__init__.py +23 -0
  13. quantark-0.2.1/quantark/asset/equity/engine/cashflow/accrual_calculator.py +151 -0
  14. quantark-0.2.1/quantark/asset/equity/engine/cashflow/total_return_swap_engine.py +566 -0
  15. quantark-0.2.1/quantark/asset/equity/engine/cashflow/trs_cva_exposure.py +37 -0
  16. quantark-0.2.1/quantark/asset/equity/engine/cashflow/trs_cva_repricer.py +357 -0
  17. quantark-0.2.1/quantark/asset/equity/engine/cashflow/trs_valuation.py +177 -0
  18. quantark-0.2.1/quantark/asset/equity/engine/localvol_greeks.py +68 -0
  19. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/__init__.py +10 -0
  20. quantark-0.2.1/quantark/asset/equity/engine/mc/accumulator_mc_engine.py +389 -0
  21. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/asian_option_mc_engine.py +55 -33
  22. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/euro_mc_engine.py +10 -0
  23. quantark-0.2.1/quantark/asset/equity/engine/mc/heston_mc_engine.py +75 -0
  24. quantark-0.2.1/quantark/asset/equity/engine/mc/heston_slv_mc_engine.py +97 -0
  25. quantark-0.2.1/quantark/asset/equity/engine/mc/local_vol_mc_engine.py +88 -0
  26. quantark-0.2.1/quantark/asset/equity/engine/mc/sabr_mc_engine.py +76 -0
  27. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/__init__.py +6 -0
  28. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/base_pde_solver.py +12 -0
  29. quantark-0.2.1/quantark/asset/equity/engine/pde/heston_pde_solver.py +110 -0
  30. quantark-0.2.1/quantark/asset/equity/engine/pde/heston_slv_pde_solver.py +105 -0
  31. quantark-0.2.1/quantark/asset/equity/engine/pde/local_vol_pde_solver.py +99 -0
  32. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/phoenix_pde_solver.py +9 -3
  33. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/ko_reset_snowball_quad_engine.py +22 -0
  34. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/phoenix_quad_engine.py +31 -0
  35. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/snowball_quad_engine.py +66 -0
  36. quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_brownian_bridge.py +10 -0
  37. quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_rqmc_driver.py +4 -0
  38. quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_sobol.py +8 -0
  39. quantark-0.2.1/quantark/asset/equity/process/bsm/qmc_variance_reduction.py +11 -0
  40. quantark-0.2.1/quantark/asset/equity/process/sabr/__init__.py +3 -0
  41. quantark-0.2.1/quantark/asset/equity/process/sabr/sabr_process.py +116 -0
  42. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/__init__.py +3 -0
  43. quantark-0.2.1/quantark/asset/equity/product/option/accumulator_option.py +442 -0
  44. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/asian_option.py +138 -18
  45. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/snowball_helpers.py +17 -1
  46. quantark-0.2.1/quantark/asset/equity/product/swap/__init__.py +67 -0
  47. quantark-0.2.1/quantark/asset/equity/product/swap/base_swap.py +34 -0
  48. quantark-0.2.1/quantark/asset/equity/product/swap/multi_asset_trs.py +262 -0
  49. quantark-0.2.1/quantark/asset/equity/product/swap/one_asset_trs.py +66 -0
  50. quantark-0.2.1/quantark/asset/equity/product/swap/one_asset_trs_dual_ccy.py +101 -0
  51. quantark-0.2.1/quantark/asset/equity/product/swap/trs_event_handler.py +97 -0
  52. quantark-0.2.1/quantark/asset/equity/product/swap/trs_params.py +199 -0
  53. quantark-0.2.1/quantark/asset/equity/product/swap/trs_schedule.py +129 -0
  54. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/term_structure.py +3 -1
  55. quantark-0.2.1/quantark/asset/equity/riskmeasures/__init__.py +7 -0
  56. quantark-0.2.1/quantark/asset/equity/riskmeasures/vol_model_risk.py +23 -0
  57. quantark-0.2.1/quantark/asset/fx/engine/__init__.py +31 -0
  58. quantark-0.2.1/quantark/asset/fx/engine/analytical/__init__.py +42 -0
  59. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_digital_engine.py +78 -1
  60. quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_foreign_range_accrual_engine.py +113 -0
  61. quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_heston_analytical_engine.py +78 -0
  62. quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_quanto_range_accrual_engine.py +120 -0
  63. quantark-0.2.1/quantark/asset/fx/engine/analytical/fx_range_accrual_engine.py +390 -0
  64. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/garman_kohlhagen_engine.py +9 -0
  65. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/__init__.py +62 -0
  66. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/arbitrage.py +67 -0
  67. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/attenuation.py +311 -0
  68. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/barrier_bs.py +281 -0
  69. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/vv_barrier.py +193 -0
  70. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/vv_barrier_engine.py +94 -0
  71. quantark-0.2.1/quantark/asset/fx/engine/analytical/vannavolga/vv_vanilla_barrier.py +208 -0
  72. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/base_fx_engine.py +53 -0
  73. quantark-0.2.1/quantark/asset/fx/engine/localvol_common.py +54 -0
  74. quantark-0.2.1/quantark/asset/fx/engine/localvol_greeks.py +76 -0
  75. quantark-0.2.1/quantark/asset/fx/engine/mc/__init__.py +28 -0
  76. quantark-0.2.1/quantark/asset/fx/engine/mc/fx_barrier_mc_engine.py +302 -0
  77. quantark-0.2.1/quantark/asset/fx/engine/mc/fx_mc_params.py +47 -0
  78. quantark-0.2.1/quantark/asset/fx/engine/mc/fx_range_accrual_mc_engine.py +343 -0
  79. quantark-0.2.1/quantark/asset/fx/engine/mc/fx_sharkfin_mc_engine.py +122 -0
  80. quantark-0.2.1/quantark/asset/fx/engine/mc/fx_tarf_mc_engine.py +180 -0
  81. quantark-0.2.1/quantark/asset/fx/engine/mc/fx_tarn_note_mc_engine.py +188 -0
  82. quantark-0.2.1/quantark/asset/fx/engine/mc/heston_mc_engine.py +75 -0
  83. quantark-0.2.1/quantark/asset/fx/engine/mc/heston_slv_mc_engine.py +87 -0
  84. quantark-0.2.1/quantark/asset/fx/engine/mc/local_vol_mc_engine.py +77 -0
  85. quantark-0.2.1/quantark/asset/fx/engine/pde/__init__.py +7 -0
  86. quantark-0.2.1/quantark/asset/fx/engine/pde/heston_pde_solver.py +111 -0
  87. quantark-0.2.1/quantark/asset/fx/engine/pde/heston_slv_pde_solver.py +109 -0
  88. quantark-0.2.1/quantark/asset/fx/engine/pde/local_vol_pde_solver.py +78 -0
  89. quantark-0.2.1/quantark/asset/fx/process/__init__.py +7 -0
  90. quantark-0.2.1/quantark/asset/fx/process/fx_gk_path_generator.py +141 -0
  91. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/__init__.py +10 -0
  92. quantark-0.2.1/quantark/asset/fx/product/option/__init__.py +36 -0
  93. quantark-0.2.1/quantark/asset/fx/product/option/fx_barrier_option.py +121 -0
  94. quantark-0.2.1/quantark/asset/fx/product/option/fx_foreign_range_accrual_option.py +70 -0
  95. quantark-0.2.1/quantark/asset/fx/product/option/fx_one_touch_option.py +71 -0
  96. quantark-0.2.1/quantark/asset/fx/product/option/fx_quanto_range_accrual_option.py +99 -0
  97. quantark-0.2.1/quantark/asset/fx/product/option/fx_range_accrual_config.py +258 -0
  98. quantark-0.2.1/quantark/asset/fx/product/option/fx_range_accrual_option.py +318 -0
  99. quantark-0.2.1/quantark/asset/fx/product/option/fx_sharkfin_option.py +152 -0
  100. quantark-0.2.1/quantark/asset/fx/product/option/fx_target_redemption_forward.py +145 -0
  101. quantark-0.2.1/quantark/asset/fx/product/option/fx_target_redemption_note.py +198 -0
  102. quantark-0.2.1/quantark/asset/fx/riskmeasures/__init__.py +7 -0
  103. quantark-0.2.1/quantark/asset/fx/riskmeasures/vol_model_risk.py +23 -0
  104. quantark-0.2.1/quantark/asset/vol_model_risk.py +608 -0
  105. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/engine.py +22 -9
  106. quantark-0.2.1/quantark/montecarlo/__init__.py +47 -0
  107. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/__init__.py +3 -1
  108. quantark-0.2.1/quantark/param/vol/__init__.py +23 -0
  109. quantark-0.2.1/quantark/param/vol/collapse_guard.py +43 -0
  110. quantark-0.2.1/quantark/param/vol/sabr/__init__.py +33 -0
  111. quantark-0.2.1/quantark/param/vol/sabr/calibration.py +290 -0
  112. quantark-0.2.1/quantark/param/vol/sabr/diagnostics.py +80 -0
  113. quantark-0.2.1/quantark/param/vol/sabr/hagan.py +292 -0
  114. quantark-0.2.1/quantark/param/vol/sabr/sabr_surface.py +200 -0
  115. quantark-0.2.1/quantark/param/vol/vannavolga/__init__.py +55 -0
  116. quantark-0.2.1/quantark/param/vol/vannavolga/bs_fx.py +153 -0
  117. quantark-0.2.1/quantark/param/vol/vannavolga/market_conventions.py +222 -0
  118. quantark-0.2.1/quantark/param/vol/vannavolga/smile_builder.py +146 -0
  119. quantark-0.2.1/quantark/param/vol/vannavolga/vv_core.py +142 -0
  120. quantark-0.2.1/quantark/param/vol/vannavolga/vv_surface.py +185 -0
  121. quantark-0.2.1/quantark/param/vol/vannavolga/vv_term_structure.py +203 -0
  122. quantark-0.2.1/quantark/param/vol/vol_surface.py +205 -0
  123. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/__init__.py +2 -0
  124. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/equity/__init__.py +2 -0
  125. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/equity/portfolio.py +48 -1
  126. quantark-0.2.1/quantark/portfolio/equity/swap_position.py +366 -0
  127. quantark-0.2.1/quantark/saccr/__init__.py +46 -0
  128. quantark-0.2.1/quantark/saccr/calculator.py +144 -0
  129. quantark-0.2.1/quantark/saccr/dashboard.py +509 -0
  130. quantark-0.2.1/quantark/saccr/engines/__init__.py +1 -0
  131. quantark-0.2.1/quantark/saccr/engines/addons/__init__.py +17 -0
  132. quantark-0.2.1/quantark/saccr/engines/addons/base.py +55 -0
  133. quantark-0.2.1/quantark/saccr/engines/addons/commodity.py +116 -0
  134. quantark-0.2.1/quantark/saccr/engines/addons/credit.py +108 -0
  135. quantark-0.2.1/quantark/saccr/engines/addons/equity.py +97 -0
  136. quantark-0.2.1/quantark/saccr/engines/addons/fx.py +87 -0
  137. quantark-0.2.1/quantark/saccr/engines/addons/interest_rate.py +120 -0
  138. quantark-0.2.1/quantark/saccr/engines/maths.py +188 -0
  139. quantark-0.2.1/quantark/saccr/engines/pfe.py +38 -0
  140. quantark-0.2.1/quantark/saccr/engines/replacement_cost.py +26 -0
  141. quantark-0.2.1/quantark/saccr/models/__init__.py +27 -0
  142. quantark-0.2.1/quantark/saccr/models/enums.py +113 -0
  143. quantark-0.2.1/quantark/saccr/models/netting_set.py +115 -0
  144. quantark-0.2.1/quantark/saccr/models/trade.py +194 -0
  145. quantark-0.2.1/quantark/saccr/parameters/__init__.py +5 -0
  146. quantark-0.2.1/quantark/saccr/parameters/supervisory.py +215 -0
  147. quantark-0.2.1/quantark/saccr/results/__init__.py +5 -0
  148. quantark-0.2.1/quantark/saccr/results/result.py +50 -0
  149. quantark-0.2.1/quantark/sacva/__init__.py +45 -0
  150. quantark-0.2.1/quantark/sacva/calculator.py +80 -0
  151. quantark-0.2.1/quantark/sacva/cva/__init__.py +5 -0
  152. quantark-0.2.1/quantark/sacva/cva/engine.py +47 -0
  153. quantark-0.2.1/quantark/sacva/dashboard.py +129 -0
  154. quantark-0.2.1/quantark/sacva/engines/__init__.py +0 -0
  155. quantark-0.2.1/quantark/sacva/engines/base.py +155 -0
  156. quantark-0.2.1/quantark/sacva/engines/commodity.py +37 -0
  157. quantark-0.2.1/quantark/sacva/engines/correlations.py +33 -0
  158. quantark-0.2.1/quantark/sacva/engines/counterparty_credit.py +45 -0
  159. quantark-0.2.1/quantark/sacva/engines/equity.py +37 -0
  160. quantark-0.2.1/quantark/sacva/engines/fx.py +36 -0
  161. quantark-0.2.1/quantark/sacva/engines/interest_rate.py +71 -0
  162. quantark-0.2.1/quantark/sacva/engines/reference_credit.py +40 -0
  163. quantark-0.2.1/quantark/sacva/exposure/__init__.py +6 -0
  164. quantark-0.2.1/quantark/sacva/exposure/asof.py +51 -0
  165. quantark-0.2.1/quantark/sacva/exposure/correlation.py +42 -0
  166. quantark-0.2.1/quantark/sacva/exposure/curves.py +85 -0
  167. quantark-0.2.1/quantark/sacva/exposure/engine.py +160 -0
  168. quantark-0.2.1/quantark/sacva/exposure/grid.py +54 -0
  169. quantark-0.2.1/quantark/sacva/exposure/historical/__init__.py +0 -0
  170. quantark-0.2.1/quantark/sacva/exposure/historical/calibration.py +138 -0
  171. quantark-0.2.1/quantark/sacva/exposure/historical/engine.py +192 -0
  172. quantark-0.2.1/quantark/sacva/exposure/historical/path_generator.py +140 -0
  173. quantark-0.2.1/quantark/sacva/exposure/historical/pfe.py +80 -0
  174. quantark-0.2.1/quantark/sacva/exposure/historical/resampling.py +96 -0
  175. quantark-0.2.1/quantark/sacva/exposure/paths.py +141 -0
  176. quantark-0.2.1/quantark/sacva/exposure/phoenix_surface.py +176 -0
  177. quantark-0.2.1/quantark/sacva/exposure/repricer.py +198 -0
  178. quantark-0.2.1/quantark/sacva/exposure/simulator.py +504 -0
  179. quantark-0.2.1/quantark/sacva/exposure/snowball_surface.py +282 -0
  180. quantark-0.2.1/quantark/sacva/exposure/statemachine.py +314 -0
  181. quantark-0.2.1/quantark/sacva/exposure/value_surface.py +111 -0
  182. quantark-0.2.1/quantark/sacva/models/__init__.py +0 -0
  183. quantark-0.2.1/quantark/sacva/models/enums.py +31 -0
  184. quantark-0.2.1/quantark/sacva/models/portfolio.py +27 -0
  185. quantark-0.2.1/quantark/sacva/models/sensitivity.py +124 -0
  186. quantark-0.2.1/quantark/sacva/parameters/__init__.py +0 -0
  187. quantark-0.2.1/quantark/sacva/parameters/supervisory.py +250 -0
  188. quantark-0.2.1/quantark/sacva/portfolio/__init__.py +14 -0
  189. quantark-0.2.1/quantark/sacva/portfolio/counterparty.py +38 -0
  190. quantark-0.2.1/quantark/sacva/portfolio/credit_curve.py +59 -0
  191. quantark-0.2.1/quantark/sacva/portfolio/netting.py +36 -0
  192. quantark-0.2.1/quantark/sacva/portfolio/trade.py +66 -0
  193. quantark-0.2.1/quantark/sacva/portfolio/trade_portfolio.py +29 -0
  194. quantark-0.2.1/quantark/sacva/results/__init__.py +0 -0
  195. quantark-0.2.1/quantark/sacva/results/result.py +26 -0
  196. quantark-0.2.1/quantark/sacva/sacva_engine.py +336 -0
  197. quantark-0.2.1/quantark/sacva/sensitivities/__init__.py +1 -0
  198. quantark-0.2.1/quantark/sacva/sensitivities/curve_bump.py +63 -0
  199. quantark-0.2.1/quantark/sacva/sensitivities/engine.py +53 -0
  200. quantark-0.2.1/quantark/sacva/sensitivities/shifts.py +46 -0
  201. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/dashboard.py +1 -1
  202. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/business_calendar.py +160 -0
  203. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/__init__.py +18 -1
  204. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/engine_enums.py +76 -0
  205. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/fx_enums.py +14 -0
  206. quantark-0.2.1/quantark/util/enum/greek_conventions.py +19 -0
  207. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/option_enums.py +19 -0
  208. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/historical.py +9 -6
  209. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/monte_carlo.py +8 -6
  210. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/parametric.py +51 -71
  211. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/revaluation.py +18 -0
  212. quantark-0.2.1/quantark/volmodels/__init__.py +7 -0
  213. quantark-0.2.1/quantark/volmodels/black_scholes.py +87 -0
  214. quantark-0.2.1/quantark/volmodels/curves.py +61 -0
  215. quantark-0.2.1/quantark/volmodels/heston/__init__.py +28 -0
  216. quantark-0.2.1/quantark/volmodels/heston/analytical_kernel.py +184 -0
  217. quantark-0.2.1/quantark/volmodels/heston/calibration.py +162 -0
  218. quantark-0.2.1/quantark/volmodels/heston/mc_kernel.py +201 -0
  219. quantark-0.2.1/quantark/volmodels/heston/params.py +47 -0
  220. quantark-0.2.1/quantark/volmodels/heston/pde_kernel.py +395 -0
  221. quantark-0.2.1/quantark/volmodels/localvol/__init__.py +13 -0
  222. quantark-0.2.1/quantark/volmodels/localvol/dupire.py +181 -0
  223. quantark-0.2.1/quantark/volmodels/localvol/mc_kernel.py +95 -0
  224. quantark-0.2.1/quantark/volmodels/localvol/pde_kernel.py +153 -0
  225. quantark-0.2.1/quantark/volmodels/localvol/surface.py +85 -0
  226. quantark-0.2.1/quantark/volmodels/risk/__init__.py +40 -0
  227. quantark-0.2.1/quantark/volmodels/risk/contracts.py +370 -0
  228. quantark-0.2.1/quantark/volmodels/risk/scenarios.py +141 -0
  229. quantark-0.2.1/quantark/volmodels/slv/__init__.py +17 -0
  230. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/__init__.py +5 -0
  231. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/bootstrap.py +68 -0
  232. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/calibration.py +107 -0
  233. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/config.py +59 -0
  234. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/coordinates.py +88 -0
  235. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/fp_operators.py +136 -0
  236. quantark-0.2.1/quantark/volmodels/slv/fokkerplanck/fp_solver.py +108 -0
  237. quantark-0.2.1/quantark/volmodels/slv/leverage.py +149 -0
  238. quantark-0.2.1/quantark/volmodels/slv/slv_mc_kernel.py +216 -0
  239. quantark-0.2.1/quantark/volmodels/slv/slv_pde_kernel.py +281 -0
  240. quantark-0.1.2/quantark/asset/equity/riskmeasures/__init__.py +0 -7
  241. quantark-0.1.2/quantark/asset/fx/engine/__init__.py +0 -6
  242. quantark-0.1.2/quantark/asset/fx/engine/analytical/__init__.py +0 -16
  243. quantark-0.1.2/quantark/asset/fx/process/__init__.py +0 -6
  244. quantark-0.1.2/quantark/asset/fx/product/option/__init__.py +0 -14
  245. quantark-0.1.2/quantark/asset/fx/riskmeasures/__init__.py +0 -6
  246. quantark-0.1.2/quantark/param/vol/__init__.py +0 -6
  247. quantark-0.1.2/quantark/param/vol/vol_surface.py +0 -118
  248. {quantark-0.1.2 → quantark-0.2.1}/.gitignore +0 -0
  249. {quantark-0.1.2 → quantark-0.2.1}/LICENSE +0 -0
  250. {quantark-0.1.2 → quantark-0.2.1}/NOTICE +0 -0
  251. {quantark-0.1.2 → quantark-0.2.1}/quantark/_compat.py +0 -0
  252. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/__init__.py +0 -0
  253. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/__init__.py +0 -0
  254. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/__init__.py +0 -0
  255. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/__init__.py +0 -0
  256. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/black_engine.py +0 -0
  257. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/bond_forward_engine.py +0 -0
  258. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/analytical/bond_futures_engine.py +0 -0
  259. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/convertible/__init__.py +0 -0
  260. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/convertible/convertible_bond_engine.py +0 -0
  261. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/discount/__init__.py +0 -0
  262. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/discount/bond_discount_engine.py +0 -0
  263. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/discount/frn_engine.py +0 -0
  264. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/__init__.py +0 -0
  265. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/__init__.py +0 -0
  266. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/jump_diffusion_engine.py +0 -0
  267. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/pde_params.py +0 -0
  268. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/pde/convertible/tf_engine.py +0 -0
  269. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/__init__.py +0 -0
  270. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/__init__.py +0 -0
  271. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/binomial_engine.py +0 -0
  272. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/tree_params.py +0 -0
  273. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/engine/tree/convertible/trinomial_engine.py +0 -0
  274. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/__init__.py +0 -0
  275. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/base_bond_product.py +0 -0
  276. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/convertible/__init__.py +0 -0
  277. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/convertible/convertible_bond.py +0 -0
  278. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/couponbond/__init__.py +0 -0
  279. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/couponbond/fixed_bond.py +0 -0
  280. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/couponbond/frn.py +0 -0
  281. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/forward/__init__.py +0 -0
  282. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/forward/base_bond_forward.py +0 -0
  283. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/forward/bond_forward.py +0 -0
  284. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/futures/__init__.py +0 -0
  285. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/futures/bond_futures.py +0 -0
  286. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/option/__init__.py +0 -0
  287. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/product/option/euro_short_term_bond_option.py +0 -0
  288. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/riskmeasures/__init__.py +0 -0
  289. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/riskmeasures/bond_greeks_calculator.py +0 -0
  290. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/schedule/__init__.py +0 -0
  291. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/bond/schedule/cashflow.py +0 -0
  292. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/__init__.py +0 -0
  293. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/conventions.py +0 -0
  294. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/__init__.py +0 -0
  295. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/analytical/__init__.py +0 -0
  296. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/analytical/reduced_form.py +0 -0
  297. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/base_credit_engine.py +0 -0
  298. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/mc/__init__.py +0 -0
  299. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/mc/basket_copula.py +0 -0
  300. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/engine/schedule.py +0 -0
  301. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/__init__.py +0 -0
  302. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/base_credit_product.py +0 -0
  303. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/basket_cds.py +0 -0
  304. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/product/cds.py +0 -0
  305. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/riskmeasures/__init__.py +0 -0
  306. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/credit/riskmeasures/credit_greeks_calculator.py +0 -0
  307. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/__init__.py +0 -0
  308. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/analysis/__init__.py +0 -0
  309. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/analysis/autocallable_path_analyzer.py +0 -0
  310. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/american_option_engine.py +0 -0
  311. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/barrier_analytical_engine.py +0 -0
  312. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/black_scholes_engine.py +0 -0
  313. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/deltaone_engine.py +0 -0
  314. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/double_barrier_option_engine.py +0 -0
  315. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/double_sharkfin_option_analytical_engine.py +0 -0
  316. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/one_touch_analytical_engine.py +0 -0
  317. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/range_accrual_analytical_engine.py +0 -0
  318. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/analytical/single_sharkfin_option_analytical_engine.py +0 -0
  319. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/base_engine.py +0 -0
  320. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/event_stats.py +0 -0
  321. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/american_option_mc_engine.py +0 -0
  322. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/barrier_option_mc_engine.py +0 -0
  323. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/digital_option_mc_engine.py +0 -0
  324. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/double_sharkfin_option_mc_engine.py +0 -0
  325. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/phoenix_mc_engine.py +0 -0
  326. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/range_accrual_mc_engine.py +0 -0
  327. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/single_sharkfin_option_mc_engine.py +0 -0
  328. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/mc/snowball_mc_engine.py +0 -0
  329. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/american_pde_solver.py +0 -0
  330. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/barrier_pde_solver.py +0 -0
  331. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/double_barrier_pde_solver.py +0 -0
  332. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/double_one_touch_pde_solver.py +0 -0
  333. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/european_pde_solver.py +0 -0
  334. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/ko_reset_snowball_pde_solver.py +0 -0
  335. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/one_touch_pde_solver.py +0 -0
  336. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/snowball_pde_solver.py +0 -0
  337. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/spatial_grid.py +0 -0
  338. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde/time_grid.py +0 -0
  339. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/pde_engine.py +0 -0
  340. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/__init__.py +0 -0
  341. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/discrete_quad_engine.py +0 -0
  342. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/european_quad_engine.py +0 -0
  343. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/quad_adapters.py +0 -0
  344. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/quad_core.py +0 -0
  345. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/quad/quad_math.py +0 -0
  346. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_american_analytical.py +0 -0
  347. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_american_pde.py +0 -0
  348. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_asian_analytical.py +0 -0
  349. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_barrier_analytical.py +0 -0
  350. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_barrier_pde_solver.py +0 -0
  351. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_digital_option.py +0 -0
  352. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/benchmark_check_snowball_pde_solver.py +0 -0
  353. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_american_analytical.py +0 -0
  354. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_american_pde.py +0 -0
  355. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_asian_analytical.py +0 -0
  356. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_barrier_analytical.py +0 -0
  357. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_barrier_pde_solver.py +0 -0
  358. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_digital_option.py +0 -0
  359. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/boundary_check_snowball_pde_solver.py +0 -0
  360. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/greeks_check_digital_option.py +0 -0
  361. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/mc_comparison_barrier_pde.py +0 -0
  362. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/quick_mc_compare.py +0 -0
  363. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/engine/validation/script/validation_stepdown_improved.py +0 -0
  364. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/__init__.py +0 -0
  365. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/autocallable.py +0 -0
  366. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/barrier.py +0 -0
  367. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/events.py +0 -0
  368. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/manager.py +0 -0
  369. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/lifecycle/state.py +0 -0
  370. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/param/__init__.py +0 -0
  371. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/param/engine_param_profiles.py +0 -0
  372. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/param/engine_params.py +0 -0
  373. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/__init__.py +0 -0
  374. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/bsm/__init__.py +0 -0
  375. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/bsm/bsm_process.py +0 -0
  376. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/process/bsm/qmc_path_generator.py +0 -0
  377. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/__init__.py +0 -0
  378. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/base_equity_product.py +0 -0
  379. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/__init__.py +0 -0
  380. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/base_deltaone_product.py +0 -0
  381. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/futures.py +0 -0
  382. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/deltaone/spot_instrument.py +0 -0
  383. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/american_option.py +0 -0
  384. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/barrier_option.py +0 -0
  385. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/base_equity_option.py +0 -0
  386. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/digital_option.py +0 -0
  387. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/double_barrier_option.py +0 -0
  388. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/double_one_touch_option.py +0 -0
  389. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/double_sharkfin_option.py +0 -0
  390. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/european_vanilla_option.py +0 -0
  391. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/ko_reset_snowball_option.py +0 -0
  392. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/observation_schedule.py +0 -0
  393. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/one_touch_option.py +0 -0
  394. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/phoenix_config.py +0 -0
  395. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/phoenix_helpers.py +0 -0
  396. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/phoenix_option.py +0 -0
  397. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/range_accrual_config.py +0 -0
  398. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/range_accrual_helpers.py +0 -0
  399. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/range_accrual_option.py +0 -0
  400. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/single_sharkfin_option.py +0 -0
  401. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/snowball_config.py +0 -0
  402. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/product/option/snowball_option.py +0 -0
  403. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/__init__.py +0 -0
  404. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/autocallable_risk_report.py +0 -0
  405. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/plotting.py +0 -0
  406. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/snowball_risk_comparison_report.py +0 -0
  407. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/report/surfaces.py +0 -0
  408. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/equity/riskmeasures/greeks_calculator.py +0 -0
  409. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/__init__.py +0 -0
  410. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_deltaone_engine.py +0 -0
  411. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_quanto_digital_engine.py +0 -0
  412. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/engine/analytical/fx_quanto_vanilla_engine.py +0 -0
  413. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/process/garman_kohlhagen_process.py +0 -0
  414. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/base_fx_product.py +0 -0
  415. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/currency_pair.py +0 -0
  416. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/__init__.py +0 -0
  417. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/base_fx_deltaone.py +0 -0
  418. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/fx_forward.py +0 -0
  419. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/fx_spot.py +0 -0
  420. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/deltaone/fx_swap.py +0 -0
  421. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_digital_option.py +0 -0
  422. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_quanto_digital_option.py +0 -0
  423. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_quanto_vanilla_option.py +0 -0
  424. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/product/option/fx_vanilla_option.py +0 -0
  425. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/report/__init__.py +0 -0
  426. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/report/fx_report.py +0 -0
  427. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/fx/riskmeasures/fx_greeks_calculator.py +0 -0
  428. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/__init__.py +0 -0
  429. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/__init__.py +0 -0
  430. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/cap_floor_engine.py +0 -0
  431. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/fra_engine.py +0 -0
  432. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/irs_discount_engine.py +0 -0
  433. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/engine/swaption_engine.py +0 -0
  434. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/__init__.py +0 -0
  435. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/cap_floor.py +0 -0
  436. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/fra.py +0 -0
  437. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/irs.py +0 -0
  438. {quantark-0.1.2 → quantark-0.2.1}/quantark/asset/rate/product/swaption.py +0 -0
  439. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/__init__.py +0 -0
  440. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/base.py +0 -0
  441. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/__init__.py +0 -0
  442. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/config.py +0 -0
  443. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/engine.py +0 -0
  444. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/credit/results.py +0 -0
  445. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/dashboard.py +0 -0
  446. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/__init__.py +0 -0
  447. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/config.py +0 -0
  448. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/hedge_executor.py +0 -0
  449. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/metrics.py +0 -0
  450. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/multi_hedge_executor.py +0 -0
  451. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/results.py +0 -0
  452. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/equity/state.py +0 -0
  453. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/__init__.py +0 -0
  454. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/advanced_backtest.py +0 -0
  455. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/basic_delta_hedge.py +0 -0
  456. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/examples/fi_dv01_hedge.py +0 -0
  457. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/__init__.py +0 -0
  458. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/config.py +0 -0
  459. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/engine.py +0 -0
  460. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/hedge_executor.py +0 -0
  461. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/metrics.py +0 -0
  462. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/results.py +0 -0
  463. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fi/state.py +0 -0
  464. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/__init__.py +0 -0
  465. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/config.py +0 -0
  466. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/engine.py +0 -0
  467. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/fx/results.py +0 -0
  468. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/logger.py +0 -0
  469. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/__init__.py +0 -0
  470. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/_replay.py +0 -0
  471. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/book_engine.py +0 -0
  472. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/config.py +0 -0
  473. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/dashboard.py +0 -0
  474. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/engine.py +0 -0
  475. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/engine_factory.py +0 -0
  476. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/market.py +0 -0
  477. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/results.py +0 -0
  478. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/otc/state.py +0 -0
  479. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/report_generator.py +0 -0
  480. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/__init__.py +0 -0
  481. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/barrier_trigger_strategy.py +0 -0
  482. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/base_strategy.py +0 -0
  483. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/convexity_neutral_strategy.py +0 -0
  484. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/credit_spread_neutral_strategy.py +0 -0
  485. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/delta_neutral_strategy.py +0 -0
  486. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/dv01_neutral_strategy.py +0 -0
  487. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/fx_delta_neutral_strategy.py +0 -0
  488. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/hedge_instruments.py +0 -0
  489. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/hedge_optimizer.py +0 -0
  490. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/min_variance_delta_strategy.py +0 -0
  491. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/multi_greek_strategy.py +0 -0
  492. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/scenario_hedge_strategy.py +0 -0
  493. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/scenarios.py +0 -0
  494. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/semi_static_strategy.py +0 -0
  495. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/triggered_hedge_strategy.py +0 -0
  496. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/strategy/whalley_wilmott_strategy.py +0 -0
  497. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/transaction_costs.py +0 -0
  498. {quantark-0.1.2 → quantark-0.2.1}/quantark/backtest/visualizer.py +0 -0
  499. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/__init__.py +0 -0
  500. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/accrual_leg.py +0 -0
  501. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/base.py +0 -0
  502. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/base_amount.py +0 -0
  503. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/deterministic_leg.py +0 -0
  504. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/event_distribution.py +0 -0
  505. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/fixed_payoff_leg.py +0 -0
  506. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/leg_schedule.py +0 -0
  507. {quantark-0.1.2 → quantark-0.2.1}/quantark/cashleg/leg_valuator.py +0 -0
  508. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/__init__.py +0 -0
  509. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/base.py +0 -0
  510. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/config.py +0 -0
  511. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/__init__.py +0 -0
  512. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/config.py +0 -0
  513. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/engine.py +0 -0
  514. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/credit/path_library.py +0 -0
  515. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/engine.py +0 -0
  516. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/equity/__init__.py +0 -0
  517. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/__init__.py +0 -0
  518. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/config.py +0 -0
  519. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/engine.py +0 -0
  520. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fi/results.py +0 -0
  521. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/__init__.py +0 -0
  522. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/config.py +0 -0
  523. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/engine.py +0 -0
  524. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/fx/path_library.py +0 -0
  525. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/lifecycle_manager.py +0 -0
  526. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/__init__.py +0 -0
  527. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/day_path.py +0 -0
  528. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/fi_path_library.py +0 -0
  529. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/path_builder.py +0 -0
  530. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/path/path_library.py +0 -0
  531. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/report/__init__.py +0 -0
  532. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/report/dynamic_report.py +0 -0
  533. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/report/visualizer.py +0 -0
  534. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/results/__init__.py +0 -0
  535. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/results/dynamic_results.py +0 -0
  536. {quantark-0.1.2 → quantark-0.2.1}/quantark/dynamicscenario/results/result_exporter.py +0 -0
  537. {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_brownian_bridge.py +0 -0
  538. {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_rqmc_driver.py +0 -0
  539. {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_sobol.py +0 -0
  540. {quantark-0.1.2/quantark/asset/equity/process/bsm → quantark-0.2.1/quantark/montecarlo}/qmc_variance_reduction.py +0 -0
  541. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/basis/__init__.py +0 -0
  542. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/basis/basis_yield.py +0 -0
  543. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/credit/__init__.py +0 -0
  544. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/credit/ajd_hazard_curve.py +0 -0
  545. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/credit/hazard_curve.py +0 -0
  546. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/div/__init__.py +0 -0
  547. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/div/dividend_yield.py +0 -0
  548. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/index/__init__.py +0 -0
  549. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/index/rate_index.py +0 -0
  550. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/quote/__init__.py +0 -0
  551. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/quote/spot_quote.py +0 -0
  552. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/rrf/__init__.py +0 -0
  553. {quantark-0.1.2 → quantark-0.2.1}/quantark/param/rrf/rate_curve.py +0 -0
  554. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/base.py +0 -0
  555. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/credit/__init__.py +0 -0
  556. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/credit/portfolio.py +0 -0
  557. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/credit/position.py +0 -0
  558. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/equity/position.py +0 -0
  559. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fi/__init__.py +0 -0
  560. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fi/portfolio.py +0 -0
  561. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fi/position.py +0 -0
  562. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fx/__init__.py +0 -0
  563. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fx/portfolio.py +0 -0
  564. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/fx/position.py +0 -0
  565. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/portfolio_snapshot.py +0 -0
  566. {quantark-0.1.2 → quantark-0.2.1}/quantark/portfolio/portfolio_storage.py +0 -0
  567. {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/__init__.py +0 -0
  568. {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/credit_pricing_environment.py +0 -0
  569. {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/fx_pricing_environment.py +0 -0
  570. {quantark-0.1.2 → quantark-0.2.1}/quantark/priceenv/pricing_environment.py +0 -0
  571. {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/__init__.py +0 -0
  572. {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/builders.py +0 -0
  573. {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/models.py +0 -0
  574. {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/registry.py +0 -0
  575. {quantark-0.1.2 → quantark-0.2.1}/quantark/rfq/service.py +0 -0
  576. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/__init__.py +0 -0
  577. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/__init__.py +0 -0
  578. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/accessors.py +0 -0
  579. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/commodity.py +0 -0
  580. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/credit_non_qualifying.py +0 -0
  581. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/credit_qualifying.py +0 -0
  582. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/cross_risk.py +0 -0
  583. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/equity.py +0 -0
  584. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/fx.py +0 -0
  585. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/ir.py +0 -0
  586. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/calibration/version.py +0 -0
  587. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/config.py +0 -0
  588. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/crif/__init__.py +0 -0
  589. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/crif/models.py +0 -0
  590. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/crif/parser.py +0 -0
  591. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/__init__.py +0 -0
  592. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/__init__.py +0 -0
  593. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/addon.py +0 -0
  594. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/bucket_aggregator.py +0 -0
  595. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/concentration.py +0 -0
  596. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/correlations.py +0 -0
  597. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/product_class_aggregator.py +0 -0
  598. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/risk_class_aggregator.py +0 -0
  599. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/simm_calculator.py +0 -0
  600. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/aggregation/weighted_sensitivity.py +0 -0
  601. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/base.py +0 -0
  602. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/classification/__init__.py +0 -0
  603. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/classification/bucket_mapper.py +0 -0
  604. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/factory.py +0 -0
  605. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/portfolio_adapter.py +0 -0
  606. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/result.py +0 -0
  607. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/__init__.py +0 -0
  608. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/equity_engine.py +0 -0
  609. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/ir_engine.py +0 -0
  610. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/engines/risk_class/provider_engine.py +0 -0
  611. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/market_data.py +0 -0
  612. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/__init__.py +0 -0
  613. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/crif_export.py +0 -0
  614. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/excel_generator.py +0 -0
  615. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/report/html_generator.py +0 -0
  616. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/__init__.py +0 -0
  617. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/attribution.py +0 -0
  618. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/simm_result.py +0 -0
  619. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/results/whatif.py +0 -0
  620. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/sensitivity.py +0 -0
  621. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/taxonomy.py +0 -0
  622. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/template/__init__.py +0 -0
  623. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/template/xlsx_loader.py +0 -0
  624. {quantark-0.1.2 → quantark-0.2.1}/quantark/simm/template/xlsx_template.py +0 -0
  625. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/__init__.py +0 -0
  626. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/base.py +0 -0
  627. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/config.py +0 -0
  628. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/__init__.py +0 -0
  629. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/config.py +0 -0
  630. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/credit_stress_applicator.py +0 -0
  631. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/credit/engine.py +0 -0
  632. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/engine.py +0 -0
  633. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/__init__.py +0 -0
  634. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/config.py +0 -0
  635. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/engine.py +0 -0
  636. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/report/__init__.py +0 -0
  637. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/report/report_generator.py +0 -0
  638. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/report/visualizer.py +0 -0
  639. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/equity/results.py +0 -0
  640. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/__init__.py +0 -0
  641. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/config.py +0 -0
  642. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/engine.py +0 -0
  643. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/metrics.py +0 -0
  644. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fi/results.py +0 -0
  645. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/__init__.py +0 -0
  646. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/config.py +0 -0
  647. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/engine.py +0 -0
  648. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/fx/fx_stress_applicator.py +0 -0
  649. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/report/__init__.py +0 -0
  650. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/report/report_generator.py +0 -0
  651. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/report/visualizer.py +0 -0
  652. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/__init__.py +0 -0
  653. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/result_aggregator.py +0 -0
  654. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/result_exporter.py +0 -0
  655. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/results/stress_results.py +0 -0
  656. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/__init__.py +0 -0
  657. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario.py +0 -0
  658. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario_builder.py +0 -0
  659. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario_library.py +0 -0
  660. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/scenario/scenario_storage.py +0 -0
  661. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/stress/__init__.py +0 -0
  662. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/stress/stress_applicator.py +0 -0
  663. {quantark-0.1.2 → quantark-0.2.1}/quantark/stresstest/stress/stress_types.py +0 -0
  664. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/__init__.py +0 -0
  665. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/barrier_shift.py +0 -0
  666. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/__init__.py +0 -0
  667. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/day_counter.py +0 -0
  668. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/holidayfile/china.csv +0 -0
  669. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/calendar/holidayfile/china_sse.csv +0 -0
  670. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/bond_enums.py +0 -0
  671. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/deltaone_enums.py +0 -0
  672. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/enum/greeks_enums.py +0 -0
  673. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/exceptions.py +0 -0
  674. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/__init__.py +0 -0
  675. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/adapter/base_adapter.py +0 -0
  676. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/adapter/mock_adapter.py +0 -0
  677. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/converter.py +0 -0
  678. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/example_usage.py +0 -0
  679. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/generator/__init__.py +0 -0
  680. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/generator/mock_generator.py +0 -0
  681. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/models.py +0 -0
  682. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/storage/__init__.py +0 -0
  683. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/marketdata/storage/parquet_storage.py +0 -0
  684. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/__init__.py +0 -0
  685. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/comparison.py +0 -0
  686. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/constants.py +0 -0
  687. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/formatting.py +0 -0
  688. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/pnl.py +0 -0
  689. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/safe_math.py +0 -0
  690. {quantark-0.1.2 → quantark-0.2.1}/quantark/util/numerical/validation.py +0 -0
  691. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/__init__.py +0 -0
  692. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/attribution.py +0 -0
  693. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/backtest/__init__.py +0 -0
  694. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/backtest/var_backtester.py +0 -0
  695. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/base.py +0 -0
  696. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/config.py +0 -0
  697. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/__init__.py +0 -0
  698. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/config.py +0 -0
  699. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/engine.py +0 -0
  700. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/credit/revaluation.py +0 -0
  701. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/engines/__init__.py +0 -0
  702. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/__init__.py +0 -0
  703. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/config.py +0 -0
  704. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/fx/engine.py +0 -0
  705. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/__init__.py +0 -0
  706. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/incremental_var_result.py +0 -0
  707. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/var_report.py +0 -0
  708. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/results/var_result.py +0 -0
  709. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/__init__.py +0 -0
  710. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/base.py +0 -0
  711. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/equity_factors.py +0 -0
  712. {quantark-0.1.2 → quantark-0.2.1}/quantark/var/risk_factors/fi_factors.py +0 -0
  713. {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.2
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 is designed with a clean, modular architecture that separates concerns across different components:
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, etc.)
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
- - **European Vanilla Options**: Full support for calls and puts
66
- - **American Options**: Analytical and numerical methods (Barone-Adesi-Whaley, Longstaff-Schwartz)
67
- - **Black-Scholes-Merton Model**: With continuous dividend yield
68
- - **Analytical Pricing**: Closed-form Black-Scholes formula
69
- - **Monte Carlo Engine**: Path-dependent pricing with variance reduction techniques
70
- - **PDE Engine**: Finite difference methods for American options
71
- - **Portfolio Value-at-Risk (VaR)**: Three calculation methods
72
- - Historical VaR (full revaluation under historical scenarios)
73
- - Parametric VaR (variance-covariance with Greeks/DV01)
74
- - Monte Carlo VaR (simulation-based with stress testing)
75
- - **Bond Pricing**: Fixed rate bonds, FRNs, and bond options
76
- - **Interest Rate Swaps**: Pricing and risk metrics (DV01)
77
- - **FX Derivatives**: Garman-Kohlhagen vanilla, digital, and quanto options;
78
- spot / forward / swap delta-one products with two-curve discounting
79
- - **FX Portfolio & Risk**: `FXPortfolio` plus full integration with the
80
- portfolio risk stack FX stress testing, Value-at-Risk (parametric /
81
- historical / Monte Carlo with two-rate factors), multi-day dynamic scenarios,
82
- delta-neutral backtest hedging, and ISDA SIMM v2.6 initial margin
83
- (one `FXPosition` feeds all five; see `example/fx_portfolio_risk_demo.py`)
84
- - **Greeks Calculation**:
85
- - Analytical Greeks using closed-form formulas
86
- - Numerical Greeks using finite difference method (FDM)
87
- - Delta, Gamma, Vega, Theta, Rho, DV01
88
- - **Robust Error Handling**: Professional exception hierarchy
89
- - **Numerical Stability**: Careful boundary checking and validation
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
- QuantArk/
298
+ quantark/
279
299
  ├── asset/ # Asset classes
280
300
  │ ├── equity/
281
- │ │ ├── engine/ # Pricing engines
282
- │ │ ├── analytical/
283
- │ │ ├── mc/
284
- │ │ ├── pde/
285
- │ │ │ └── quad/
286
- │ │ ├── param/ # Engine parameters
287
- ├── process/ # Stochastic processes
288
- │ │ │ ├── bsm/
289
- │ │ ├── heston/
290
- │ │ ├── localvol/
291
- │ │ └── slv/
292
- │ ├── product/ # Derivative products
293
- │ │ │ └── option/
294
- │ │ └── riskmeasures/ # Greeks calculation
295
- ├── bond/ # Fixed income instruments
296
- │ │ ├── engine/ # Bond pricing engines
297
- │ │ ├── product/ # Bond products
298
- │ │ └── riskmeasures/ # Bond risk measures
299
- ├── rate/ # Interest rate derivatives
300
- │ │ ├── engine/ # IR pricing engines
301
- │ │ ├── product/ # IR products
302
- │ │ └── riskmeasures/ # IR risk measures
303
- │ └── fx/ # FX derivatives
304
- ├── engine/ # Garman-Kohlhagen, digital, quanto, delta-one
305
- ├── process/ # Garman-Kohlhagen process
306
- ├── product/ # Options (vanilla/digital/quanto) and delta-one
307
- │ ├── report/ # Formatted pricing reports
308
- │ └── riskmeasures/ # FX Greeks calculator
309
- ├── param/ # Market data parameters
310
- │ ├── div/ # Dividend yields
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
- ### Short-term
355
+ ### Delivered
364
356
  - [x] American options (analytical and numerical methods)
365
- - [ ] Asian options
366
- - [ ] Barrier options
367
- - [x] Monte Carlo engine implementation
368
- - [x] PDE engine implementation
369
- - [x] Portfolio VaR calculations
370
- - [x] Fixed income instruments (bonds, swaps)
371
-
372
- ### Medium-term
373
- - [ ] Heston stochastic volatility model
374
- - [ ] Local volatility model
375
- - [ ] Credit derivatives
376
- - [ ] Calibration framework
377
- - [ ] XVA calculations
378
- - [ ] Multi-asset derivatives
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
- - Black-Scholes-Merton model from Fischer Black, Myron Scholes, and Robert Merton
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 is designed with a clean, modular architecture that separates concerns across different components:
13
-
14
- - **Products**: Define instrument specifications (options, swaps, etc.)
15
- - **Processes**: Stochastic models (Black-Scholes-Merton, Heston, Local Vol, etc.)
16
- - **Engines**: Pricing algorithms (Analytical, Monte Carlo, PDE, Quadrature)
17
- - **Parameters**: Market data (spot prices, volatility surfaces, rate curves, dividends)
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
- - **European Vanilla Options**: Full support for calls and puts
26
- - **American Options**: Analytical and numerical methods (Barone-Adesi-Whaley, Longstaff-Schwartz)
27
- - **Black-Scholes-Merton Model**: With continuous dividend yield
28
- - **Analytical Pricing**: Closed-form Black-Scholes formula
29
- - **Monte Carlo Engine**: Path-dependent pricing with variance reduction techniques
30
- - **PDE Engine**: Finite difference methods for American options
31
- - **Portfolio Value-at-Risk (VaR)**: Three calculation methods
32
- - Historical VaR (full revaluation under historical scenarios)
33
- - Parametric VaR (variance-covariance with Greeks/DV01)
34
- - Monte Carlo VaR (simulation-based with stress testing)
35
- - **Bond Pricing**: Fixed rate bonds, FRNs, and bond options
36
- - **Interest Rate Swaps**: Pricing and risk metrics (DV01)
37
- - **FX Derivatives**: Garman-Kohlhagen vanilla, digital, and quanto options;
38
- spot / forward / swap delta-one products with two-curve discounting
39
- - **FX Portfolio & Risk**: `FXPortfolio` plus full integration with the
40
- portfolio risk stack FX stress testing, Value-at-Risk (parametric /
41
- historical / Monte Carlo with two-rate factors), multi-day dynamic scenarios,
42
- delta-neutral backtest hedging, and ISDA SIMM v2.6 initial margin
43
- (one `FXPosition` feeds all five; see `example/fx_portfolio_risk_demo.py`)
44
- - **Greeks Calculation**:
45
- - Analytical Greeks using closed-form formulas
46
- - Numerical Greeks using finite difference method (FDM)
47
- - Delta, Gamma, Vega, Theta, Rho, DV01
48
- - **Robust Error Handling**: Professional exception hierarchy
49
- - **Numerical Stability**: Careful boundary checking and validation
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
- QuantArk/
258
+ quantark/
239
259
  ├── asset/ # Asset classes
240
260
  │ ├── equity/
241
- │ │ ├── engine/ # Pricing engines
242
- │ │ ├── analytical/
243
- │ │ ├── mc/
244
- │ │ ├── pde/
245
- │ │ │ └── quad/
246
- │ │ ├── param/ # Engine parameters
247
- ├── process/ # Stochastic processes
248
- │ │ │ ├── bsm/
249
- │ │ ├── heston/
250
- │ │ ├── localvol/
251
- │ │ └── slv/
252
- │ ├── product/ # Derivative products
253
- │ │ │ └── option/
254
- │ │ └── riskmeasures/ # Greeks calculation
255
- ├── bond/ # Fixed income instruments
256
- │ │ ├── engine/ # Bond pricing engines
257
- │ │ ├── product/ # Bond products
258
- │ │ └── riskmeasures/ # Bond risk measures
259
- ├── rate/ # Interest rate derivatives
260
- │ │ ├── engine/ # IR pricing engines
261
- │ │ ├── product/ # IR products
262
- │ │ └── riskmeasures/ # IR risk measures
263
- │ └── fx/ # FX derivatives
264
- ├── engine/ # Garman-Kohlhagen, digital, quanto, delta-one
265
- ├── process/ # Garman-Kohlhagen process
266
- ├── product/ # Options (vanilla/digital/quanto) and delta-one
267
- │ ├── report/ # Formatted pricing reports
268
- │ └── riskmeasures/ # FX Greeks calculator
269
- ├── param/ # Market data parameters
270
- │ ├── div/ # Dividend yields
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
- ### Short-term
315
+ ### Delivered
324
316
  - [x] American options (analytical and numerical methods)
325
- - [ ] Asian options
326
- - [ ] Barrier options
327
- - [x] Monte Carlo engine implementation
328
- - [x] PDE engine implementation
329
- - [x] Portfolio VaR calculations
330
- - [x] Fixed income instruments (bonds, swaps)
331
-
332
- ### Medium-term
333
- - [ ] Heston stochastic volatility model
334
- - [ ] Local volatility model
335
- - [ ] Credit derivatives
336
- - [ ] Calibration framework
337
- - [ ] XVA calculations
338
- - [ ] Multi-asset derivatives
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
- - Black-Scholes-Merton model from Fischer Black, Myron Scholes, and Robert Merton
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "quantark"
7
- version = "0.1.2"
7
+ version = "0.2.1"
8
8
  description = "Modular derivatives pricing and risk library: options, autocallables, bonds, VaR, SIMM"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """QuantArk: professional financial derivatives pricing library."""
2
2
 
3
- __version__ = "0.1.2"
3
+ __version__ = "0.2.1"
@@ -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",