pyquantlib 0.6.0__tar.gz → 0.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. pyquantlib-0.8.0/.dockerignore +24 -0
  2. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/scripts/build-quantlib-windows.ps1 +6 -1
  3. pyquantlib-0.8.0/.github/workflows/docker.yml +86 -0
  4. pyquantlib-0.8.0/.github/workflows/docs.yml +129 -0
  5. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/workflows/linux.yml +1 -1
  6. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/workflows/macos.yml +1 -1
  7. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/workflows/wheels.yml +6 -1
  8. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/workflows/windows.yml +2 -2
  9. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.gitignore +3 -0
  10. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/CMakeLists.txt +33 -12
  11. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/CONTRIBUTING.md +1 -1
  12. pyquantlib-0.8.0/Dockerfile +95 -0
  13. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/PKG-INFO +43 -81
  14. pyquantlib-0.8.0/README.md +127 -0
  15. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/_static/custom.css +61 -0
  16. pyquantlib-0.8.0/docs/_static/favicon.svg +9 -0
  17. pyquantlib-0.8.0/docs/_static/logo.svg +26 -0
  18. pyquantlib-0.8.0/docs/_static/social-card.png +0 -0
  19. pyquantlib-0.8.0/docs/_static/wordmark-dark.svg +5 -0
  20. pyquantlib-0.8.0/docs/_static/wordmark-light.svg +5 -0
  21. pyquantlib-0.8.0/docs/api/cashflows.md +523 -0
  22. pyquantlib-0.8.0/docs/api/core.md +161 -0
  23. pyquantlib-0.8.0/docs/api/currencies.md +112 -0
  24. pyquantlib-0.8.0/docs/api/experimental.md +128 -0
  25. pyquantlib-0.8.0/docs/api/extensions.md +116 -0
  26. pyquantlib-0.8.0/docs/api/indexes.md +297 -0
  27. pyquantlib-0.8.0/docs/api/instruments.md +774 -0
  28. pyquantlib-0.8.0/docs/api/math.md +470 -0
  29. pyquantlib-0.8.0/docs/api/methods.md +499 -0
  30. pyquantlib-0.8.0/docs/api/models.md +342 -0
  31. pyquantlib-0.8.0/docs/api/pricingengines.md +967 -0
  32. pyquantlib-0.8.0/docs/api/processes.md +210 -0
  33. pyquantlib-0.8.0/docs/api/quotes.md +136 -0
  34. pyquantlib-0.8.0/docs/api/termstructures.md +831 -0
  35. pyquantlib-0.8.0/docs/api/time.md +185 -0
  36. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/architecture.md +5 -34
  37. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/building.md +8 -6
  38. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/changelog.md +118 -1
  39. pyquantlib-0.8.0/docs/concepts/bridge-pattern-types.md +88 -0
  40. pyquantlib-0.8.0/docs/concepts/calibration.md +74 -0
  41. pyquantlib-0.8.0/docs/concepts/finite-difference.md +63 -0
  42. pyquantlib-0.8.0/docs/concepts/index.md +31 -0
  43. pyquantlib-0.8.0/docs/concepts/pricing-engines.md +66 -0
  44. pyquantlib-0.8.0/docs/concepts/quotes-and-observables.md +84 -0
  45. pyquantlib-0.8.0/docs/concepts/random-numbers.md +59 -0
  46. pyquantlib-0.8.0/docs/concepts/stochastic-processes.md +81 -0
  47. pyquantlib-0.8.0/docs/concepts/term-structures.md +88 -0
  48. pyquantlib-0.8.0/docs/conf.py +337 -0
  49. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/contributing.md +0 -4
  50. pyquantlib-0.8.0/docs/cookbook/american-fd.md +105 -0
  51. pyquantlib-0.8.0/docs/cookbook/bootstrap-yield-curve.md +106 -0
  52. pyquantlib-0.8.0/docs/cookbook/compare-engines.md +77 -0
  53. pyquantlib-0.8.0/docs/cookbook/heston-calibration.md +115 -0
  54. pyquantlib-0.8.0/docs/cookbook/index.md +38 -0
  55. pyquantlib-0.8.0/docs/cookbook/mc-convergence.md +98 -0
  56. pyquantlib-0.8.0/docs/cookbook/mc-engine-kwargs.md +122 -0
  57. pyquantlib-0.8.0/docs/cookbook/numpy-interop.md +128 -0
  58. pyquantlib-0.8.0/docs/cookbook/piecewise-mixed-helpers.md +112 -0
  59. pyquantlib-0.8.0/docs/cookbook/scenario-analysis.md +83 -0
  60. pyquantlib-0.8.0/docs/cookbook/spread-option-engines.md +70 -0
  61. pyquantlib-0.8.0/docs/cookbook/vol-surface.md +102 -0
  62. pyquantlib-0.8.0/docs/examples/index.md +54 -0
  63. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/extending.md +1 -3
  64. pyquantlib-0.8.0/docs/index.md +147 -0
  65. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/installation.md +8 -2
  66. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/internals.md +4 -4
  67. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/quickstart.md +1 -1
  68. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/requirements.txt +3 -1
  69. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/bermudan_swaption.ipynb +259 -56
  70. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/bonds.ipynb +66 -10
  71. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/cds.ipynb +42 -7
  72. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/equity_option.ipynb +162 -23
  73. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/hello_pyquantlib.ipynb +83 -12
  74. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/inflation_derivatives.ipynb +119 -17
  75. pyquantlib-0.8.0/examples/multicurve_bootstrapping.ipynb +440 -0
  76. pyquantlib-0.8.0/examples/numpy_interoperability.ipynb +922 -0
  77. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/replication.ipynb +50 -8
  78. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/spread_option.ipynb +56 -8
  79. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/svi_smile.ipynb +181 -42
  80. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/pyquantlib.h +52 -0
  81. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/__init__.pyi +85 -5
  82. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/_pyquantlib/__init__.pyi +2980 -1396
  83. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/_pyquantlib/base.pyi +126 -124
  84. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/builders.py +0 -2
  85. pyquantlib-0.8.0/pyquantlib/version.py +1 -0
  86. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/version.pyi +1 -1
  87. pyquantlib-0.8.0/scripts/make_social_card.py +96 -0
  88. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/all.cpp +3 -10
  89. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/floatingratecoupon.cpp +7 -2
  90. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/overnightindexedcouponpricer.cpp +25 -0
  91. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/exercise.cpp +2 -1
  92. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/quote.cpp +1 -0
  93. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/all.cpp +0 -5
  94. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/volatility/svismilesection.cpp +1 -1
  95. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/all.cpp +5 -3
  96. pyquantlib-0.8.0/src/indexes/ibor/libor.cpp +119 -0
  97. pyquantlib-0.8.0/src/indexes/ibor/usdlibor.cpp +79 -0
  98. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/all.cpp +15 -4
  99. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/asianoption.cpp +9 -1
  100. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/floatfloatswap.cpp +6 -1
  101. pyquantlib-0.8.0/src/instruments/futures.cpp +30 -0
  102. pyquantlib-0.8.0/src/instruments/fxforward.cpp +80 -0
  103. pyquantlib-0.8.0/src/instruments/multipleresetsswap.cpp +64 -0
  104. pyquantlib-0.8.0/src/instruments/overnightindexfuture.cpp +59 -0
  105. pyquantlib-0.8.0/src/instruments/partialtimebarrieroption.cpp +49 -0
  106. pyquantlib-0.8.0/src/instruments/perpetualfutures.cpp +54 -0
  107. pyquantlib-0.8.0/src/instruments/softbarrieroption.cpp +46 -0
  108. pyquantlib-0.8.0/src/instruments/twoassetbarrieroption.cpp +37 -0
  109. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/all.cpp +6 -7
  110. pyquantlib-0.8.0/src/math/interpolations/backwardflatlinearinterpolation.cpp +25 -0
  111. pyquantlib-0.8.0/src/math/interpolations/convexmonotoneinterpolation.cpp +53 -0
  112. pyquantlib-0.8.0/src/math/interpolations/flatextrapolation2d.cpp +29 -0
  113. pyquantlib-0.8.0/src/math/interpolations/loginterpolation.cpp +116 -0
  114. pyquantlib-0.8.0/src/math/interpolations/mixedinterpolation.cpp +96 -0
  115. pyquantlib-0.8.0/src/math/interpolations/sabrinterpolation.cpp +103 -0
  116. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/all.cpp +0 -4
  117. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/all.cpp +47 -13
  118. pyquantlib-0.8.0/src/pricingengines/asian/analytic_discr_geom_av_strike.cpp +31 -0
  119. pyquantlib-0.8.0/src/pricingengines/asian/choiasianengine.cpp +34 -0
  120. pyquantlib-0.8.0/src/pricingengines/asian/continuousarithmeticasianlevyengine.cpp +42 -0
  121. pyquantlib-0.8.0/src/pricingengines/asian/fdblackscholesasianengine.cpp +37 -0
  122. pyquantlib-0.8.0/src/pricingengines/asian/mc_discr_arith_av_price_heston.cpp +93 -0
  123. pyquantlib-0.8.0/src/pricingengines/asian/mc_discr_arith_av_strike.cpp +67 -0
  124. pyquantlib-0.8.0/src/pricingengines/asian/mc_discr_geom_av_price.cpp +67 -0
  125. pyquantlib-0.8.0/src/pricingengines/asian/mc_discr_geom_av_price_heston.cpp +89 -0
  126. pyquantlib-0.8.0/src/pricingengines/barrier/analyticbinarybarrierengine.cpp +30 -0
  127. pyquantlib-0.8.0/src/pricingengines/barrier/analyticpartialtimebarrieroptionengine.cpp +30 -0
  128. pyquantlib-0.8.0/src/pricingengines/barrier/analyticsoftbarrierengine.cpp +30 -0
  129. pyquantlib-0.8.0/src/pricingengines/barrier/analytictwoassetbarrierengine.cpp +45 -0
  130. pyquantlib-0.8.0/src/pricingengines/barrier/binomialbarrierengine.cpp +94 -0
  131. pyquantlib-0.8.0/src/pricingengines/barrier/fdhestonbarrierengine.cpp +38 -0
  132. pyquantlib-0.8.0/src/pricingengines/barrier/fdhestondoublebarrierengine.cpp +38 -0
  133. pyquantlib-0.8.0/src/pricingengines/barrier/fdhestonrebateengine.cpp +38 -0
  134. pyquantlib-0.8.0/src/pricingengines/basket/choibasketengine.cpp +38 -0
  135. pyquantlib-0.8.0/src/pricingengines/basket/fdndimblackscholesvanillaengine.cpp +48 -0
  136. pyquantlib-0.8.0/src/pricingengines/basket/mcamericanbasketengine.cpp +86 -0
  137. pyquantlib-0.8.0/src/pricingengines/basket/singlefactorbsmbasketengine.cpp +33 -0
  138. pyquantlib-0.8.0/src/pricingengines/forward/discountingfxforwardengine.cpp +58 -0
  139. pyquantlib-0.8.0/src/pricingengines/futures/discountingperpetualfuturesengine.cpp +98 -0
  140. pyquantlib-0.8.0/src/pricingengines/vanilla/cashdividendeuropeanengine.cpp +45 -0
  141. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdblackscholesvanillaengine.cpp +14 -15
  142. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/all.cpp +0 -2
  143. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/quotes/all.cpp +2 -0
  144. pyquantlib-0.8.0/src/quotes/deltavolquote.cpp +72 -0
  145. pyquantlib-0.8.0/src/quotes/multicompositequote.cpp +68 -0
  146. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/all.cpp +20 -20
  147. pyquantlib-0.8.0/src/termstructures/globalbootstrap.cpp +152 -0
  148. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflationtermstructure.cpp +2 -6
  149. pyquantlib-0.8.0/src/termstructures/multicurve.cpp +56 -0
  150. pyquantlib-0.8.0/src/termstructures/volatility/equityfx/blackvolsurfacedelta.cpp +86 -0
  151. pyquantlib-0.8.0/src/termstructures/volatility/equityfx/blackvoltimeextrapolation.cpp +32 -0
  152. pyquantlib-0.8.0/src/termstructures/volatility/equityfx/piecewiseblackvariancesurface.cpp +61 -0
  153. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/flatsmilesection.cpp +1 -2
  154. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/kahalesmilesection.cpp +1 -2
  155. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/noarbsabrinterpolatedsmilesection.cpp +1 -2
  156. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/noarbsabrsmilesection.cpp +1 -2
  157. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/sabrsmilesection.cpp +1 -1
  158. pyquantlib-0.8.0/src/termstructures/yield/multipleresetsswaphelper.cpp +111 -0
  159. pyquantlib-0.8.0/src/termstructures/yield/overnightindexfutureratehelper.cpp +125 -0
  160. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/piecewiseyieldcurve.cpp +8 -0
  161. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/ratehelpers.cpp +58 -0
  162. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/all.cpp +0 -5
  163. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_cashflows.py +84 -2
  164. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_core.py +43 -1
  165. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_indexes.py +48 -0
  166. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_instruments.py +239 -0
  167. pyquantlib-0.8.0/tests/test_math_interpolations.py +733 -0
  168. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math_randomnumbers.py +12 -12
  169. pyquantlib-0.8.0/tests/test_pricingengines_asian.py +426 -0
  170. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_barrier.py +254 -0
  171. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_basket.py +163 -0
  172. pyquantlib-0.8.0/tests/test_pricingengines_futures.py +68 -0
  173. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_vanilla.py +49 -0
  174. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_quotes.py +64 -0
  175. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_termstructures_volatility.py +105 -0
  176. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_termstructures_yield.py +405 -0
  177. pyquantlib-0.6.0/README.md +0 -165
  178. pyquantlib-0.6.0/docs/_static/favicon.svg +0 -4
  179. pyquantlib-0.6.0/docs/_static/logo.svg +0 -15
  180. pyquantlib-0.6.0/docs/api/cashflows.md +0 -631
  181. pyquantlib-0.6.0/docs/api/core.md +0 -164
  182. pyquantlib-0.6.0/docs/api/currencies.md +0 -87
  183. pyquantlib-0.6.0/docs/api/experimental.md +0 -144
  184. pyquantlib-0.6.0/docs/api/extensions.md +0 -101
  185. pyquantlib-0.6.0/docs/api/indexes.md +0 -432
  186. pyquantlib-0.6.0/docs/api/instruments.md +0 -1037
  187. pyquantlib-0.6.0/docs/api/math.md +0 -568
  188. pyquantlib-0.6.0/docs/api/methods.md +0 -1127
  189. pyquantlib-0.6.0/docs/api/models.md +0 -438
  190. pyquantlib-0.6.0/docs/api/pricingengines.md +0 -1154
  191. pyquantlib-0.6.0/docs/api/processes.md +0 -248
  192. pyquantlib-0.6.0/docs/api/quotes.md +0 -62
  193. pyquantlib-0.6.0/docs/api/termstructures.md +0 -1112
  194. pyquantlib-0.6.0/docs/api/time.md +0 -168
  195. pyquantlib-0.6.0/docs/conf.py +0 -168
  196. pyquantlib-0.6.0/docs/design/api-design.md +0 -46
  197. pyquantlib-0.6.0/docs/design/bridge-defaults.md +0 -173
  198. pyquantlib-0.6.0/docs/design/builder-pattern.md +0 -163
  199. pyquantlib-0.6.0/docs/design/cross-tu-holders.md +0 -180
  200. pyquantlib-0.6.0/docs/design/diamond-inheritance.md +0 -320
  201. pyquantlib-0.6.0/docs/design/enum-singletons.md +0 -341
  202. pyquantlib-0.6.0/docs/design/hidden-handles.md +0 -123
  203. pyquantlib-0.6.0/docs/design/index.md +0 -24
  204. pyquantlib-0.6.0/docs/design/interpolation.md +0 -231
  205. pyquantlib-0.6.0/docs/design/protected-members.md +0 -280
  206. pyquantlib-0.6.0/docs/design/python-subclassing.md +0 -275
  207. pyquantlib-0.6.0/docs/design/reference-members.md +0 -180
  208. pyquantlib-0.6.0/docs/design/settings-singleton.md +0 -174
  209. pyquantlib-0.6.0/docs/examples/index.md +0 -22
  210. pyquantlib-0.6.0/docs/index.md +0 -174
  211. pyquantlib-0.6.0/examples/multicurve_bootstrapping.ipynb +0 -203
  212. pyquantlib-0.6.0/examples/numpy_interoperability.ipynb +0 -499
  213. pyquantlib-0.6.0/pyquantlib/version.py +0 -1
  214. pyquantlib-0.6.0/tests/test_math_interpolations.py +0 -291
  215. pyquantlib-0.6.0/tests/test_pricingengines_asian.py +0 -174
  216. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.gitattributes +0 -0
  217. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  218. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  219. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  220. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/infrastructure.md +0 -0
  221. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/.readthedocs.yaml +0 -0
  222. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/CITATION.cff +0 -0
  223. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/CMakePresets.json +0 -0
  224. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/LICENSE +0 -0
  225. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/SECURITY.md +0 -0
  226. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/api/index.md +0 -0
  227. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/handles.md +0 -0
  228. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/numpy.md +0 -0
  229. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/docs/troubleshooting.md +0 -0
  230. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/examples/README.md +0 -0
  231. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/extensions.json +0 -0
  232. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/binding_manager.h +0 -0
  233. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/interpolation_helper.h +0 -0
  234. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/null_utils.h +0 -0
  235. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/shared_ptr_from_python.h +0 -0
  236. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/trampolines.h +0 -0
  237. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/include/pyquantlib/version.h +0 -0
  238. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/licenseheader.txt +0 -0
  239. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyproject.toml +0 -0
  240. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/__init__.py +0 -0
  241. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/extensions/__init__.py +0 -0
  242. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/extensions/modified_kirk_engine.py +0 -0
  243. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/extensions/svi_smile_section.py +0 -0
  244. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/pyquantlib/py.typed +0 -0
  245. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/requirements-dev.txt +0 -0
  246. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/scripts/README.md +0 -0
  247. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/scripts/build_docs.py +0 -0
  248. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/scripts/clean.py +0 -0
  249. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/scripts/rebuild.py +0 -0
  250. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/scripts/stubgen.py +0 -0
  251. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/scripts/test.py +0 -0
  252. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/settings.json +0 -0
  253. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/averagebmacoupon.cpp +0 -0
  254. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/capflooredcoupon.cpp +0 -0
  255. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/capflooredinflationcoupon.cpp +0 -0
  256. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/cmscoupon.cpp +0 -0
  257. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/conundrumpricer.cpp +0 -0
  258. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/coupon.cpp +0 -0
  259. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/couponpricer.cpp +0 -0
  260. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/digitalcmscoupon.cpp +0 -0
  261. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/digitalcoupon.cpp +0 -0
  262. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/digitaliborcoupon.cpp +0 -0
  263. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/dividend.cpp +0 -0
  264. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/duration.cpp +0 -0
  265. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/fixedratecoupon.cpp +0 -0
  266. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/iborcoupon.cpp +0 -0
  267. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/inflationcoupon.cpp +0 -0
  268. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/inflationcouponpricer.cpp +0 -0
  269. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/lineartsrpricer.cpp +0 -0
  270. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/overnightindexedcoupon.cpp +0 -0
  271. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/rateaveraging.cpp +0 -0
  272. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/replication.cpp +0 -0
  273. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/simplecashflow.cpp +0 -0
  274. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/yoyinflationcoupon.cpp +0 -0
  275. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/cashflows/zeroinflationcashflow.cpp +0 -0
  276. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/all.cpp +0 -0
  277. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/cashflow.cpp +0 -0
  278. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/cdspricingmodel.cpp +0 -0
  279. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/compounding.cpp +0 -0
  280. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/constants.cpp +0 -0
  281. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/currency.cpp +0 -0
  282. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/default.cpp +0 -0
  283. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/exchangerate.cpp +0 -0
  284. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/forward.cpp +0 -0
  285. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/index.cpp +0 -0
  286. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/instrument.cpp +0 -0
  287. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/interestrate.cpp +0 -0
  288. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/money.cpp +0 -0
  289. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/option.cpp +0 -0
  290. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/payoff.cpp +0 -0
  291. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/position.cpp +0 -0
  292. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/pricingengine.cpp +0 -0
  293. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/settings.cpp +0 -0
  294. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/stochasticprocess.cpp +0 -0
  295. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/termstructure.cpp +0 -0
  296. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/core/timegrid.cpp +0 -0
  297. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/currencies/all.cpp +0 -0
  298. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/currencies/currencies.cpp +0 -0
  299. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/currencies/exchangeratemanager.cpp +0 -0
  300. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/blackcallablebondengine.cpp +0 -0
  301. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/callablebond.cpp +0 -0
  302. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/callablebondconstantvol.cpp +0 -0
  303. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/callablebondvolstructure.cpp +0 -0
  304. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/treecallablebondengine.cpp +0 -0
  305. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/credit/blackcdsoptionengine.cpp +0 -0
  306. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/credit/cdsoption.cpp +0 -0
  307. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/exoticoptions/twoassetcorrelationoption.cpp +0 -0
  308. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/analyticvariancegammaengine.cpp +0 -0
  309. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/fftvariancegammaengine.cpp +0 -0
  310. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/variancegammamodel.cpp +0 -0
  311. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/variancegammaprocess.cpp +0 -0
  312. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/bmaindex.cpp +0 -0
  313. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/equityindex.cpp +0 -0
  314. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/ibor/eonia.cpp +0 -0
  315. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/ibor/estr.cpp +0 -0
  316. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/ibor/euribor.cpp +0 -0
  317. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/ibor/sofr.cpp +0 -0
  318. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/ibor/sonia.cpp +0 -0
  319. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/iborindex.cpp +0 -0
  320. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflation/aucpi.cpp +0 -0
  321. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflation/euhicp.cpp +0 -0
  322. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflation/frhicp.cpp +0 -0
  323. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflation/ukrpi.cpp +0 -0
  324. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflation/uscpi.cpp +0 -0
  325. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflation/zacpi.cpp +0 -0
  326. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/inflationindex.cpp +0 -0
  327. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/interestrateindex.cpp +0 -0
  328. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/region.cpp +0 -0
  329. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/swap/swapindexes.cpp +0 -0
  330. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/swapindex.cpp +0 -0
  331. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/indexes/swapspreadindex.cpp +0 -0
  332. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/assetswap.cpp +0 -0
  333. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/averagetype.cpp +0 -0
  334. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/barrieroption.cpp +0 -0
  335. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/barriertype.cpp +0 -0
  336. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/basketoption.cpp +0 -0
  337. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bond.cpp +0 -0
  338. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bondforward.cpp +0 -0
  339. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/amortizingcmsratebond.cpp +0 -0
  340. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/amortizingfixedratebond.cpp +0 -0
  341. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/amortizingfloatingratebond.cpp +0 -0
  342. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/cmsratebond.cpp +0 -0
  343. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/convertiblebonds.cpp +0 -0
  344. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/cpibond.cpp +0 -0
  345. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/fixedratebond.cpp +0 -0
  346. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/floatingratebond.cpp +0 -0
  347. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/bonds/zerocouponbond.cpp +0 -0
  348. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/callabilityschedule.cpp +0 -0
  349. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/capfloor.cpp +0 -0
  350. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/claim.cpp +0 -0
  351. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/cliquetoption.cpp +0 -0
  352. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/complexchooseroption.cpp +0 -0
  353. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/compositeinstrument.cpp +0 -0
  354. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/compoundoption.cpp +0 -0
  355. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/creditdefaultswap.cpp +0 -0
  356. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/doublebarrieroption.cpp +0 -0
  357. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/doublebarriertype.cpp +0 -0
  358. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/equitytotalreturnswap.cpp +0 -0
  359. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/fixedvsfloatingswap.cpp +0 -0
  360. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/floatfloatswaption.cpp +0 -0
  361. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/forwardrateagreement.cpp +0 -0
  362. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/forwardvanillaoption.cpp +0 -0
  363. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/holderextensibleoption.cpp +0 -0
  364. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/inflationcapfloor.cpp +0 -0
  365. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/lookbackoption.cpp +0 -0
  366. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/makecapfloor.cpp +0 -0
  367. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/makeois.cpp +0 -0
  368. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/makeswaption.cpp +0 -0
  369. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/makevanillaswap.cpp +0 -0
  370. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/makeyoyinflationcapfloor.cpp +0 -0
  371. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/margrabeoption.cpp +0 -0
  372. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/multiassetoption.cpp +0 -0
  373. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/nonstandardswap.cpp +0 -0
  374. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/nonstandardswaption.cpp +0 -0
  375. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/oneassetoption.cpp +0 -0
  376. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/overnightindexedswap.cpp +0 -0
  377. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/payoffs.cpp +0 -0
  378. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/quantoforwardvanillaoption.cpp +0 -0
  379. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/quantovanillaoption.cpp +0 -0
  380. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/simplechooseroption.cpp +0 -0
  381. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/swap.cpp +0 -0
  382. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/swaption.cpp +0 -0
  383. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/vanillaoption.cpp +0 -0
  384. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/vanillaswap.cpp +0 -0
  385. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/varianceswap.cpp +0 -0
  386. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/writerextensibleoption.cpp +0 -0
  387. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/yearonyearinflationswap.cpp +0 -0
  388. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/zerocouponinflationswap.cpp +0 -0
  389. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/instruments/zerocouponswap.cpp +0 -0
  390. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/main.cpp +0 -0
  391. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/array.cpp +0 -0
  392. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/distributions/bivariatenormaldistribution.cpp +0 -0
  393. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/distributions/normaldistribution.cpp +0 -0
  394. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/expsinhintegral.cpp +0 -0
  395. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/gaussianquadratures.cpp +0 -0
  396. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/gausslobattointegral.cpp +0 -0
  397. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/integral.cpp +0 -0
  398. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/kronrodintegral.cpp +0 -0
  399. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/segmentintegral.cpp +0 -0
  400. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/simpsonintegral.cpp +0 -0
  401. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/tanhsinhintegral.cpp +0 -0
  402. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/integrals/trapezoidintegral.cpp +0 -0
  403. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/backwardflatinterpolation.cpp +0 -0
  404. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/bicubicsplineinterpolation.cpp +0 -0
  405. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/bilinearinterpolation.cpp +0 -0
  406. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/chebyshevinterpolation.cpp +0 -0
  407. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/cubicinterpolation.cpp +0 -0
  408. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/extrapolation.cpp +0 -0
  409. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/forwardflatinterpolation.cpp +0 -0
  410. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/interpolation.cpp +0 -0
  411. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/interpolation2d.cpp +0 -0
  412. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/lagrangeinterpolation.cpp +0 -0
  413. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/linearinterpolation.cpp +0 -0
  414. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/interpolations/loglinearinterpolation.cpp +0 -0
  415. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/matrix.cpp +0 -0
  416. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/matrixutilities/svd.cpp +0 -0
  417. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/matrixutilities/symmetricschurdecomposition.cpp +0 -0
  418. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/ode/adaptiverungekutta.cpp +0 -0
  419. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/bfgs.cpp +0 -0
  420. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/conjugategradient.cpp +0 -0
  421. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/constraint.cpp +0 -0
  422. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/costfunction.cpp +0 -0
  423. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/differentialevolution.cpp +0 -0
  424. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/endcriteria.cpp +0 -0
  425. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/levenbergmarquardt.cpp +0 -0
  426. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/method.cpp +0 -0
  427. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/problem.cpp +0 -0
  428. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/simplex.cpp +0 -0
  429. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/optimization/steepestdescent.cpp +0 -0
  430. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/boxmullergaussianrng.cpp +0 -0
  431. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/burley2020sobolrsg.cpp +0 -0
  432. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/haltonrsg.cpp +0 -0
  433. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/inversecumulativerng.cpp +0 -0
  434. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/inversecumulativersg.cpp +0 -0
  435. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/mt19937uniformrng.cpp +0 -0
  436. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/randomsequencegenerator.cpp +0 -0
  437. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/sobolbrownianbridgersg.cpp +0 -0
  438. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/randomnumbers/sobolrsg.cpp +0 -0
  439. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/richardsonextrapolation.cpp +0 -0
  440. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/rounding.cpp +0 -0
  441. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/solvers1d/solvers1d.cpp +0 -0
  442. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/statistics/incrementalstatistics.cpp +0 -0
  443. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/statistics/sequencestatistics.cpp +0 -0
  444. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/math/statistics/statistics.cpp +0 -0
  445. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/boundarycondition.cpp +0 -0
  446. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/concentrating1dmesher.cpp +0 -0
  447. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/exponentialjump1dmesher.cpp +0 -0
  448. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdm1dmesher.cpp +0 -0
  449. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmblackscholesmesher.cpp +0 -0
  450. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmcev1dmesher.cpp +0 -0
  451. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmhestonvariancemesher.cpp +0 -0
  452. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmmesher.cpp +0 -0
  453. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmmeshercomposite.cpp +0 -0
  454. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmsimpleprocess1dmesher.cpp +0 -0
  455. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/glued1dmesher.cpp +0 -0
  456. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/predefined1dmesher.cpp +0 -0
  457. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/uniform1dmesher.cpp +0 -0
  458. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdm2dblackscholesop.cpp +0 -0
  459. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmbatesop.cpp +0 -0
  460. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmblackscholesfwdop.cpp +0 -0
  461. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmblackscholesop.cpp +0 -0
  462. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmcevop.cpp +0 -0
  463. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmg2op.cpp +0 -0
  464. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhestonfwdop.cpp +0 -0
  465. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhestonhullwhiteop.cpp +0 -0
  466. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhestonop.cpp +0 -0
  467. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhullwhiteop.cpp +0 -0
  468. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearop.cpp +0 -0
  469. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearopcomposite.cpp +0 -0
  470. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearopiterator.cpp +0 -0
  471. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearoplayout.cpp +0 -0
  472. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlocalvolfwdop.cpp +0 -0
  473. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmornsteinuhlenbeckop.cpp +0 -0
  474. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmsabrop.cpp +0 -0
  475. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmsquarerootfwdop.cpp +0 -0
  476. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/firstderivativeop.cpp +0 -0
  477. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/ninepointlinearop.cpp +0 -0
  478. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/nthorderderivativeop.cpp +0 -0
  479. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/secondderivativeop.cpp +0 -0
  480. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/secondordermixedderivativeop.cpp +0 -0
  481. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/triplebandlinearop.cpp +0 -0
  482. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/craigsneydscheme.cpp +0 -0
  483. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/cranknicolsonscheme.cpp +0 -0
  484. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/douglasscheme.cpp +0 -0
  485. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/expliciteulerscheme.cpp +0 -0
  486. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/hundsdorferscheme.cpp +0 -0
  487. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/impliciteulerscheme.cpp +0 -0
  488. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/methodoflinesscheme.cpp +0 -0
  489. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/modifiedcraigsneydscheme.cpp +0 -0
  490. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm1dimsolver.cpp +0 -0
  491. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm2dblackscholessolver.cpp +0 -0
  492. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm2dimsolver.cpp +0 -0
  493. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm3dimsolver.cpp +0 -0
  494. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmbackwardsolver.cpp +0 -0
  495. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmbatessolver.cpp +0 -0
  496. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmblackscholessolver.cpp +0 -0
  497. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmg2solver.cpp +0 -0
  498. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmhestonsolver.cpp +0 -0
  499. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmhullwhitesolver.cpp +0 -0
  500. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmsolverdesc.cpp +0 -0
  501. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepcondition.cpp +0 -0
  502. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmamericanstepcondition.cpp +0 -0
  503. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmarithmeticaveragecondition.cpp +0 -0
  504. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmbermudanstepcondition.cpp +0 -0
  505. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmsimpleswingcondition.cpp +0 -0
  506. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmsnapshotcondition.cpp +0 -0
  507. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmstepconditioncomposite.cpp +0 -0
  508. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/bsmrndcalculator.cpp +0 -0
  509. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/cevrndcalculator.cpp +0 -0
  510. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmdirichletboundary.cpp +0 -0
  511. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmdiscountdirichletboundary.cpp +0 -0
  512. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmdividendhandler.cpp +0 -0
  513. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmhestongreensfct.cpp +0 -0
  514. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdminnervaluecalculator.cpp +0 -0
  515. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmquantohelper.cpp +0 -0
  516. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmtimedepdirichletboundary.cpp +0 -0
  517. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/gbsmrndcalculator.cpp +0 -0
  518. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/hestonrndcalculator.cpp +0 -0
  519. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/localvolrndcalculator.cpp +0 -0
  520. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/riskneutraldensitycalculator.cpp +0 -0
  521. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/squarerootprocessrndcalculator.cpp +0 -0
  522. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/brownianbridge.cpp +0 -0
  523. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/lsmbasissystem.cpp +0 -0
  524. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/multipath.cpp +0 -0
  525. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/multipathgenerator.cpp +0 -0
  526. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/path.cpp +0 -0
  527. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/pathgenerator.cpp +0 -0
  528. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/methods/montecarlo/sample.cpp +0 -0
  529. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/all.cpp +0 -0
  530. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/calibrationhelper.cpp +0 -0
  531. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/equity/batesmodel.cpp +0 -0
  532. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/equity/gjrgarchmodel.cpp +0 -0
  533. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/equity/hestonmodel.cpp +0 -0
  534. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/equity/hestonmodelhelper.cpp +0 -0
  535. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/equity/hestonslvfdmmodel.cpp +0 -0
  536. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/equity/hestonslvmcmodel.cpp +0 -0
  537. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/marketmodels/browniangenerator.cpp +0 -0
  538. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/marketmodels/browniangenerators/mtbrowniangenerator.cpp +0 -0
  539. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/marketmodels/browniangenerators/sobolbrowniangenerator.cpp +0 -0
  540. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/model.cpp +0 -0
  541. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/parameter.cpp +0 -0
  542. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/piecewisetimedependenthestonmodel.cpp +0 -0
  543. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/calibrationhelpers/caphelper.cpp +0 -0
  544. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/calibrationhelpers/swaptionhelper.cpp +0 -0
  545. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodel.cpp +0 -0
  546. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/blackkarasinski.cpp +0 -0
  547. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/coxingersollross.cpp +0 -0
  548. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/extendedcoxingersollross.cpp +0 -0
  549. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/gaussian1dmodel.cpp +0 -0
  550. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/gsr.cpp +0 -0
  551. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/hullwhite.cpp +0 -0
  552. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/markovfunctional.cpp +0 -0
  553. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/vasicek.cpp +0 -0
  554. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/twofactormodel.cpp +0 -0
  555. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/models/shortrate/twofactormodels/g2.cpp +0 -0
  556. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/patterns/all.cpp +0 -0
  557. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/patterns/lazyobject.cpp +0 -0
  558. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/patterns/observable.cpp +0 -0
  559. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/asian/analytic_cont_geom_av_price.cpp +0 -0
  560. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/asian/analytic_discr_geom_av_price.cpp +0 -0
  561. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/asian/mc_discr_arith_av_price.cpp +0 -0
  562. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/asian/turnbullwakemanasianengine.cpp +0 -0
  563. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/bacheliercalculator.cpp +0 -0
  564. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticbarrierengine.cpp +0 -0
  565. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticdoublebarrierbinaryengine.cpp +0 -0
  566. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticdoublebarrierengine.cpp +0 -0
  567. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdblackscholesbarrierengine.cpp +0 -0
  568. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdblackscholesrebateengine.cpp +0 -0
  569. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/mcbarrierengine.cpp +0 -0
  570. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/mcdoublebarrierengine.cpp +0 -0
  571. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/bjerksundstenslandspreadengine.cpp +0 -0
  572. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/denglizhoubasketengine.cpp +0 -0
  573. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/fd2dblackscholesvanillaengine.cpp +0 -0
  574. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/kirkengine.cpp +0 -0
  575. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/mceuropeanbasketengine.cpp +0 -0
  576. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/operatorsplittingspreadengine.cpp +0 -0
  577. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/spreadblackscholesvanillaengine.cpp +0 -0
  578. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/basket/stulzengine.cpp +0 -0
  579. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/blackcalculator.cpp +0 -0
  580. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/blackformula.cpp +0 -0
  581. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/bond/binomialconvertibleengine.cpp +0 -0
  582. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/bond/bondfunctions.cpp +0 -0
  583. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/bond/discountingbondengine.cpp +0 -0
  584. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/analyticcapfloorengine.cpp +0 -0
  585. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/bacheliercapfloorengine.cpp +0 -0
  586. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/blackcapfloorengine.cpp +0 -0
  587. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/gaussian1dcapfloorengine.cpp +0 -0
  588. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/treecapfloorengine.cpp +0 -0
  589. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/cliquet/analyticcliquetengine.cpp +0 -0
  590. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/credit/isdacdsengine.cpp +0 -0
  591. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/credit/midpointcdsengine.cpp +0 -0
  592. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticamericanmargrabeengine.cpp +0 -0
  593. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticcomplexchooserengine.cpp +0 -0
  594. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticcompoundoptionengine.cpp +0 -0
  595. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticeuropeanmargrabeengine.cpp +0 -0
  596. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticholderextensibleoptionengine.cpp +0 -0
  597. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticsimplechooserengine.cpp +0 -0
  598. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analytictwoassetcorrelationengine.cpp +0 -0
  599. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticwriterextensibleoptionengine.cpp +0 -0
  600. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/forward/forwardengine.cpp +0 -0
  601. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/forward/mcforwardeuropeanbsengine.cpp +0 -0
  602. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/forward/mcforwardeuropeanhestonengine.cpp +0 -0
  603. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/forward/replicatingvarianceswapengine.cpp +0 -0
  604. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/genericmodelengine.cpp +0 -0
  605. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/inflation/inflationcapfloorengines.cpp +0 -0
  606. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuousfixedlookback.cpp +0 -0
  607. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuousfloatinglookback.cpp +0 -0
  608. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuouspartialfixedlookback.cpp +0 -0
  609. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuouspartialfloatinglookback.cpp +0 -0
  610. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/quanto/quantoengine.cpp +0 -0
  611. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swap/discountingswapengine.cpp +0 -0
  612. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/blackswaptionengine.cpp +0 -0
  613. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/fdg2swaptionengine.cpp +0 -0
  614. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/fdhullwhiteswaptionengine.cpp +0 -0
  615. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/g2swaptionengine.cpp +0 -0
  616. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.cpp +0 -0
  617. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1djamshidianswaptionengine.cpp +0 -0
  618. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1dnonstandardswaptionengine.cpp +0 -0
  619. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1dswaptionengine.cpp +0 -0
  620. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/jamshidianswaptionengine.cpp +0 -0
  621. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/treeswaptionengine.cpp +0 -0
  622. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticbsmhullwhiteengine.cpp +0 -0
  623. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticcevengine.cpp +0 -0
  624. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticdigitalamericanengine.cpp +0 -0
  625. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticdividendeuropeanengine.cpp +0 -0
  626. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticeuropeanengine.cpp +0 -0
  627. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp +0 -0
  628. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticgjrgarchengine.cpp +0 -0
  629. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analytich1hwengine.cpp +0 -0
  630. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analytichestonengine.cpp +0 -0
  631. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analytichestonhullwhiteengine.cpp +0 -0
  632. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticpdfhestonengine.cpp +0 -0
  633. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticptdhestonengine.cpp +0 -0
  634. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/baroneadesiwhaleyengine.cpp +0 -0
  635. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/batesengine.cpp +0 -0
  636. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/binomialengine.cpp +0 -0
  637. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/bjerksundstenslandengine.cpp +0 -0
  638. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/coshestonengine.cpp +0 -0
  639. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/exponentialfittinghestonengine.cpp +0 -0
  640. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdbatesvanillaengine.cpp +0 -0
  641. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdblackscholesshoutengine.cpp +0 -0
  642. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdcevvanillaengine.cpp +0 -0
  643. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdhestonhullwhitevanillaengine.cpp +0 -0
  644. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdhestonvanillaengine.cpp +0 -0
  645. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdornsteinuhlenbeckvanillaengine.cpp +0 -0
  646. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdsabrvanillaengine.cpp +0 -0
  647. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/hestonexpansionengine.cpp +0 -0
  648. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/integralengine.cpp +0 -0
  649. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/juquadraticengine.cpp +0 -0
  650. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mcamericanengine.cpp +0 -0
  651. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mcdigitalengine.cpp +0 -0
  652. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mceuropeanengine.cpp +0 -0
  653. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mceuropeangjrgarchengine.cpp +0 -0
  654. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mceuropeanhestonengine.cpp +0 -0
  655. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/qdfpamericanengine.cpp +0 -0
  656. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/qdplusamericanengine.cpp +0 -0
  657. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/batesprocess.cpp +0 -0
  658. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/blackscholesprocess.cpp +0 -0
  659. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/eulerdiscretization.cpp +0 -0
  660. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/extendedornsteinuhlenbeckprocess.cpp +0 -0
  661. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/forwardmeasureprocess.cpp +0 -0
  662. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/g2process.cpp +0 -0
  663. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/geometricbrownianmotionprocess.cpp +0 -0
  664. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/gjrgarchprocess.cpp +0 -0
  665. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/hestonprocess.cpp +0 -0
  666. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/hestonslvprocess.cpp +0 -0
  667. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/hullwhiteprocess.cpp +0 -0
  668. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/hybridhestonhullwhiteprocess.cpp +0 -0
  669. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/merton76process.cpp +0 -0
  670. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/ornsteinuhlenbeckprocess.cpp +0 -0
  671. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/squarerootprocess.cpp +0 -0
  672. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/processes/stochasticprocessarray.cpp +0 -0
  673. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/quotes/compositequote.cpp +0 -0
  674. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/quotes/derivedquote.cpp +0 -0
  675. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/quotes/simplequote.cpp +0 -0
  676. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/submodules.cpp +0 -0
  677. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/credit/defaultprobabilityhelpers.cpp +0 -0
  678. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/credit/flathazardrate.cpp +0 -0
  679. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/credit/piecewisedefaultcurve.cpp +0 -0
  680. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/defaulttermstructure.cpp +0 -0
  681. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/inflationhelper.cpp +0 -0
  682. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/inflationhelpers.cpp +0 -0
  683. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/interpolatedyoyinflationcurve.cpp +0 -0
  684. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/interpolatedzeroinflationcurve.cpp +0 -0
  685. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/piecewiseyoyinflationcurve.cpp +0 -0
  686. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/piecewisezeroinflationcurve.cpp +0 -0
  687. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/inflation/seasonality.cpp +0 -0
  688. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/capfloor/capfloortermvolatilitystructure.cpp +0 -0
  689. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/capfloor/capfloortermvolsurface.cpp +0 -0
  690. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/andreasenhugelocalvoladapter.cpp +0 -0
  691. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/andreasenhugevolatilityadapter.cpp +0 -0
  692. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.cpp +0 -0
  693. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/blackconstantvol.cpp +0 -0
  694. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/blackvariancesurface.cpp +0 -0
  695. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/blackvoltermstructure.cpp +0 -0
  696. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp +0 -0
  697. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/localconstantvol.cpp +0 -0
  698. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/localvolsurface.cpp +0 -0
  699. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/localvoltermstructure.cpp +0 -0
  700. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/noexceptlocalvolsurface.cpp +0 -0
  701. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/hestonblackvolsurface.cpp +0 -0
  702. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp +0 -0
  703. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/noarbsabr.cpp +0 -0
  704. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/constantoptionletvol.cpp +0 -0
  705. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/optionletstripper.cpp +0 -0
  706. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/optionletstripper1.cpp +0 -0
  707. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp +0 -0
  708. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/strippedoptionletadapter.cpp +0 -0
  709. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/strippedoptionletbase.cpp +0 -0
  710. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/sabrinterpolatedsmilesection.cpp +0 -0
  711. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/smilesection.cpp +0 -0
  712. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/spreadedswaptionvol.cpp +0 -0
  713. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/sabrswaptionvolcube.cpp +0 -0
  714. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionconstantvol.cpp +0 -0
  715. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvolcube.cpp +0 -0
  716. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvoldiscrete.cpp +0 -0
  717. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvolmatrix.cpp +0 -0
  718. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvolstructure.cpp +0 -0
  719. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/volatility/volatilitytype.cpp +0 -0
  720. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/voltermstructure.cpp +0 -0
  721. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/bondhelpers.cpp +0 -0
  722. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/compositezeroyieldstructure.cpp +0 -0
  723. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/discountcurve.cpp +0 -0
  724. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/fittedbonddiscountcurve.cpp +0 -0
  725. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/flatforward.cpp +0 -0
  726. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/forwardcurve.cpp +0 -0
  727. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/forwardspreadedtermstructure.cpp +0 -0
  728. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/impliedtermstructure.cpp +0 -0
  729. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/nonlinearfittingmethods.cpp +0 -0
  730. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/oisratehelper.cpp +0 -0
  731. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/quantotermstructure.cpp +0 -0
  732. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/ultimateforwardtermstructure.cpp +0 -0
  733. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/zerocurve.cpp +0 -0
  734. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yield/zerospreadedtermstructure.cpp +0 -0
  735. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/termstructures/yieldtermstructure.cpp +0 -0
  736. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/businessdayconvention.cpp +0 -0
  737. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/calendar.cpp +0 -0
  738. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/calendars/calendars.cpp +0 -0
  739. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/date.cpp +0 -0
  740. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/dategenerationrule.cpp +0 -0
  741. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/daycounter.cpp +0 -0
  742. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/daycounters/daycounters.cpp +0 -0
  743. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/frequency.cpp +0 -0
  744. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/period.cpp +0 -0
  745. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/schedule.cpp +0 -0
  746. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/timeunit.cpp +0 -0
  747. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/time/weekday.cpp +0 -0
  748. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/utilities/all.cpp +0 -0
  749. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/utilities/null.cpp +0 -0
  750. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/src/utilities/observablevalue.cpp +0 -0
  751. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/conftest.py +0 -0
  752. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_currencies.py +0 -0
  753. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_experimental_callablebonds.py +0 -0
  754. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_experimental_credit.py +0 -0
  755. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_experimental_exoticoptions.py +0 -0
  756. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_experimental_variancegamma.py +0 -0
  757. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_experimental_volatility.py +0 -0
  758. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_extensions.py +0 -0
  759. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_instruments_bonds.py +0 -0
  760. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math.py +0 -0
  761. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math_distributions.py +0 -0
  762. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math_integrals.py +0 -0
  763. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math_optimization.py +0 -0
  764. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math_solvers1d.py +0 -0
  765. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_math_statistics.py +0 -0
  766. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_methods.py +0 -0
  767. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_models.py +0 -0
  768. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_models_equity.py +0 -0
  769. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_models_shortrate.py +0 -0
  770. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines.py +0 -0
  771. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_bond.py +0 -0
  772. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_capfloor.py +0 -0
  773. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_cliquet.py +0 -0
  774. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_credit.py +0 -0
  775. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_exotic.py +0 -0
  776. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_forward.py +0 -0
  777. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_lookback.py +0 -0
  778. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_quanto.py +0 -0
  779. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_pricingengines_swaption.py +0 -0
  780. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_processes.py +0 -0
  781. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_termstructures.py +0 -0
  782. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_termstructures_credit.py +0 -0
  783. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_termstructures_inflation.py +0 -0
  784. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_time.py +0 -0
  785. {pyquantlib-0.6.0 → pyquantlib-0.8.0}/tests/test_utilities.py +0 -0
