pyquantlib 0.7.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 (784) hide show
  1. pyquantlib-0.8.0/.dockerignore +24 -0
  2. {pyquantlib-0.7.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.7.0 → pyquantlib-0.8.0}/.github/workflows/linux.yml +1 -1
  6. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/workflows/macos.yml +1 -1
  7. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/workflows/wheels.yml +6 -1
  8. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/workflows/windows.yml +2 -2
  9. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.gitignore +3 -0
  10. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/CONTRIBUTING.md +1 -1
  11. pyquantlib-0.8.0/Dockerfile +95 -0
  12. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/PKG-INFO +43 -81
  13. pyquantlib-0.8.0/README.md +127 -0
  14. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/_static/custom.css +61 -0
  15. pyquantlib-0.8.0/docs/_static/favicon.svg +9 -0
  16. pyquantlib-0.8.0/docs/_static/logo.svg +26 -0
  17. pyquantlib-0.8.0/docs/_static/social-card.png +0 -0
  18. pyquantlib-0.8.0/docs/_static/wordmark-dark.svg +5 -0
  19. pyquantlib-0.8.0/docs/_static/wordmark-light.svg +5 -0
  20. pyquantlib-0.8.0/docs/api/cashflows.md +523 -0
  21. pyquantlib-0.8.0/docs/api/core.md +161 -0
  22. pyquantlib-0.8.0/docs/api/currencies.md +112 -0
  23. pyquantlib-0.8.0/docs/api/experimental.md +128 -0
  24. pyquantlib-0.8.0/docs/api/extensions.md +116 -0
  25. pyquantlib-0.8.0/docs/api/indexes.md +297 -0
  26. pyquantlib-0.8.0/docs/api/instruments.md +774 -0
  27. pyquantlib-0.8.0/docs/api/math.md +470 -0
  28. pyquantlib-0.8.0/docs/api/methods.md +499 -0
  29. pyquantlib-0.8.0/docs/api/models.md +342 -0
  30. pyquantlib-0.8.0/docs/api/pricingengines.md +967 -0
  31. pyquantlib-0.8.0/docs/api/processes.md +210 -0
  32. pyquantlib-0.8.0/docs/api/quotes.md +136 -0
  33. pyquantlib-0.8.0/docs/api/termstructures.md +831 -0
  34. pyquantlib-0.8.0/docs/api/time.md +185 -0
  35. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/architecture.md +5 -34
  36. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/building.md +6 -6
  37. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/changelog.md +67 -1
  38. pyquantlib-0.8.0/docs/concepts/bridge-pattern-types.md +88 -0
  39. pyquantlib-0.8.0/docs/concepts/calibration.md +74 -0
  40. pyquantlib-0.8.0/docs/concepts/finite-difference.md +63 -0
  41. pyquantlib-0.8.0/docs/concepts/index.md +31 -0
  42. pyquantlib-0.8.0/docs/concepts/pricing-engines.md +66 -0
  43. pyquantlib-0.8.0/docs/concepts/quotes-and-observables.md +84 -0
  44. pyquantlib-0.8.0/docs/concepts/random-numbers.md +59 -0
  45. pyquantlib-0.8.0/docs/concepts/stochastic-processes.md +81 -0
  46. pyquantlib-0.8.0/docs/concepts/term-structures.md +88 -0
  47. pyquantlib-0.8.0/docs/conf.py +337 -0
  48. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/contributing.md +0 -4
  49. pyquantlib-0.8.0/docs/cookbook/american-fd.md +105 -0
  50. pyquantlib-0.8.0/docs/cookbook/bootstrap-yield-curve.md +106 -0
  51. pyquantlib-0.8.0/docs/cookbook/compare-engines.md +77 -0
  52. pyquantlib-0.8.0/docs/cookbook/heston-calibration.md +115 -0
  53. pyquantlib-0.8.0/docs/cookbook/index.md +38 -0
  54. pyquantlib-0.8.0/docs/cookbook/mc-convergence.md +98 -0
  55. pyquantlib-0.8.0/docs/cookbook/mc-engine-kwargs.md +122 -0
  56. pyquantlib-0.8.0/docs/cookbook/numpy-interop.md +128 -0
  57. pyquantlib-0.8.0/docs/cookbook/piecewise-mixed-helpers.md +112 -0
  58. pyquantlib-0.8.0/docs/cookbook/scenario-analysis.md +83 -0
  59. pyquantlib-0.8.0/docs/cookbook/spread-option-engines.md +70 -0
  60. pyquantlib-0.8.0/docs/cookbook/vol-surface.md +102 -0
  61. pyquantlib-0.8.0/docs/examples/index.md +54 -0
  62. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/extending.md +1 -3
  63. pyquantlib-0.8.0/docs/index.md +147 -0
  64. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/installation.md +2 -1
  65. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/internals.md +4 -4
  66. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/quickstart.md +1 -1
  67. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/requirements.txt +3 -1
  68. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/bermudan_swaption.ipynb +259 -56
  69. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/bonds.ipynb +66 -10
  70. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/cds.ipynb +42 -7
  71. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/equity_option.ipynb +162 -23
  72. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/hello_pyquantlib.ipynb +83 -12
  73. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/inflation_derivatives.ipynb +119 -17
  74. pyquantlib-0.8.0/examples/multicurve_bootstrapping.ipynb +440 -0
  75. pyquantlib-0.8.0/examples/numpy_interoperability.ipynb +922 -0
  76. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/replication.ipynb +50 -8
  77. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/spread_option.ipynb +56 -8
  78. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/svi_smile.ipynb +181 -42
  79. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/pyquantlib.h +23 -0
  80. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/__init__.pyi +50 -4
  81. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/_pyquantlib/__init__.pyi +2522 -1373
  82. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/_pyquantlib/base.pyi +124 -122
  83. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/builders.py +0 -2
  84. pyquantlib-0.8.0/pyquantlib/version.py +1 -0
  85. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/version.pyi +1 -1
  86. pyquantlib-0.8.0/scripts/make_social_card.py +96 -0
  87. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/floatingratecoupon.cpp +7 -2
  88. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/quote.cpp +1 -0
  89. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/volatility/svismilesection.cpp +1 -1
  90. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/all.cpp +2 -0
  91. pyquantlib-0.8.0/src/indexes/ibor/libor.cpp +119 -0
  92. pyquantlib-0.8.0/src/indexes/ibor/usdlibor.cpp +79 -0
  93. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/all.cpp +8 -0
  94. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/floatfloatswap.cpp +6 -1
  95. pyquantlib-0.8.0/src/instruments/futures.cpp +30 -0
  96. pyquantlib-0.8.0/src/instruments/fxforward.cpp +80 -0
  97. pyquantlib-0.8.0/src/instruments/multipleresetsswap.cpp +64 -0
  98. pyquantlib-0.8.0/src/instruments/overnightindexfuture.cpp +59 -0
  99. pyquantlib-0.8.0/src/instruments/perpetualfutures.cpp +54 -0
  100. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/all.cpp +6 -0
  101. pyquantlib-0.8.0/src/math/interpolations/backwardflatlinearinterpolation.cpp +25 -0
  102. pyquantlib-0.8.0/src/math/interpolations/convexmonotoneinterpolation.cpp +53 -0
  103. pyquantlib-0.8.0/src/math/interpolations/flatextrapolation2d.cpp +29 -0
  104. pyquantlib-0.8.0/src/math/interpolations/loginterpolation.cpp +116 -0
  105. pyquantlib-0.8.0/src/math/interpolations/mixedinterpolation.cpp +96 -0
  106. pyquantlib-0.8.0/src/math/interpolations/sabrinterpolation.cpp +103 -0
  107. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/all.cpp +4 -0
  108. pyquantlib-0.8.0/src/pricingengines/forward/discountingfxforwardengine.cpp +58 -0
  109. pyquantlib-0.8.0/src/pricingengines/futures/discountingperpetualfuturesengine.cpp +98 -0
  110. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/quotes/all.cpp +2 -0
  111. pyquantlib-0.8.0/src/quotes/deltavolquote.cpp +72 -0
  112. pyquantlib-0.8.0/src/quotes/multicompositequote.cpp +68 -0
  113. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/all.cpp +16 -0
  114. pyquantlib-0.8.0/src/termstructures/volatility/equityfx/blackvolsurfacedelta.cpp +86 -0
  115. pyquantlib-0.8.0/src/termstructures/volatility/equityfx/blackvoltimeextrapolation.cpp +32 -0
  116. pyquantlib-0.8.0/src/termstructures/volatility/equityfx/piecewiseblackvariancesurface.cpp +61 -0
  117. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/flatsmilesection.cpp +1 -2
  118. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/kahalesmilesection.cpp +1 -2
  119. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/noarbsabrinterpolatedsmilesection.cpp +1 -2
  120. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/noarbsabrsmilesection.cpp +1 -2
  121. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/sabrsmilesection.cpp +1 -1
  122. pyquantlib-0.8.0/src/termstructures/yield/multipleresetsswaphelper.cpp +111 -0
  123. pyquantlib-0.8.0/src/termstructures/yield/overnightindexfutureratehelper.cpp +125 -0
  124. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/piecewiseyieldcurve.cpp +8 -0
  125. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/ratehelpers.cpp +58 -0
  126. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_cashflows.py +19 -2
  127. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_core.py +43 -1
  128. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_indexes.py +48 -0
  129. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_instruments.py +170 -0
  130. pyquantlib-0.8.0/tests/test_math_interpolations.py +733 -0
  131. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math_randomnumbers.py +12 -12
  132. pyquantlib-0.8.0/tests/test_pricingengines_futures.py +68 -0
  133. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_quotes.py +64 -0
  134. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_termstructures_volatility.py +105 -0
  135. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_termstructures_yield.py +159 -0
  136. pyquantlib-0.7.0/README.md +0 -165
  137. pyquantlib-0.7.0/docs/_static/favicon.svg +0 -4
  138. pyquantlib-0.7.0/docs/_static/logo.svg +0 -15
  139. pyquantlib-0.7.0/docs/api/cashflows.md +0 -647
  140. pyquantlib-0.7.0/docs/api/core.md +0 -164
  141. pyquantlib-0.7.0/docs/api/currencies.md +0 -87
  142. pyquantlib-0.7.0/docs/api/experimental.md +0 -144
  143. pyquantlib-0.7.0/docs/api/extensions.md +0 -101
  144. pyquantlib-0.7.0/docs/api/indexes.md +0 -432
  145. pyquantlib-0.7.0/docs/api/instruments.md +0 -1079
  146. pyquantlib-0.7.0/docs/api/math.md +0 -568
  147. pyquantlib-0.7.0/docs/api/methods.md +0 -1127
  148. pyquantlib-0.7.0/docs/api/models.md +0 -438
  149. pyquantlib-0.7.0/docs/api/pricingengines.md +0 -1344
  150. pyquantlib-0.7.0/docs/api/processes.md +0 -248
  151. pyquantlib-0.7.0/docs/api/quotes.md +0 -62
  152. pyquantlib-0.7.0/docs/api/termstructures.md +0 -1193
  153. pyquantlib-0.7.0/docs/api/time.md +0 -168
  154. pyquantlib-0.7.0/docs/conf.py +0 -168
  155. pyquantlib-0.7.0/docs/design/api-design.md +0 -46
  156. pyquantlib-0.7.0/docs/design/bridge-defaults.md +0 -173
  157. pyquantlib-0.7.0/docs/design/builder-pattern.md +0 -163
  158. pyquantlib-0.7.0/docs/design/cross-tu-holders.md +0 -180
  159. pyquantlib-0.7.0/docs/design/diamond-inheritance.md +0 -320
  160. pyquantlib-0.7.0/docs/design/enum-singletons.md +0 -341
  161. pyquantlib-0.7.0/docs/design/hidden-handles.md +0 -123
  162. pyquantlib-0.7.0/docs/design/index.md +0 -24
  163. pyquantlib-0.7.0/docs/design/interpolation.md +0 -231
  164. pyquantlib-0.7.0/docs/design/protected-members.md +0 -280
  165. pyquantlib-0.7.0/docs/design/python-subclassing.md +0 -275
  166. pyquantlib-0.7.0/docs/design/reference-members.md +0 -180
  167. pyquantlib-0.7.0/docs/design/settings-singleton.md +0 -174
  168. pyquantlib-0.7.0/docs/examples/index.md +0 -22
  169. pyquantlib-0.7.0/docs/index.md +0 -174
  170. pyquantlib-0.7.0/examples/multicurve_bootstrapping.ipynb +0 -203
  171. pyquantlib-0.7.0/examples/numpy_interoperability.ipynb +0 -499
  172. pyquantlib-0.7.0/pyquantlib/version.py +0 -1
  173. pyquantlib-0.7.0/tests/test_math_interpolations.py +0 -291
  174. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.gitattributes +0 -0
  175. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  176. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  177. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  178. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.github/ISSUE_TEMPLATE/infrastructure.md +0 -0
  179. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/.readthedocs.yaml +0 -0
  180. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/CITATION.cff +0 -0
  181. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/CMakeLists.txt +0 -0
  182. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/CMakePresets.json +0 -0
  183. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/LICENSE +0 -0
  184. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/SECURITY.md +0 -0
  185. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/api/index.md +0 -0
  186. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/handles.md +0 -0
  187. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/numpy.md +0 -0
  188. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/docs/troubleshooting.md +0 -0
  189. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/examples/README.md +0 -0
  190. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/extensions.json +0 -0
  191. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/binding_manager.h +0 -0
  192. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/interpolation_helper.h +0 -0
  193. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/null_utils.h +0 -0
  194. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/shared_ptr_from_python.h +0 -0
  195. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/trampolines.h +0 -0
  196. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/include/pyquantlib/version.h +0 -0
  197. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/licenseheader.txt +0 -0
  198. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyproject.toml +0 -0
  199. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/__init__.py +0 -0
  200. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/extensions/__init__.py +0 -0
  201. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/extensions/modified_kirk_engine.py +0 -0
  202. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/extensions/svi_smile_section.py +0 -0
  203. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/pyquantlib/py.typed +0 -0
  204. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/requirements-dev.txt +0 -0
  205. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/scripts/README.md +0 -0
  206. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/scripts/build_docs.py +0 -0
  207. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/scripts/clean.py +0 -0
  208. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/scripts/rebuild.py +0 -0
  209. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/scripts/stubgen.py +0 -0
  210. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/scripts/test.py +0 -0
  211. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/settings.json +0 -0
  212. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/all.cpp +0 -0
  213. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/averagebmacoupon.cpp +0 -0
  214. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/capflooredcoupon.cpp +0 -0
  215. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/capflooredinflationcoupon.cpp +0 -0
  216. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/cmscoupon.cpp +0 -0
  217. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/conundrumpricer.cpp +0 -0
  218. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/coupon.cpp +0 -0
  219. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/couponpricer.cpp +0 -0
  220. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/digitalcmscoupon.cpp +0 -0
  221. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/digitalcoupon.cpp +0 -0
  222. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/digitaliborcoupon.cpp +0 -0
  223. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/dividend.cpp +0 -0
  224. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/duration.cpp +0 -0
  225. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/fixedratecoupon.cpp +0 -0
  226. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/iborcoupon.cpp +0 -0
  227. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/inflationcoupon.cpp +0 -0
  228. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/inflationcouponpricer.cpp +0 -0
  229. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/lineartsrpricer.cpp +0 -0
  230. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/overnightindexedcoupon.cpp +0 -0
  231. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/overnightindexedcouponpricer.cpp +0 -0
  232. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/rateaveraging.cpp +0 -0
  233. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/replication.cpp +0 -0
  234. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/simplecashflow.cpp +0 -0
  235. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/yoyinflationcoupon.cpp +0 -0
  236. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/cashflows/zeroinflationcashflow.cpp +0 -0
  237. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/all.cpp +0 -0
  238. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/cashflow.cpp +0 -0
  239. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/cdspricingmodel.cpp +0 -0
  240. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/compounding.cpp +0 -0
  241. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/constants.cpp +0 -0
  242. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/currency.cpp +0 -0
  243. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/default.cpp +0 -0
  244. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/exchangerate.cpp +0 -0
  245. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/exercise.cpp +0 -0
  246. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/forward.cpp +0 -0
  247. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/index.cpp +0 -0
  248. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/instrument.cpp +0 -0
  249. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/interestrate.cpp +0 -0
  250. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/money.cpp +0 -0
  251. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/option.cpp +0 -0
  252. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/payoff.cpp +0 -0
  253. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/position.cpp +0 -0
  254. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/pricingengine.cpp +0 -0
  255. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/settings.cpp +0 -0
  256. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/stochasticprocess.cpp +0 -0
  257. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/termstructure.cpp +0 -0
  258. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/core/timegrid.cpp +0 -0
  259. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/currencies/all.cpp +0 -0
  260. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/currencies/currencies.cpp +0 -0
  261. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/currencies/exchangeratemanager.cpp +0 -0
  262. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/all.cpp +0 -0
  263. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/blackcallablebondengine.cpp +0 -0
  264. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/callablebond.cpp +0 -0
  265. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/callablebondconstantvol.cpp +0 -0
  266. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/callablebondvolstructure.cpp +0 -0
  267. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/callablebonds/treecallablebondengine.cpp +0 -0
  268. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/credit/blackcdsoptionengine.cpp +0 -0
  269. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/credit/cdsoption.cpp +0 -0
  270. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/exoticoptions/twoassetcorrelationoption.cpp +0 -0
  271. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/analyticvariancegammaengine.cpp +0 -0
  272. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/fftvariancegammaengine.cpp +0 -0
  273. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/variancegammamodel.cpp +0 -0
  274. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/experimental/variancegamma/variancegammaprocess.cpp +0 -0
  275. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/bmaindex.cpp +0 -0
  276. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/equityindex.cpp +0 -0
  277. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/ibor/eonia.cpp +0 -0
  278. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/ibor/estr.cpp +0 -0
  279. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/ibor/euribor.cpp +0 -0
  280. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/ibor/sofr.cpp +0 -0
  281. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/ibor/sonia.cpp +0 -0
  282. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/iborindex.cpp +0 -0
  283. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflation/aucpi.cpp +0 -0
  284. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflation/euhicp.cpp +0 -0
  285. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflation/frhicp.cpp +0 -0
  286. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflation/ukrpi.cpp +0 -0
  287. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflation/uscpi.cpp +0 -0
  288. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflation/zacpi.cpp +0 -0
  289. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/inflationindex.cpp +0 -0
  290. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/interestrateindex.cpp +0 -0
  291. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/region.cpp +0 -0
  292. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/swap/swapindexes.cpp +0 -0
  293. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/swapindex.cpp +0 -0
  294. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/indexes/swapspreadindex.cpp +0 -0
  295. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/asianoption.cpp +0 -0
  296. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/assetswap.cpp +0 -0
  297. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/averagetype.cpp +0 -0
  298. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/barrieroption.cpp +0 -0
  299. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/barriertype.cpp +0 -0
  300. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/basketoption.cpp +0 -0
  301. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bond.cpp +0 -0
  302. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bondforward.cpp +0 -0
  303. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/amortizingcmsratebond.cpp +0 -0
  304. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/amortizingfixedratebond.cpp +0 -0
  305. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/amortizingfloatingratebond.cpp +0 -0
  306. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/cmsratebond.cpp +0 -0
  307. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/convertiblebonds.cpp +0 -0
  308. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/cpibond.cpp +0 -0
  309. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/fixedratebond.cpp +0 -0
  310. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/floatingratebond.cpp +0 -0
  311. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/bonds/zerocouponbond.cpp +0 -0
  312. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/callabilityschedule.cpp +0 -0
  313. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/capfloor.cpp +0 -0
  314. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/claim.cpp +0 -0
  315. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/cliquetoption.cpp +0 -0
  316. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/complexchooseroption.cpp +0 -0
  317. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/compositeinstrument.cpp +0 -0
  318. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/compoundoption.cpp +0 -0
  319. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/creditdefaultswap.cpp +0 -0
  320. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/doublebarrieroption.cpp +0 -0
  321. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/doublebarriertype.cpp +0 -0
  322. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/equitytotalreturnswap.cpp +0 -0
  323. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/fixedvsfloatingswap.cpp +0 -0
  324. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/floatfloatswaption.cpp +0 -0
  325. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/forwardrateagreement.cpp +0 -0
  326. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/forwardvanillaoption.cpp +0 -0
  327. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/holderextensibleoption.cpp +0 -0
  328. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/inflationcapfloor.cpp +0 -0
  329. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/lookbackoption.cpp +0 -0
  330. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/makecapfloor.cpp +0 -0
  331. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/makeois.cpp +0 -0
  332. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/makeswaption.cpp +0 -0
  333. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/makevanillaswap.cpp +0 -0
  334. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/makeyoyinflationcapfloor.cpp +0 -0
  335. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/margrabeoption.cpp +0 -0
  336. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/multiassetoption.cpp +0 -0
  337. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/nonstandardswap.cpp +0 -0
  338. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/nonstandardswaption.cpp +0 -0
  339. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/oneassetoption.cpp +0 -0
  340. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/overnightindexedswap.cpp +0 -0
  341. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/partialtimebarrieroption.cpp +0 -0
  342. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/payoffs.cpp +0 -0
  343. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/quantoforwardvanillaoption.cpp +0 -0
  344. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/quantovanillaoption.cpp +0 -0
  345. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/simplechooseroption.cpp +0 -0
  346. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/softbarrieroption.cpp +0 -0
  347. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/swap.cpp +0 -0
  348. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/swaption.cpp +0 -0
  349. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/twoassetbarrieroption.cpp +0 -0
  350. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/vanillaoption.cpp +0 -0
  351. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/vanillaswap.cpp +0 -0
  352. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/varianceswap.cpp +0 -0
  353. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/writerextensibleoption.cpp +0 -0
  354. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/yearonyearinflationswap.cpp +0 -0
  355. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/zerocouponinflationswap.cpp +0 -0
  356. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/instruments/zerocouponswap.cpp +0 -0
  357. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/main.cpp +0 -0
  358. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/array.cpp +0 -0
  359. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/distributions/bivariatenormaldistribution.cpp +0 -0
  360. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/distributions/normaldistribution.cpp +0 -0
  361. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/expsinhintegral.cpp +0 -0
  362. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/gaussianquadratures.cpp +0 -0
  363. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/gausslobattointegral.cpp +0 -0
  364. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/integral.cpp +0 -0
  365. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/kronrodintegral.cpp +0 -0
  366. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/segmentintegral.cpp +0 -0
  367. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/simpsonintegral.cpp +0 -0
  368. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/tanhsinhintegral.cpp +0 -0
  369. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/integrals/trapezoidintegral.cpp +0 -0
  370. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/backwardflatinterpolation.cpp +0 -0
  371. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/bicubicsplineinterpolation.cpp +0 -0
  372. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/bilinearinterpolation.cpp +0 -0
  373. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/chebyshevinterpolation.cpp +0 -0
  374. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/cubicinterpolation.cpp +0 -0
  375. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/extrapolation.cpp +0 -0
  376. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/forwardflatinterpolation.cpp +0 -0
  377. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/interpolation.cpp +0 -0
  378. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/interpolation2d.cpp +0 -0
  379. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/lagrangeinterpolation.cpp +0 -0
  380. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/linearinterpolation.cpp +0 -0
  381. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/interpolations/loglinearinterpolation.cpp +0 -0
  382. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/matrix.cpp +0 -0
  383. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/matrixutilities/svd.cpp +0 -0
  384. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/matrixutilities/symmetricschurdecomposition.cpp +0 -0
  385. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/ode/adaptiverungekutta.cpp +0 -0
  386. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/bfgs.cpp +0 -0
  387. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/conjugategradient.cpp +0 -0
  388. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/constraint.cpp +0 -0
  389. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/costfunction.cpp +0 -0
  390. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/differentialevolution.cpp +0 -0
  391. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/endcriteria.cpp +0 -0
  392. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/levenbergmarquardt.cpp +0 -0
  393. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/method.cpp +0 -0
  394. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/problem.cpp +0 -0
  395. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/simplex.cpp +0 -0
  396. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/optimization/steepestdescent.cpp +0 -0
  397. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/boxmullergaussianrng.cpp +0 -0
  398. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/burley2020sobolrsg.cpp +0 -0
  399. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/haltonrsg.cpp +0 -0
  400. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/inversecumulativerng.cpp +0 -0
  401. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/inversecumulativersg.cpp +0 -0
  402. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/mt19937uniformrng.cpp +0 -0
  403. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/randomsequencegenerator.cpp +0 -0
  404. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/sobolbrownianbridgersg.cpp +0 -0
  405. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/randomnumbers/sobolrsg.cpp +0 -0
  406. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/richardsonextrapolation.cpp +0 -0
  407. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/rounding.cpp +0 -0
  408. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/solvers1d/solvers1d.cpp +0 -0
  409. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/statistics/incrementalstatistics.cpp +0 -0
  410. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/statistics/sequencestatistics.cpp +0 -0
  411. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/math/statistics/statistics.cpp +0 -0
  412. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/all.cpp +0 -0
  413. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/boundarycondition.cpp +0 -0
  414. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/concentrating1dmesher.cpp +0 -0
  415. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/exponentialjump1dmesher.cpp +0 -0
  416. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdm1dmesher.cpp +0 -0
  417. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmblackscholesmesher.cpp +0 -0
  418. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmcev1dmesher.cpp +0 -0
  419. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmhestonvariancemesher.cpp +0 -0
  420. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmmesher.cpp +0 -0
  421. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmmeshercomposite.cpp +0 -0
  422. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/fdmsimpleprocess1dmesher.cpp +0 -0
  423. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/glued1dmesher.cpp +0 -0
  424. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/predefined1dmesher.cpp +0 -0
  425. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/meshers/uniform1dmesher.cpp +0 -0
  426. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdm2dblackscholesop.cpp +0 -0
  427. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmbatesop.cpp +0 -0
  428. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmblackscholesfwdop.cpp +0 -0
  429. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmblackscholesop.cpp +0 -0
  430. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmcevop.cpp +0 -0
  431. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmg2op.cpp +0 -0
  432. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhestonfwdop.cpp +0 -0
  433. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhestonhullwhiteop.cpp +0 -0
  434. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhestonop.cpp +0 -0
  435. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmhullwhiteop.cpp +0 -0
  436. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearop.cpp +0 -0
  437. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearopcomposite.cpp +0 -0
  438. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearopiterator.cpp +0 -0
  439. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlinearoplayout.cpp +0 -0
  440. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmlocalvolfwdop.cpp +0 -0
  441. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmornsteinuhlenbeckop.cpp +0 -0
  442. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmsabrop.cpp +0 -0
  443. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/fdmsquarerootfwdop.cpp +0 -0
  444. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/firstderivativeop.cpp +0 -0
  445. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/ninepointlinearop.cpp +0 -0
  446. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/nthorderderivativeop.cpp +0 -0
  447. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/secondderivativeop.cpp +0 -0
  448. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/secondordermixedderivativeop.cpp +0 -0
  449. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/operators/triplebandlinearop.cpp +0 -0
  450. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/craigsneydscheme.cpp +0 -0
  451. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/cranknicolsonscheme.cpp +0 -0
  452. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/douglasscheme.cpp +0 -0
  453. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/expliciteulerscheme.cpp +0 -0
  454. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/hundsdorferscheme.cpp +0 -0
  455. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/impliciteulerscheme.cpp +0 -0
  456. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/methodoflinesscheme.cpp +0 -0
  457. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/schemes/modifiedcraigsneydscheme.cpp +0 -0
  458. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm1dimsolver.cpp +0 -0
  459. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm2dblackscholessolver.cpp +0 -0
  460. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm2dimsolver.cpp +0 -0
  461. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdm3dimsolver.cpp +0 -0
  462. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmbackwardsolver.cpp +0 -0
  463. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmbatessolver.cpp +0 -0
  464. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmblackscholessolver.cpp +0 -0
  465. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmg2solver.cpp +0 -0
  466. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmhestonsolver.cpp +0 -0
  467. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmhullwhitesolver.cpp +0 -0
  468. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/solvers/fdmsolverdesc.cpp +0 -0
  469. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepcondition.cpp +0 -0
  470. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmamericanstepcondition.cpp +0 -0
  471. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmarithmeticaveragecondition.cpp +0 -0
  472. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmbermudanstepcondition.cpp +0 -0
  473. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmsimpleswingcondition.cpp +0 -0
  474. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmsnapshotcondition.cpp +0 -0
  475. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/stepconditions/fdmstepconditioncomposite.cpp +0 -0
  476. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/bsmrndcalculator.cpp +0 -0
  477. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/cevrndcalculator.cpp +0 -0
  478. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmdirichletboundary.cpp +0 -0
  479. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmdiscountdirichletboundary.cpp +0 -0
  480. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmdividendhandler.cpp +0 -0
  481. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmhestongreensfct.cpp +0 -0
  482. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdminnervaluecalculator.cpp +0 -0
  483. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmquantohelper.cpp +0 -0
  484. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/fdmtimedepdirichletboundary.cpp +0 -0
  485. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/gbsmrndcalculator.cpp +0 -0
  486. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/hestonrndcalculator.cpp +0 -0
  487. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/localvolrndcalculator.cpp +0 -0
  488. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/riskneutraldensitycalculator.cpp +0 -0
  489. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/finitedifferences/utilities/squarerootprocessrndcalculator.cpp +0 -0
  490. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/brownianbridge.cpp +0 -0
  491. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/lsmbasissystem.cpp +0 -0
  492. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/multipath.cpp +0 -0
  493. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/multipathgenerator.cpp +0 -0
  494. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/path.cpp +0 -0
  495. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/pathgenerator.cpp +0 -0
  496. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/methods/montecarlo/sample.cpp +0 -0
  497. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/all.cpp +0 -0
  498. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/calibrationhelper.cpp +0 -0
  499. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/equity/batesmodel.cpp +0 -0
  500. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/equity/gjrgarchmodel.cpp +0 -0
  501. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/equity/hestonmodel.cpp +0 -0
  502. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/equity/hestonmodelhelper.cpp +0 -0
  503. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/equity/hestonslvfdmmodel.cpp +0 -0
  504. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/equity/hestonslvmcmodel.cpp +0 -0
  505. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/marketmodels/browniangenerator.cpp +0 -0
  506. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/marketmodels/browniangenerators/mtbrowniangenerator.cpp +0 -0
  507. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/marketmodels/browniangenerators/sobolbrowniangenerator.cpp +0 -0
  508. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/model.cpp +0 -0
  509. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/parameter.cpp +0 -0
  510. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/piecewisetimedependenthestonmodel.cpp +0 -0
  511. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/calibrationhelpers/caphelper.cpp +0 -0
  512. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/calibrationhelpers/swaptionhelper.cpp +0 -0
  513. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodel.cpp +0 -0
  514. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/blackkarasinski.cpp +0 -0
  515. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/coxingersollross.cpp +0 -0
  516. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/extendedcoxingersollross.cpp +0 -0
  517. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/gaussian1dmodel.cpp +0 -0
  518. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/gsr.cpp +0 -0
  519. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/hullwhite.cpp +0 -0
  520. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/markovfunctional.cpp +0 -0
  521. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/onefactormodels/vasicek.cpp +0 -0
  522. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/twofactormodel.cpp +0 -0
  523. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/models/shortrate/twofactormodels/g2.cpp +0 -0
  524. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/patterns/all.cpp +0 -0
  525. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/patterns/lazyobject.cpp +0 -0
  526. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/patterns/observable.cpp +0 -0
  527. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/analytic_cont_geom_av_price.cpp +0 -0
  528. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/analytic_discr_geom_av_price.cpp +0 -0
  529. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/analytic_discr_geom_av_strike.cpp +0 -0
  530. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/choiasianengine.cpp +0 -0
  531. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/continuousarithmeticasianlevyengine.cpp +0 -0
  532. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/fdblackscholesasianengine.cpp +0 -0
  533. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/mc_discr_arith_av_price.cpp +0 -0
  534. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/mc_discr_arith_av_price_heston.cpp +0 -0
  535. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/mc_discr_arith_av_strike.cpp +0 -0
  536. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/mc_discr_geom_av_price.cpp +0 -0
  537. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/mc_discr_geom_av_price_heston.cpp +0 -0
  538. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/asian/turnbullwakemanasianengine.cpp +0 -0
  539. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/bacheliercalculator.cpp +0 -0
  540. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticbarrierengine.cpp +0 -0
  541. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticbinarybarrierengine.cpp +0 -0
  542. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticdoublebarrierbinaryengine.cpp +0 -0
  543. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticdoublebarrierengine.cpp +0 -0
  544. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticpartialtimebarrieroptionengine.cpp +0 -0
  545. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analyticsoftbarrierengine.cpp +0 -0
  546. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/analytictwoassetbarrierengine.cpp +0 -0
  547. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/binomialbarrierengine.cpp +0 -0
  548. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdblackscholesbarrierengine.cpp +0 -0
  549. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdblackscholesrebateengine.cpp +0 -0
  550. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdhestonbarrierengine.cpp +0 -0
  551. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdhestondoublebarrierengine.cpp +0 -0
  552. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/fdhestonrebateengine.cpp +0 -0
  553. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/mcbarrierengine.cpp +0 -0
  554. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/barrier/mcdoublebarrierengine.cpp +0 -0
  555. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/bjerksundstenslandspreadengine.cpp +0 -0
  556. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/choibasketengine.cpp +0 -0
  557. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/denglizhoubasketengine.cpp +0 -0
  558. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/fd2dblackscholesvanillaengine.cpp +0 -0
  559. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/fdndimblackscholesvanillaengine.cpp +0 -0
  560. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/kirkengine.cpp +0 -0
  561. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/mcamericanbasketengine.cpp +0 -0
  562. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/mceuropeanbasketengine.cpp +0 -0
  563. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/operatorsplittingspreadengine.cpp +0 -0
  564. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/singlefactorbsmbasketengine.cpp +0 -0
  565. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/spreadblackscholesvanillaengine.cpp +0 -0
  566. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/basket/stulzengine.cpp +0 -0
  567. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/blackcalculator.cpp +0 -0
  568. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/blackformula.cpp +0 -0
  569. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/bond/binomialconvertibleengine.cpp +0 -0
  570. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/bond/bondfunctions.cpp +0 -0
  571. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/bond/discountingbondengine.cpp +0 -0
  572. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/analyticcapfloorengine.cpp +0 -0
  573. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/bacheliercapfloorengine.cpp +0 -0
  574. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/blackcapfloorengine.cpp +0 -0
  575. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/gaussian1dcapfloorengine.cpp +0 -0
  576. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/capfloor/treecapfloorengine.cpp +0 -0
  577. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/cliquet/analyticcliquetengine.cpp +0 -0
  578. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/credit/isdacdsengine.cpp +0 -0
  579. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/credit/midpointcdsengine.cpp +0 -0
  580. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticamericanmargrabeengine.cpp +0 -0
  581. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticcomplexchooserengine.cpp +0 -0
  582. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticcompoundoptionengine.cpp +0 -0
  583. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticeuropeanmargrabeengine.cpp +0 -0
  584. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticholderextensibleoptionengine.cpp +0 -0
  585. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticsimplechooserengine.cpp +0 -0
  586. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analytictwoassetcorrelationengine.cpp +0 -0
  587. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/exotic/analyticwriterextensibleoptionengine.cpp +0 -0
  588. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/forward/forwardengine.cpp +0 -0
  589. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/forward/mcforwardeuropeanbsengine.cpp +0 -0
  590. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/forward/mcforwardeuropeanhestonengine.cpp +0 -0
  591. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/forward/replicatingvarianceswapengine.cpp +0 -0
  592. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/genericmodelengine.cpp +0 -0
  593. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/inflation/inflationcapfloorengines.cpp +0 -0
  594. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuousfixedlookback.cpp +0 -0
  595. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuousfloatinglookback.cpp +0 -0
  596. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuouspartialfixedlookback.cpp +0 -0
  597. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/lookback/analyticcontinuouspartialfloatinglookback.cpp +0 -0
  598. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/quanto/quantoengine.cpp +0 -0
  599. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swap/discountingswapengine.cpp +0 -0
  600. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/blackswaptionengine.cpp +0 -0
  601. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/fdg2swaptionengine.cpp +0 -0
  602. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/fdhullwhiteswaptionengine.cpp +0 -0
  603. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/g2swaptionengine.cpp +0 -0
  604. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.cpp +0 -0
  605. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1djamshidianswaptionengine.cpp +0 -0
  606. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1dnonstandardswaptionengine.cpp +0 -0
  607. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/gaussian1dswaptionengine.cpp +0 -0
  608. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/jamshidianswaptionengine.cpp +0 -0
  609. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/swaption/treeswaptionengine.cpp +0 -0
  610. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticbsmhullwhiteengine.cpp +0 -0
  611. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticcevengine.cpp +0 -0
  612. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticdigitalamericanengine.cpp +0 -0
  613. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticdividendeuropeanengine.cpp +0 -0
  614. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticeuropeanengine.cpp +0 -0
  615. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp +0 -0
  616. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticgjrgarchengine.cpp +0 -0
  617. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analytich1hwengine.cpp +0 -0
  618. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analytichestonengine.cpp +0 -0
  619. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analytichestonhullwhiteengine.cpp +0 -0
  620. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticpdfhestonengine.cpp +0 -0
  621. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/analyticptdhestonengine.cpp +0 -0
  622. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/baroneadesiwhaleyengine.cpp +0 -0
  623. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/batesengine.cpp +0 -0
  624. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/binomialengine.cpp +0 -0
  625. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/bjerksundstenslandengine.cpp +0 -0
  626. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/cashdividendeuropeanengine.cpp +0 -0
  627. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/coshestonengine.cpp +0 -0
  628. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/exponentialfittinghestonengine.cpp +0 -0
  629. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdbatesvanillaengine.cpp +0 -0
  630. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdblackscholesshoutengine.cpp +0 -0
  631. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdblackscholesvanillaengine.cpp +0 -0
  632. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdcevvanillaengine.cpp +0 -0
  633. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdhestonhullwhitevanillaengine.cpp +0 -0
  634. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdhestonvanillaengine.cpp +0 -0
  635. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdornsteinuhlenbeckvanillaengine.cpp +0 -0
  636. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/fdsabrvanillaengine.cpp +0 -0
  637. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/hestonexpansionengine.cpp +0 -0
  638. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/integralengine.cpp +0 -0
  639. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/juquadraticengine.cpp +0 -0
  640. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mcamericanengine.cpp +0 -0
  641. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mcdigitalengine.cpp +0 -0
  642. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mceuropeanengine.cpp +0 -0
  643. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mceuropeangjrgarchengine.cpp +0 -0
  644. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/mceuropeanhestonengine.cpp +0 -0
  645. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/qdfpamericanengine.cpp +0 -0
  646. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/pricingengines/vanilla/qdplusamericanengine.cpp +0 -0
  647. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/all.cpp +0 -0
  648. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/batesprocess.cpp +0 -0
  649. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/blackscholesprocess.cpp +0 -0
  650. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/eulerdiscretization.cpp +0 -0
  651. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/extendedornsteinuhlenbeckprocess.cpp +0 -0
  652. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/forwardmeasureprocess.cpp +0 -0
  653. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/g2process.cpp +0 -0
  654. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/geometricbrownianmotionprocess.cpp +0 -0
  655. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/gjrgarchprocess.cpp +0 -0
  656. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/hestonprocess.cpp +0 -0
  657. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/hestonslvprocess.cpp +0 -0
  658. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/hullwhiteprocess.cpp +0 -0
  659. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/hybridhestonhullwhiteprocess.cpp +0 -0
  660. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/merton76process.cpp +0 -0
  661. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/ornsteinuhlenbeckprocess.cpp +0 -0
  662. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/squarerootprocess.cpp +0 -0
  663. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/processes/stochasticprocessarray.cpp +0 -0
  664. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/quotes/compositequote.cpp +0 -0
  665. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/quotes/derivedquote.cpp +0 -0
  666. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/quotes/simplequote.cpp +0 -0
  667. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/submodules.cpp +0 -0
  668. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/credit/defaultprobabilityhelpers.cpp +0 -0
  669. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/credit/flathazardrate.cpp +0 -0
  670. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/credit/piecewisedefaultcurve.cpp +0 -0
  671. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/defaulttermstructure.cpp +0 -0
  672. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/globalbootstrap.cpp +0 -0
  673. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/inflationhelper.cpp +0 -0
  674. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/inflationhelpers.cpp +0 -0
  675. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/interpolatedyoyinflationcurve.cpp +0 -0
  676. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/interpolatedzeroinflationcurve.cpp +0 -0
  677. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/piecewiseyoyinflationcurve.cpp +0 -0
  678. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/piecewisezeroinflationcurve.cpp +0 -0
  679. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflation/seasonality.cpp +0 -0
  680. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/inflationtermstructure.cpp +0 -0
  681. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/multicurve.cpp +0 -0
  682. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/capfloor/capfloortermvolatilitystructure.cpp +0 -0
  683. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/capfloor/capfloortermvolsurface.cpp +0 -0
  684. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/andreasenhugelocalvoladapter.cpp +0 -0
  685. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/andreasenhugevolatilityadapter.cpp +0 -0
  686. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.cpp +0 -0
  687. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/blackconstantvol.cpp +0 -0
  688. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/blackvariancesurface.cpp +0 -0
  689. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/blackvoltermstructure.cpp +0 -0
  690. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp +0 -0
  691. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/localconstantvol.cpp +0 -0
  692. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/localvolsurface.cpp +0 -0
  693. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/localvoltermstructure.cpp +0 -0
  694. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/equityfx/noexceptlocalvolsurface.cpp +0 -0
  695. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/hestonblackvolsurface.cpp +0 -0
  696. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp +0 -0
  697. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/noarbsabr.cpp +0 -0
  698. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/constantoptionletvol.cpp +0 -0
  699. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/optionletstripper.cpp +0 -0
  700. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/optionletstripper1.cpp +0 -0
  701. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp +0 -0
  702. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/strippedoptionletadapter.cpp +0 -0
  703. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/optionlet/strippedoptionletbase.cpp +0 -0
  704. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/sabrinterpolatedsmilesection.cpp +0 -0
  705. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/smilesection.cpp +0 -0
  706. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/spreadedswaptionvol.cpp +0 -0
  707. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/sabrswaptionvolcube.cpp +0 -0
  708. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionconstantvol.cpp +0 -0
  709. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvolcube.cpp +0 -0
  710. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvoldiscrete.cpp +0 -0
  711. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvolmatrix.cpp +0 -0
  712. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/swaption/swaptionvolstructure.cpp +0 -0
  713. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/volatility/volatilitytype.cpp +0 -0
  714. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/voltermstructure.cpp +0 -0
  715. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/bondhelpers.cpp +0 -0
  716. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/compositezeroyieldstructure.cpp +0 -0
  717. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/discountcurve.cpp +0 -0
  718. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/fittedbonddiscountcurve.cpp +0 -0
  719. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/flatforward.cpp +0 -0
  720. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/forwardcurve.cpp +0 -0
  721. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/forwardspreadedtermstructure.cpp +0 -0
  722. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/impliedtermstructure.cpp +0 -0
  723. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/nonlinearfittingmethods.cpp +0 -0
  724. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/oisratehelper.cpp +0 -0
  725. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/quantotermstructure.cpp +0 -0
  726. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/ultimateforwardtermstructure.cpp +0 -0
  727. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/zerocurve.cpp +0 -0
  728. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yield/zerospreadedtermstructure.cpp +0 -0
  729. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/termstructures/yieldtermstructure.cpp +0 -0
  730. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/all.cpp +0 -0
  731. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/businessdayconvention.cpp +0 -0
  732. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/calendar.cpp +0 -0
  733. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/calendars/calendars.cpp +0 -0
  734. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/date.cpp +0 -0
  735. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/dategenerationrule.cpp +0 -0
  736. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/daycounter.cpp +0 -0
  737. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/daycounters/daycounters.cpp +0 -0
  738. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/frequency.cpp +0 -0
  739. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/period.cpp +0 -0
  740. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/schedule.cpp +0 -0
  741. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/timeunit.cpp +0 -0
  742. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/time/weekday.cpp +0 -0
  743. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/utilities/all.cpp +0 -0
  744. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/utilities/null.cpp +0 -0
  745. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/src/utilities/observablevalue.cpp +0 -0
  746. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/conftest.py +0 -0
  747. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_currencies.py +0 -0
  748. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_experimental_callablebonds.py +0 -0
  749. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_experimental_credit.py +0 -0
  750. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_experimental_exoticoptions.py +0 -0
  751. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_experimental_variancegamma.py +0 -0
  752. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_experimental_volatility.py +0 -0
  753. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_extensions.py +0 -0
  754. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_instruments_bonds.py +0 -0
  755. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math.py +0 -0
  756. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math_distributions.py +0 -0
  757. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math_integrals.py +0 -0
  758. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math_optimization.py +0 -0
  759. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math_solvers1d.py +0 -0
  760. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_math_statistics.py +0 -0
  761. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_methods.py +0 -0
  762. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_models.py +0 -0
  763. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_models_equity.py +0 -0
  764. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_models_shortrate.py +0 -0
  765. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines.py +0 -0
  766. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_asian.py +0 -0
  767. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_barrier.py +0 -0
  768. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_basket.py +0 -0
  769. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_bond.py +0 -0
  770. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_capfloor.py +0 -0
  771. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_cliquet.py +0 -0
  772. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_credit.py +0 -0
  773. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_exotic.py +0 -0
  774. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_forward.py +0 -0
  775. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_lookback.py +0 -0
  776. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_quanto.py +0 -0
  777. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_swaption.py +0 -0
  778. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_pricingengines_vanilla.py +0 -0
  779. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_processes.py +0 -0
  780. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_termstructures.py +0 -0
  781. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_termstructures_credit.py +0 -0
  782. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_termstructures_inflation.py +0 -0
  783. {pyquantlib-0.7.0 → pyquantlib-0.8.0}/tests/test_time.py +0 -0
  784. {pyquantlib-0.7.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.41"
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.41"
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.41"
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.41"
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
@@ -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="]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pyquantlib
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: Python bindings for QuantLib
5
5
  Keywords: quantlib,quantitative-finance,derivatives,pricing,risk,fixed-income,options,finance,pybind11
6
6
  Author-Email: Yassine Idyiahia <yassine.id@gmail.com>
@@ -96,15 +96,17 @@ Description-Content-Type: text/markdown
96
96
 
97
97
  ## Overview
98
98
 
99
- PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), the open-source library for quantitative finance. Built with [pybind11](https://github.com/pybind/pybind11), it offers a more Pythonic API than existing alternatives.
99
+ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), the open-source library for quantitative finance. It is built on [pybind11](https://github.com/pybind/pybind11): every binding is written in standard C++, with no interface-definition language and no code-generation step between the caller and the QuantLib source.
100
+
101
+ As an independent project, PyQuantLib complements the official [QuantLib-SWIG](https://github.com/lballabio/QuantLib-SWIG) bindings, which remain the established and most widely used way to run QuantLib from Python.
100
102
 
101
103
  ## Features
102
104
 
103
- - **Pythonic API**: Pass Python objects directly to functions (implicit conversion)
104
- - **Zero-copy NumPy**: Buffer protocol for efficient, bidirectional data exchange
105
- - **Type hints**: IDE-friendly with complete `.pyi` stub files
106
- - **Python subclassing**: Extend QuantLib classes without C++ recompilation
107
- - **Modern build**: scikit-build-core, CMake presets, cross-platform CI/CD
105
+ - **Pythonic API**: pass quotes and term structures directly; handles are created internally. Plain Python types convert automatically, and `None` replaces `Null<Real>()`.
106
+ - **Zero-copy NumPy**: `Array` and `Matrix` use the buffer protocol, so `np.array(arr, copy=False)` shares memory with no marshalling.
107
+ - **Type hints**: complete `.pyi` stubs ship in the wheel for autocomplete and type-checking.
108
+ - **Python subclassing**: override QuantLib's abstract base classes via pybind11 trampolines, without C++ recompilation.
109
+ - **Modern build**: scikit-build-core, CMake presets, cross-platform CI.
108
110
 
109
111
  ## Installation
110
112
 
@@ -112,49 +114,17 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
112
114
  pip install pyquantlib
113
115
  ```
114
116
 
115
- Pre-built wheels are available for Python 3.10--3.13 on Linux (x86_64), macOS (ARM), and Windows (x64). QuantLib is statically linked -- no separate installation required.
116
-
117
- ### From Source
118
-
119
- Building from source requires QuantLib built with specific CMake flags. See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions.
120
-
121
- #### Prerequisites
117
+ Pre-built wheels are available for Python 3.10 to 3.13 on Linux (x86_64), macOS (ARM), and Windows (x64). QuantLib is statically linked, so no separate installation is required.
122
118
 
123
- - Python 3.10+
124
- - CMake 3.18+
125
- - C++17 compatible compiler
126
- - Boost headers
127
- - **QuantLib 1.40+** built with `std::shared_ptr` support (see below)
119
+ ### From source
128
120
 
129
- #### QuantLib Build Requirement
130
-
131
- > **Important**: PyQuantLib requires QuantLib built from source with specific settings.
132
-
133
- **Required CMake flags:**
134
-
135
- ```bash
136
- cmake -DBUILD_SHARED_LIBS=OFF \
137
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
138
- -DQL_USE_STD_SHARED_PTR=ON \
139
- -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL \ # Windows only
140
- -DCMAKE_BUILD_TYPE=Release \
141
- ...
142
- ```
143
-
144
- | Flag | Why Required |
145
- |------|--------------|
146
- | `BUILD_SHARED_LIBS=OFF` | Static build prevents Settings singleton issues on Linux/macOS |
147
- | `CMAKE_POSITION_INDEPENDENT_CODE=ON` | Required for static libs in Python modules |
148
- | `QL_USE_STD_SHARED_PTR=ON` | pybind11 uses `std::shared_ptr` as default holder |
149
- | `CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL` | **Windows only**: Python extensions require dynamic runtime (`/MD`) |
150
-
151
- **Note**: Pre-built packages (Homebrew, vcpkg, apt) use shared builds and `boost::shared_ptr` -- they are **not compatible**. You must build QuantLib from source. See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed build instructions.
121
+ Building from source requires QuantLib 1.42+ compiled with specific CMake flags. Packages from Homebrew, vcpkg, and apt use shared builds and `boost::shared_ptr`, and are not compatible. See [CONTRIBUTING.md](CONTRIBUTING.md) for the required flags and full build instructions.
152
122
 
153
123
  ```bash
154
124
  pip install git+https://github.com/quantales/pyquantlib.git
155
125
  ```
156
126
 
157
- ## Quick Start
127
+ ## Quick start
158
128
 
159
129
  ```python
160
130
  import pyquantlib as ql
@@ -166,42 +136,33 @@ ql.Settings.evaluationDate = today
166
136
  # Market data
167
137
  spot = ql.SimpleQuote(100.0)
168
138
  rate = ql.SimpleQuote(0.05)
169
- vol = ql.SimpleQuote(0.20)
139
+ vol = ql.SimpleQuote(0.20)
170
140
 
171
- # Term structures (pass quotes directly, handles created internally)
172
- dc = ql.Actual365Fixed()
173
- risk_free = ql.FlatForward(today, rate, dc)
174
- dividend = ql.FlatForward(today, 0.0, dc)
141
+ # Term structures (pass quotes directly; handles created internally)
142
+ dc = ql.Actual365Fixed()
143
+ risk_free = ql.FlatForward(today, rate, dc)
144
+ dividend = ql.FlatForward(today, 0.0, dc)
175
145
  volatility = ql.BlackConstantVol(today, ql.TARGET(), vol, dc)
176
146
 
177
- # Black-Scholes process (pass objects directly)
147
+ # Black-Scholes process
178
148
  process = ql.GeneralizedBlackScholesProcess(spot, dividend, risk_free, volatility)
179
149
 
180
- # European call option
181
- payoff = ql.PlainVanillaPayoff(ql.Call, 100.0)
150
+ # European call option, 1 year to expiry
151
+ payoff = ql.PlainVanillaPayoff(ql.Call, 100.0)
182
152
  exercise = ql.EuropeanExercise(today + ql.Period("1Y"))
183
- option = ql.VanillaOption(payoff, exercise)
153
+ option = ql.VanillaOption(payoff, exercise)
184
154
 
185
155
  # Price with analytic Black-Scholes
186
156
  option.setPricingEngine(ql.AnalyticEuropeanEngine(process))
187
157
 
188
- print(f"NPV: {option.NPV():.4f}")
189
- print(f"Delta: {option.delta():.4f}")
190
- print(f"Gamma: {option.gamma():.4f}")
191
- print(f"Vega: {option.vega():.4f}")
192
- print(f"Theta: {option.theta():.4f}")
158
+ print(f"NPV: {option.NPV():.4f}") # 10.4506
159
+ print(f"Delta: {option.delta():.4f}") # 0.6368
160
+ print(f"Gamma: {option.gamma():.4f}") # 0.0188
161
+ print(f"Vega: {option.vega():.4f}") # 37.5240
162
+ print(f"Theta: {option.theta():.4f}") # -6.4140
193
163
  ```
194
164
 
195
- Output:
196
- ```
197
- NPV: 10.4506
198
- Delta: 0.6368
199
- Gamma: 0.0188
200
- Vega: 37.5240
201
- Theta: -6.4140
202
- ```
203
-
204
- ## Module Organization
165
+ ## Module organization
205
166
 
206
167
  ```python
207
168
  import pyquantlib as ql # Concrete classes
@@ -210,6 +171,20 @@ from pyquantlib.base import ... # Abstract base classes (for subclassing)
210
171
 
211
172
  Coverage includes dates and calendars, market quotes, yield and volatility term structures, stochastic processes, instruments, and pricing engines. See the [API Reference](https://pyquantlib.readthedocs.io/en/latest/api/index.html) for the complete list.
212
173
 
174
+ ## Documentation
175
+
176
+ Full documentation is available at [pyquantlib.readthedocs.io](https://pyquantlib.readthedocs.io/).
177
+
178
+ | Section | Contents |
179
+ |---------|----------|
180
+ | [Quickstart](https://pyquantlib.readthedocs.io/en/latest/quickstart.html) | Installation and a first pricing example |
181
+ | [Concepts](https://pyquantlib.readthedocs.io/en/latest/concepts/index.html) | Term structures, observables, engines, calibration, and the binding patterns behind them |
182
+ | [Cookbook](https://pyquantlib.readthedocs.io/en/latest/cookbook/index.html) | Runnable recipes: curve bootstrapping, volatility surfaces, Heston calibration, NumPy interop |
183
+ | [Examples](https://pyquantlib.readthedocs.io/en/latest/examples/index.html) | Jupyter notebooks, also available in [examples/](examples/) |
184
+ | [API Reference](https://pyquantlib.readthedocs.io/en/latest/api/index.html) | Every bound class, by module |
185
+ | [Architecture](https://pyquantlib.readthedocs.io/en/latest/architecture.html) | Design rationale and internals |
186
+ | [Changelog](https://pyquantlib.readthedocs.io/en/latest/changelog.html) | Release history |
187
+
213
188
  ## Development
214
189
 
215
190
  See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
@@ -228,21 +203,8 @@ pip install -e .
228
203
  pytest
229
204
  ```
230
205
 
231
- ## Documentation
232
-
233
- Full documentation is available at [pyquantlib.readthedocs.io](https://pyquantlib.readthedocs.io/). For the latest additions, see the [changelog](https://pyquantlib.readthedocs.io/en/latest/changelog.html).
234
-
235
- ## Examples
236
-
237
- See the [examples](examples/) directory for Jupyter notebooks demonstrating PyQuantLib usage.
238
-
239
206
  ## License
240
207
 
241
208
  BSD 3-Clause License. See [LICENSE](LICENSE) for details.
242
209
 
243
- ## Acknowledgments
244
-
245
- - [QuantLib](https://www.quantlib.org/) - Quantitative finance library
246
- - [pybind11](https://github.com/pybind/pybind11) - C++/Python bindings
247
- - [scikit-build-core](https://github.com/scikit-build/scikit-build-core) - Build system
248
-
210
+ QuantLib is free software distributed under its own [modified BSD license](https://www.quantlib.org/license.shtml), and is copyright of its respective contributors.