@@ -0,0 +1,24 @@
1
+ # Local environments & build artifacts (platform-specific)
2
+ venv/
3
+ build/
4
+ dist/
5
+ wheelhouse/
6
+ _skbuild/
7
+ *.egg-info/
8
+
9
+ # Caches and compiled files (any level)
10
+ **/__pycache__/
11
+ **/*.py[cod]
12
+ **/*.so
13
+ **/*.pyd
14
+ **/.DS_Store
15
+
16
+ # Generated docs output
17
+ docs/_build/
18
+
19
+ # Root dot-files and dot-directories
20
+ .*
21
+
22
+ # Only README.md is needed at the root (pyproject readme); skip other top-level notes
23
+ /*.md
24
+ !/README.md
@@ -27,7 +27,8 @@ New-Item -ItemType Directory -Path build -Force | Out-Null
27
27
  Push-Location build
28
28
 
29
29
  Write-Host "Configuring QuantLib..."
30
- cmake .. -G "Visual Studio 17 2022" -A x64 `
30
+ # No -G pin: CMake picks the runner's newest VS, matching scikit-build-core.
31
+ cmake .. -A x64 `
31
32
  -DCMAKE_BUILD_TYPE=Release `
32
33
  -DCMAKE_INSTALL_PREFIX=C:/quantlib `
33
34
  -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL `
@@ -39,9 +40,13 @@ cmake .. -G "Visual Studio 17 2022" -A x64 `
39
40
  -DQL_BUILD_BENCHMARK=OFF `
40
41
  -DBoost_INCLUDE_DIR=C:/boost/include
41
42
 
43
+ if ($LASTEXITCODE -ne 0) { throw "QuantLib CMake configure failed" }
44
+
42
45
  Write-Host "Building QuantLib..."
43
46
  cmake --build . --config Release --parallel
44
47
 
48
+ if ($LASTEXITCODE -ne 0) { throw "QuantLib build failed" }
49
+
45
50
  Write-Host "Installing QuantLib..."
46
51
  cmake --install . --config Release
47
52
 
@@ -0,0 +1,86 @@
1
+ # PyQuantLib: Python bindings for QuantLib
2
+ # Copyright (c) 2025 Yassine Idyiahia
3
+ #
4
+ # QuantLib is Copyright (c) 2000-2025 The QuantLib Authors
5
+ # QuantLib is free software under a modified BSD license.
6
+ # See http://quantlib.org/ for more information.
7
+ #
8
+ # Source: https://github.com/quantales/pyquantlib
9
+ # Licensed under the BSD 3-Clause License. See LICENSE file for details.
10
+
11
+ name: Docker image
12
+
13
+ on:
14
+ workflow_dispatch:
15
+ push:
16
+ branches: [main]
17
+ paths:
18
+ - "Dockerfile"
19
+ - ".dockerignore"
20
+ - "src/**"
21
+ - "include/**"
22
+ - "CMakeLists.txt"
23
+ - "pyproject.toml"
24
+ - ".github/workflows/docker.yml"
25
+ pull_request:
26
+ paths:
27
+ - "Dockerfile"
28
+ - ".dockerignore"
29
+ - "src/**"
30
+ - "include/**"
31
+ - "CMakeLists.txt"
32
+ - "pyproject.toml"
33
+ - ".github/workflows/docker.yml"
34
+
35
+ jobs:
36
+ build:
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+
41
+ - name: Set up Docker Buildx
42
+ uses: docker/setup-buildx-action@v3
43
+
44
+ - name: Build image
45
+ uses: docker/build-push-action@v6
46
+ with:
47
+ context: .
48
+ load: true
49
+ tags: pyquantlib:ci
50
+ cache-from: type=gha
51
+ cache-to: type=gha,mode=max
52
+
53
+ - name: Smoke test
54
+ run: |
55
+ docker run --rm pyquantlib:ci python -c "
56
+ import pyquantlib as ql
57
+ print('PyQuantLib', ql.__version__)
58
+ # Exercises the Settings singleton: the canary for a correct static QuantLib build.
59
+ ql.Settings.evaluationDate = ql.Date(15, ql.January, 2025)
60
+ assert ql.Settings.evaluationDate == ql.Date(15, ql.January, 2025)
61
+ q = ql.SimpleQuote(100.0)
62
+ assert q.value() == 100.0
63
+ print('Smoke test passed')
64
+ "
65
+
66
+ - name: JupyterLab server test
67
+ run: |
68
+ # Launch the image with its real CMD and confirm the server serves /lab.
69
+ docker run -d --rm --name pql-jupyter -p 8888:8888 pyquantlib:ci
70
+ ready=0
71
+ for i in $(seq 1 30); do
72
+ code=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8888/lab || true)
73
+ if [ "$code" = "200" ]; then
74
+ echo "JupyterLab responded with HTTP 200 (attempt $i)"
75
+ ready=1
76
+ break
77
+ fi
78
+ echo "attempt $i: HTTP $code, waiting..."
79
+ sleep 2
80
+ done
81
+ if [ "$ready" -ne 1 ]; then
82
+ echo "JupyterLab did not become ready in time; container logs:"
83
+ docker logs pql-jupyter || true
84
+ fi
85
+ docker stop pql-jupyter
86
+ test "$ready" -eq 1
@@ -0,0 +1,129 @@
1
+ # PyQuantLib: Python bindings for QuantLib
2
+ # Copyright (c) 2025 Yassine Idyiahia
3
+ #
4
+ # QuantLib is Copyright (c) 2000-2025 The QuantLib Authors
5
+ # QuantLib is free software under a modified BSD license.
6
+ # See http://quantlib.org/ for more information.
7
+ #
8
+ # Source: https://github.com/quantales/pyquantlib
9
+ # Licensed under the BSD 3-Clause License. See LICENSE file for details.
10
+
11
+ name: Docs
12
+
13
+ # Builds the docs against PyQuantLib compiled from this checkout, so autodoc
14
+ # resolves bindings that are not in the published wheel yet. Read the Docs
15
+ # builds against the PyPI wheel instead, which means types added since the last
16
+ # release are missing from the live site until the next release ships.
17
+
18
+ env:
19
+ QUANTLIB_VERSION: "1.42.1"
20
+
21
+ on:
22
+ workflow_dispatch:
23
+ push:
24
+ branches: [main]
25
+ paths:
26
+ - "docs/**"
27
+ - "examples/**"
28
+ - "src/**"
29
+ - "include/**"
30
+ - ".readthedocs.yaml"
31
+ - ".github/workflows/docs.yml"
32
+ pull_request:
33
+ paths:
34
+ - "docs/**"
35
+ - "examples/**"
36
+ - "src/**"
37
+ - "include/**"
38
+ - ".readthedocs.yaml"
39
+ - ".github/workflows/docs.yml"
40
+
41
+ jobs:
42
+ build:
43
+ runs-on: ubuntu-latest
44
+
45
+ steps:
46
+ - uses: actions/checkout@v4
47
+
48
+ - name: Set up Python
49
+ uses: actions/setup-python@v5
50
+ with:
51
+ python-version: "3.11"
52
+ cache: 'pip'
53
+
54
+ - name: Install system dependencies
55
+ run: |
56
+ sudo apt-get update
57
+ sudo apt-get install -y libboost-all-dev cmake ninja-build
58
+
59
+ # Same key as the Linux build job, so this is normally a cache hit.
60
+ - name: Cache QuantLib
61
+ id: cache-quantlib
62
+ uses: actions/cache@v4
63
+ with:
64
+ path: /home/runner/quantlib-install
65
+ key: quantlib-${{ env.QUANTLIB_VERSION }}-static-ubuntu-latest-v1
66
+ restore-keys: |
67
+ quantlib-${{ env.QUANTLIB_VERSION }}-static-ubuntu-latest-
68
+
69
+ - name: Build QuantLib from source
70
+ if: steps.cache-quantlib.outputs.cache-hit != 'true'
71
+ run: |
72
+ wget https://github.com/lballabio/QuantLib/releases/download/v${{ env.QUANTLIB_VERSION }}/QuantLib-${{ env.QUANTLIB_VERSION }}.tar.gz
73
+ tar xzf QuantLib-${{ env.QUANTLIB_VERSION }}.tar.gz
74
+ cd QuantLib-${{ env.QUANTLIB_VERSION }}
75
+ mkdir -p build && cd build
76
+ cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/runner/quantlib-install -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DQL_USE_STD_SHARED_PTR=ON -DQL_USE_STD_OPTIONAL=ON -DQL_USE_STD_ANY=ON -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_TEST_SUITE=OFF -DQL_BUILD_BENCHMARK=OFF
77
+ ninja
78
+ ninja install
79
+
80
+ - name: Install documentation dependencies
81
+ run: |
82
+ python -m pip install --upgrade pip
83
+ pip install -r docs/requirements.txt
84
+
85
+ # Replaces the PyPI wheel pulled in above. conf.py keeps the source tree
86
+ # on sys.path once a compiled extension is present there.
87
+ - name: Build PyQuantLib from this checkout
88
+ run: |
89
+ pip install -e . -v
90
+ env:
91
+ QuantLib_ROOT: /home/runner/quantlib-install
92
+ LD_LIBRARY_PATH: /home/runner/quantlib-install/lib
93
+
94
+ - name: Build HTML with warnings as errors
95
+ run: |
96
+ python -m sphinx -b html -W --keep-going docs docs/_build/html
97
+ env:
98
+ LD_LIBRARY_PATH: /home/runner/quantlib-install/lib
99
+
100
+ - name: Upload built docs
101
+ uses: actions/upload-artifact@v4
102
+ with:
103
+ name: html
104
+ path: docs/_build/html
105
+ retention-days: 7
106
+
107
+ linkcheck:
108
+ runs-on: ubuntu-latest
109
+ # External links break for reasons outside this repository, so a failure
110
+ # here is reported but does not block the branch.
111
+ continue-on-error: true
112
+
113
+ steps:
114
+ - uses: actions/checkout@v4
115
+
116
+ - name: Set up Python
117
+ uses: actions/setup-python@v5
118
+ with:
119
+ python-version: "3.11"
120
+ cache: 'pip'
121
+
122
+ - name: Install documentation dependencies
123
+ run: |
124
+ python -m pip install --upgrade pip
125
+ pip install -r docs/requirements.txt
126
+
127
+ - name: Check links
128
+ run: |
129
+ python -m sphinx -b linkcheck docs docs/_build/linkcheck
@@ -29,7 +29,7 @@ on:
29
29
  - ".github/workflows/linux.yml"
30
30
 
31
31
  env:
32
- QUANTLIB_VERSION: "1.40"
32
+ QUANTLIB_VERSION: "1.42.1"
33
33
 
34
34
  jobs:
35
35
  build:
@@ -29,7 +29,7 @@ on:
29
29
  - ".github/workflows/macos.yml"
30
30
 
31
31
  env:
32
- QUANTLIB_VERSION: "1.40"
32
+ QUANTLIB_VERSION: "1.42.1"
33
33
 
34
34
  jobs:
35
35
  build:
@@ -19,7 +19,7 @@ on:
19
19
  types: [published]
20
20
 
21
21
  env:
22
- QUANTLIB_VERSION: "1.40"
22
+ QUANTLIB_VERSION: "1.42.1"
23
23
  BOOST_VERSION: "1.86.0"
24
24
 
25
25
  jobs:
@@ -68,6 +68,11 @@ jobs:
68
68
  CIBW_SKIP: "*-musllinux_*"
69
69
  CIBW_BUILD_VERBOSITY: 1
70
70
 
71
+ # manylinux2014 is past EOL and current NumPy no longer publishes
72
+ # wheels for it, so the in-container test step fell back to building
73
+ # NumPy from source against a too-old GCC. AlmaLinux 8 based image.
74
+ CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
75
+
71
76
  # macOS: ARM only (macos-14)
72
77
  CIBW_ARCHS_MACOS: "arm64"
73
78
  CIBW_ARCHS_LINUX: "x86_64"
@@ -29,7 +29,7 @@ on:
29
29
  - ".github/workflows/windows.yml"
30
30
 
31
31
  env:
32
- QUANTLIB_VERSION: "1.40"
32
+ QUANTLIB_VERSION: "1.42.1"
33
33
  BOOST_VERSION: "1.86.0"
34
34
  BOOST_VERSION_UNDERSCORE: "1_86_0"
35
35
 
@@ -89,7 +89,7 @@ jobs:
89
89
  mkdir build -Force | Out-Null
90
90
  cd build
91
91
  Write-Host "Configuring QuantLib with std:: flags..."
92
- cmake .. -G "Visual Studio 17 2022" -A x64 `
92
+ cmake .. -A x64 `
93
93
  -DCMAKE_BUILD_TYPE=Release `
94
94
  -DCMAKE_INSTALL_PREFIX=C:/quantlib-install `
95
95
  -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL `
@@ -121,6 +121,9 @@ Desktop.ini
121
121
  # Documentation build
122
122
  /docs/_build/
123
123
 
124
+ # Notebooks staged into the docs tree at build time (see docs/conf.py)
125
+ /docs/examples/notebooks/
126
+
124
127
  # Local configuration overrides
125
128
  .env.local
126
129
  *.local.cmake
@@ -39,7 +39,7 @@ option(PYQUANTLIB_DETAILED_ERRORS "Enable detailed pybind11 error messages" ON)
39
39
  # ==============================================================================
40
40
 
41
41
  file(READ "${CMAKE_SOURCE_DIR}/pyquantlib/version.py" VERSION_PY_CONTENTS)
42
- string(REGEX MATCH "__version__ *= *\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _ "${VERSION_PY_CONTENTS}")
42
+ string(REGEX MATCH "__version__ *= *\"([0-9]+\\.[0-9]+\\.[0-9]+[^\"]*)\"" _ "${VERSION_PY_CONTENTS}")
43
43
  set(PYQUANTLIB_VERSION "${CMAKE_MATCH_1}")
44
44
 
45
45
  if(NOT PYQUANTLIB_VERSION)
@@ -113,9 +113,8 @@ endif()
113
113
  # QuantLib discovery order:
114
114
  # 1. CMake argument: -DQuantLib_ROOT=/path/to/quantlib
115
115
  # 2. Environment variable: QuantLib_ROOT or QL_DIR
116
- # 3. vcpkg toolchain (automatic if CMAKE_TOOLCHAIN_FILE is set)
117
- # 4. System paths (brew on macOS, apt/dnf packages on Linux)
118
- # 5. Manual fallback for source builds without CMake config
116
+ # 3. CMake config from source build (including preset build directories)
117
+ # 4. Manual fallback for source builds without CMake config
119
118
 
120
119
  # Support legacy QL_DIR environment variable
121
120
  if(NOT DEFINED QuantLib_ROOT)
@@ -126,7 +125,20 @@ if(NOT DEFINED QuantLib_ROOT)
126
125
  endif()
127
126
  endif()
128
127
 
129
- # First, try standard CMake find_package (works for vcpkg, brew, system packages)
128
+ # If QuantLib_ROOT points to a source tree, locate any CMake config files
129
+ # generated in build subdirectories (e.g. build/windows-msvc-release/cmake/)
130
+ # so that find_package(CONFIG) can discover them automatically.
131
+ if(QuantLib_ROOT)
132
+ file(GLOB_RECURSE _ql_config_files
133
+ "${QuantLib_ROOT}/build/*/QuantLibConfig.cmake"
134
+ )
135
+ foreach(_config_file ${_ql_config_files})
136
+ get_filename_component(_config_dir "${_config_file}" DIRECTORY)
137
+ list(APPEND CMAKE_PREFIX_PATH "${_config_dir}")
138
+ endforeach()
139
+ endif()
140
+
141
+ # Try CMake find_package (source builds with CMake config)
130
142
  find_package(QuantLib 1.30 QUIET CONFIG)
131
143
 
132
144
  if(QuantLib_FOUND)
@@ -175,14 +187,23 @@ else()
175
187
  set(_ql_lib_names QuantLib)
176
188
  endif()
177
189
 
190
+ # Collect search paths: fixed well-known locations + any preset build dirs
191
+ set(_ql_lib_paths
192
+ "${QuantLib_ROOT}/lib"
193
+ "${QuantLib_ROOT}/lib64"
194
+ "${QuantLib_ROOT}/lib/x86_64-linux-gnu"
195
+ "${QuantLib_ROOT}/build/ql"
196
+ "${QuantLib_ROOT}/build/ql/Release"
197
+ )
198
+ # CMake preset builds place output under build/<preset-name>/ql/[Release/]
199
+ file(GLOB _ql_preset_dirs "${QuantLib_ROOT}/build/*/ql")
200
+ foreach(_dir ${_ql_preset_dirs})
201
+ list(APPEND _ql_lib_paths "${_dir}" "${_dir}/Release" "${_dir}/Debug")
202
+ endforeach()
203
+
178
204
  find_library(QuantLib_LIBRARY
179
205
  NAMES ${_ql_lib_names}
180
- PATHS
181
- "${QuantLib_ROOT}/lib"
182
- "${QuantLib_ROOT}/lib64"
183
- "${QuantLib_ROOT}/lib/x86_64-linux-gnu"
184
- "${QuantLib_ROOT}/build/ql"
185
- "${QuantLib_ROOT}/build/ql/Release"
206
+ PATHS ${_ql_lib_paths}
186
207
  NO_DEFAULT_PATH
187
208
  )
188
209
 
@@ -190,7 +211,7 @@ else()
190
211
  message(FATAL_ERROR
191
212
  "QuantLib library not found.\n"
192
213
  "Searched for: ${_ql_lib_names}\n"
193
- "In paths: ${QuantLib_ROOT}/lib, ${QuantLib_ROOT}/build/ql"
214
+ "In paths: ${_ql_lib_paths}"
194
215
  )
195
216
  endif()
196
217
 
@@ -447,7 +447,7 @@ pybind11 enum values are singletons. Never pass by reference and modify:
447
447
 
448
448
  - Place ABCs in the `base` submodule via `manager.getSubmodule("base")`
449
449
  - Use trampolines for classes with pure virtual methods
450
- - Some classes require `py::classh` and `trampoline_self_life_support` -- see [Diamond Inheritance](docs/design/diamond-inheritance.md)
450
+ - Some classes require `py::classh` and `trampoline_self_life_support` for classes that inherit from two bases sharing a common virtual ancestor
451
451
  - Export concrete implementations to the main module
452
452
 
453
453
  ---
@@ -0,0 +1,95 @@
1
+ # syntax=docker/dockerfile:1.6
2
+ # PyQuantLib Docker image (multi-stage)
3
+ #
4
+ # Stage 1 builds QuantLib (static) and compiles a self-contained PyQuantLib wheel.
5
+ # Stage 2 is a slim runtime with only the wheel + JupyterLab; the build toolchain,
6
+ # Boost headers, and QuantLib source never reach the final image.
7
+ #
8
+ # Build: docker build -t pyquantlib:latest .
9
+ # Run: docker run --rm -p 8888:8888 pyquantlib:latest
10
+ # Then open http://localhost:8888 in a browser.
11
+
12
+ # ==============================================================================
13
+ # Stage 1: builder
14
+ # ==============================================================================
15
+ FROM python:3.11-slim AS builder
16
+
17
+ # Build-time system dependencies. QuantLib needs a C++ toolchain and Boost
18
+ # headers; Ninja matches the CI build.
19
+ RUN apt-get update && apt-get install -y --no-install-recommends \
20
+ build-essential \
21
+ cmake \
22
+ ninja-build \
23
+ libboost-all-dev \
24
+ wget \
25
+ ca-certificates \
26
+ && rm -rf /var/lib/apt/lists/*
27
+
28
+ # Build and install QuantLib from source (STATIC).
29
+ # QuantLib MUST be a static library built with PIC and the std:: type flags:
30
+ # a shared build duplicates the Settings singleton and breaks evaluationDate.
31
+ # Mirrors .github/workflows/linux.yml.
32
+ ARG QUANTLIB_VERSION=1.42.1
33
+ WORKDIR /tmp
34
+ RUN wget --quiet https://github.com/lballabio/QuantLib/releases/download/v${QUANTLIB_VERSION}/QuantLib-${QUANTLIB_VERSION}.tar.gz \
35
+ && tar xzf QuantLib-${QUANTLIB_VERSION}.tar.gz \
36
+ && cd QuantLib-${QUANTLIB_VERSION} \
37
+ && cmake -B build -G Ninja \
38
+ -DCMAKE_BUILD_TYPE=Release \
39
+ -DCMAKE_INSTALL_PREFIX=/usr/local \
40
+ -DBUILD_SHARED_LIBS=OFF \
41
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
42
+ -DQL_USE_STD_SHARED_PTR=ON \
43
+ -DQL_USE_STD_OPTIONAL=ON \
44
+ -DQL_USE_STD_ANY=ON \
45
+ -DQL_BUILD_EXAMPLES=OFF \
46
+ -DQL_BUILD_TEST_SUITE=OFF \
47
+ -DQL_BUILD_BENCHMARK=OFF \
48
+ && cmake --build build \
49
+ && cmake --install build \
50
+ && cd /tmp \
51
+ && rm -rf QuantLib-${QUANTLIB_VERSION}*
52
+
53
+ # Build a self-contained PyQuantLib wheel. The static QuantLib is linked into the
54
+ # extension and Boost is header-only, so the wheel needs no QuantLib at runtime.
55
+ # QuantLib_ROOT lets scikit-build-core's CMake find the static install above.
56
+ ENV QuantLib_ROOT=/usr/local
57
+ WORKDIR /src
58
+ COPY . /src
59
+ RUN pip install --no-cache-dir --upgrade pip build \
60
+ && pip wheel . --no-deps -w /wheels
61
+
62
+ # ==============================================================================
63
+ # Stage 2: runtime
64
+ # ==============================================================================
65
+ FROM python:3.11-slim AS runtime
66
+
67
+ # C++ runtime the compiled extension links against (matches the builder's gcc).
68
+ RUN apt-get update && apt-get install -y --no-install-recommends \
69
+ libstdc++6 \
70
+ && rm -rf /var/lib/apt/lists/*
71
+
72
+ # Install the PyQuantLib wheel plus the JupyterLab + scientific stack.
73
+ COPY --from=builder /wheels /wheels
74
+ RUN pip install --no-cache-dir /wheels/*.whl \
75
+ jupyterlab \
76
+ numpy \
77
+ scipy \
78
+ matplotlib \
79
+ pandas \
80
+ && rm -rf /wheels
81
+
82
+ # Example notebooks for interactive use.
83
+ WORKDIR /app
84
+ COPY examples/ /app/examples/
85
+ COPY README.md /app/
86
+
87
+ EXPOSE 8888
88
+
89
+ CMD ["jupyter", "lab", \
90
+ "--ip=0.0.0.0", \
91
+ "--port=8888", \
92
+ "--no-browser", \
93
+ "--allow-root", \
94
+ "--ServerApp.token=", \
95
+ "--ServerApp.password="]