pyquantlib 0.2.0__tar.gz → 0.4.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 (457) hide show
  1. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/CITATION.cff +1 -1
  2. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/PKG-INFO +16 -9
  3. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/README.md +15 -8
  4. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/SECURITY.md +1 -3
  5. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/cashflows.md +164 -1
  6. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/experimental.md +77 -0
  7. pyquantlib-0.4.0/docs/api/indexes.md +398 -0
  8. pyquantlib-0.4.0/docs/api/instruments.md +1037 -0
  9. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/pricingengines.md +195 -0
  10. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/termstructures.md +168 -1
  11. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/changelog.md +105 -1
  12. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/installation.md +11 -7
  13. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/internals.md +24 -0
  14. pyquantlib-0.4.0/examples/inflation_derivatives.ipynb +824 -0
  15. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/pyquantlib.h +95 -0
  16. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/trampolines.h +91 -0
  17. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/__init__.py +1 -0
  18. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/__init__.pyi +123 -2
  19. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/_pyquantlib/__init__.pyi +3369 -833
  20. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/_pyquantlib/base.pyi +476 -82
  21. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/builders.py +52 -0
  22. pyquantlib-0.4.0/pyquantlib/version.py +1 -0
  23. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/version.pyi +1 -1
  24. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/all.cpp +17 -0
  25. pyquantlib-0.4.0/src/cashflows/capflooredinflationcoupon.cpp +87 -0
  26. pyquantlib-0.4.0/src/cashflows/dividend.cpp +71 -0
  27. pyquantlib-0.4.0/src/cashflows/inflationcoupon.cpp +56 -0
  28. pyquantlib-0.4.0/src/cashflows/inflationcouponpricer.cpp +121 -0
  29. pyquantlib-0.4.0/src/cashflows/yoyinflationcoupon.cpp +162 -0
  30. pyquantlib-0.4.0/src/cashflows/zeroinflationcashflow.cpp +60 -0
  31. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/all.cpp +2 -0
  32. pyquantlib-0.4.0/src/core/forward.cpp +72 -0
  33. pyquantlib-0.4.0/src/experimental/all.cpp +39 -0
  34. pyquantlib-0.4.0/src/experimental/callablebonds/blackcallablebondengine.cpp +80 -0
  35. pyquantlib-0.4.0/src/experimental/callablebonds/callablebond.cpp +133 -0
  36. pyquantlib-0.4.0/src/experimental/callablebonds/callablebondconstantvol.cpp +75 -0
  37. pyquantlib-0.4.0/src/experimental/callablebonds/callablebondvolstructure.cpp +66 -0
  38. pyquantlib-0.4.0/src/experimental/callablebonds/treecallablebondengine.cpp +88 -0
  39. pyquantlib-0.4.0/src/experimental/credit/blackcdsoptionengine.cpp +58 -0
  40. pyquantlib-0.4.0/src/experimental/credit/cdsoption.cpp +78 -0
  41. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/all.cpp +16 -0
  42. pyquantlib-0.4.0/src/indexes/equityindex.cpp +86 -0
  43. pyquantlib-0.4.0/src/indexes/inflation/aucpi.cpp +70 -0
  44. pyquantlib-0.4.0/src/indexes/inflation/euhicp.cpp +82 -0
  45. pyquantlib-0.4.0/src/indexes/inflation/frhicp.cpp +52 -0
  46. pyquantlib-0.4.0/src/indexes/inflation/ukrpi.cpp +52 -0
  47. pyquantlib-0.4.0/src/indexes/inflation/uscpi.cpp +52 -0
  48. pyquantlib-0.4.0/src/indexes/inflation/zacpi.cpp +52 -0
  49. pyquantlib-0.4.0/src/indexes/inflationindex.cpp +193 -0
  50. pyquantlib-0.4.0/src/indexes/region.cpp +68 -0
  51. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/all.cpp +57 -0
  52. pyquantlib-0.4.0/src/instruments/bondforward.cpp +77 -0
  53. pyquantlib-0.4.0/src/instruments/bonds/amortizingfixedratebond.cpp +79 -0
  54. pyquantlib-0.4.0/src/instruments/bonds/amortizingfloatingratebond.cpp +84 -0
  55. pyquantlib-0.4.0/src/instruments/bonds/cmsratebond.cpp +67 -0
  56. pyquantlib-0.4.0/src/instruments/bonds/convertiblebonds.cpp +158 -0
  57. pyquantlib-0.4.0/src/instruments/bonds/cpibond.cpp +89 -0
  58. pyquantlib-0.4.0/src/instruments/callabilityschedule.cpp +45 -0
  59. pyquantlib-0.4.0/src/instruments/cliquetoption.cpp +35 -0
  60. pyquantlib-0.4.0/src/instruments/complexchooseroption.cpp +35 -0
  61. pyquantlib-0.4.0/src/instruments/compoundoption.cpp +36 -0
  62. pyquantlib-0.4.0/src/instruments/equitytotalreturnswap.cpp +122 -0
  63. pyquantlib-0.4.0/src/instruments/floatfloatswap.cpp +201 -0
  64. pyquantlib-0.4.0/src/instruments/floatfloatswaption.cpp +47 -0
  65. pyquantlib-0.4.0/src/instruments/forwardvanillaoption.cpp +35 -0
  66. pyquantlib-0.4.0/src/instruments/inflationcapfloor.cpp +119 -0
  67. pyquantlib-0.4.0/src/instruments/lookbackoption.cpp +80 -0
  68. pyquantlib-0.4.0/src/instruments/makeyoyinflationcapfloor.cpp +116 -0
  69. pyquantlib-0.4.0/src/instruments/margrabeoption.cpp +39 -0
  70. pyquantlib-0.4.0/src/instruments/nonstandardswap.cpp +159 -0
  71. pyquantlib-0.4.0/src/instruments/nonstandardswaption.cpp +52 -0
  72. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/payoffs.cpp +7 -0
  73. pyquantlib-0.4.0/src/instruments/quantovanillaoption.cpp +38 -0
  74. pyquantlib-0.4.0/src/instruments/simplechooseroption.cpp +31 -0
  75. pyquantlib-0.4.0/src/instruments/varianceswap.cpp +44 -0
  76. pyquantlib-0.4.0/src/instruments/yearonyearinflationswap.cpp +107 -0
  77. pyquantlib-0.4.0/src/instruments/zerocouponinflationswap.cpp +117 -0
  78. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/all.cpp +41 -0
  79. pyquantlib-0.4.0/src/pricingengines/bond/binomialconvertibleengine.cpp +139 -0
  80. pyquantlib-0.4.0/src/pricingengines/cliquet/analyticcliquetengine.cpp +30 -0
  81. pyquantlib-0.4.0/src/pricingengines/exotic/analyticamericanmargrabeengine.cpp +34 -0
  82. pyquantlib-0.4.0/src/pricingengines/exotic/analyticcomplexchooserengine.cpp +30 -0
  83. pyquantlib-0.4.0/src/pricingengines/exotic/analyticcompoundoptionengine.cpp +30 -0
  84. pyquantlib-0.4.0/src/pricingengines/exotic/analyticeuropeanmargrabeengine.cpp +34 -0
  85. pyquantlib-0.4.0/src/pricingengines/exotic/analyticsimplechooserengine.cpp +30 -0
  86. pyquantlib-0.4.0/src/pricingengines/forward/forwardengine.cpp +44 -0
  87. pyquantlib-0.4.0/src/pricingengines/forward/replicatingvarianceswapengine.cpp +35 -0
  88. pyquantlib-0.4.0/src/pricingengines/inflation/inflationcapfloorengines.cpp +125 -0
  89. pyquantlib-0.4.0/src/pricingengines/lookback/analyticcontinuousfixedlookback.cpp +30 -0
  90. pyquantlib-0.4.0/src/pricingengines/lookback/analyticcontinuousfloatinglookback.cpp +30 -0
  91. pyquantlib-0.4.0/src/pricingengines/lookback/analyticcontinuouspartialfixedlookback.cpp +30 -0
  92. pyquantlib-0.4.0/src/pricingengines/lookback/analyticcontinuouspartialfloatinglookback.cpp +30 -0
  93. pyquantlib-0.4.0/src/pricingengines/quanto/quantoengine.cpp +60 -0
  94. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/all.cpp +37 -0
  95. pyquantlib-0.4.0/src/termstructures/inflation/inflationhelper.cpp +77 -0
  96. pyquantlib-0.4.0/src/termstructures/inflation/inflationhelpers.cpp +183 -0
  97. pyquantlib-0.4.0/src/termstructures/inflation/interpolatedyoyinflationcurve.cpp +62 -0
  98. pyquantlib-0.4.0/src/termstructures/inflation/interpolatedzeroinflationcurve.cpp +62 -0
  99. pyquantlib-0.4.0/src/termstructures/inflation/piecewiseyoyinflationcurve.cpp +68 -0
  100. pyquantlib-0.4.0/src/termstructures/inflation/piecewisezeroinflationcurve.cpp +66 -0
  101. pyquantlib-0.4.0/src/termstructures/inflation/seasonality.cpp +82 -0
  102. pyquantlib-0.4.0/src/termstructures/inflationtermstructure.cpp +102 -0
  103. pyquantlib-0.4.0/src/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp +148 -0
  104. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_cashflows.py +617 -4
  105. pyquantlib-0.4.0/tests/test_experimental_callablebonds.py +403 -0
  106. pyquantlib-0.4.0/tests/test_experimental_credit.py +148 -0
  107. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_experimental_volatility.py +2 -2
  108. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_extensions.py +0 -1
  109. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_indexes.py +390 -1
  110. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_instruments.py +1508 -22
  111. pyquantlib-0.4.0/tests/test_instruments_bonds.py +958 -0
  112. pyquantlib-0.4.0/tests/test_pricingengines.py +296 -0
  113. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_bond.py +97 -7
  114. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_capfloor.py +1 -1
  115. pyquantlib-0.4.0/tests/test_pricingengines_cliquet.py +59 -0
  116. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_credit.py +2 -2
  117. pyquantlib-0.4.0/tests/test_pricingengines_exotic.py +160 -0
  118. pyquantlib-0.4.0/tests/test_pricingengines_forward.py +74 -0
  119. pyquantlib-0.4.0/tests/test_pricingengines_lookback.py +140 -0
  120. pyquantlib-0.4.0/tests/test_pricingengines_quanto.py +104 -0
  121. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_swaption.py +6 -6
  122. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_vanilla.py +1 -1
  123. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_termstructures.py +72 -0
  124. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_termstructures_credit.py +1 -1
  125. pyquantlib-0.4.0/tests/test_termstructures_inflation.py +887 -0
  126. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_termstructures_volatility.py +28 -30
  127. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_time.py +3 -3
  128. pyquantlib-0.2.0/docs/api/indexes.md +0 -218
  129. pyquantlib-0.2.0/docs/api/instruments.md +0 -530
  130. pyquantlib-0.2.0/pyquantlib/version.py +0 -1
  131. pyquantlib-0.2.0/src/experimental/all.cpp +0 -21
  132. pyquantlib-0.2.0/tests/test_instruments_bonds.py +0 -329
  133. pyquantlib-0.2.0/tests/test_pricingengines.py +0 -100
  134. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.gitattributes +0 -0
  135. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  136. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  137. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  138. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/ISSUE_TEMPLATE/infrastructure.md +0 -0
  139. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/scripts/build-quantlib-windows.ps1 +0 -0
  140. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/workflows/linux.yml +0 -0
  141. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/workflows/macos.yml +0 -0
  142. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/workflows/wheels.yml +0 -0
  143. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.github/workflows/windows.yml +0 -0
  144. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.gitignore +0 -0
  145. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/.readthedocs.yaml +0 -0
  146. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/CMakeLists.txt +0 -0
  147. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/CMakePresets.json +0 -0
  148. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/CONTRIBUTING.md +0 -0
  149. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/LICENSE +0 -0
  150. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/_static/custom.css +0 -0
  151. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/_static/favicon.svg +0 -0
  152. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/_static/logo.svg +0 -0
  153. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/core.md +0 -0
  154. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/currencies.md +0 -0
  155. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/extensions.md +0 -0
  156. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/index.md +0 -0
  157. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/math.md +0 -0
  158. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/models.md +0 -0
  159. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/processes.md +0 -0
  160. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/quotes.md +0 -0
  161. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/api/time.md +0 -0
  162. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/architecture.md +0 -0
  163. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/building.md +0 -0
  164. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/conf.py +0 -0
  165. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/contributing.md +0 -0
  166. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/api-design.md +0 -0
  167. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/bridge-defaults.md +0 -0
  168. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/builder-pattern.md +0 -0
  169. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/cross-tu-holders.md +0 -0
  170. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/diamond-inheritance.md +0 -0
  171. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/enum-singletons.md +0 -0
  172. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/hidden-handles.md +0 -0
  173. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/index.md +0 -0
  174. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/interpolation.md +0 -0
  175. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/protected-members.md +0 -0
  176. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/python-subclassing.md +0 -0
  177. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/design/settings-singleton.md +0 -0
  178. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/examples/index.md +0 -0
  179. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/extending.md +0 -0
  180. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/handles.md +0 -0
  181. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/index.md +0 -0
  182. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/numpy.md +0 -0
  183. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/quickstart.md +0 -0
  184. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/requirements.txt +0 -0
  185. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/docs/troubleshooting.md +0 -0
  186. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/README.md +0 -0
  187. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/bermudan_swaption.ipynb +0 -0
  188. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/bonds.ipynb +0 -0
  189. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/cds.ipynb +0 -0
  190. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/equity_option.ipynb +0 -0
  191. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/hello_pyquantlib.ipynb +0 -0
  192. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/modified_kirk_engine.ipynb +0 -0
  193. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/multicurve_bootstrapping.ipynb +0 -0
  194. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/numpy_interoperability.ipynb +0 -0
  195. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/replication.ipynb +0 -0
  196. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/examples/svi_smile.ipynb +0 -0
  197. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/extensions.json +0 -0
  198. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/binding_manager.h +0 -0
  199. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/interpolation_helper.h +0 -0
  200. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/null_utils.h +0 -0
  201. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/shared_ptr_from_python.h +0 -0
  202. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/include/pyquantlib/version.h +0 -0
  203. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/licenseheader.txt +0 -0
  204. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyproject.toml +0 -0
  205. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/extensions/__init__.py +0 -0
  206. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/extensions/modified_kirk_engine.py +0 -0
  207. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/extensions/svi_smile_section.py +0 -0
  208. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/pyquantlib/py.typed +0 -0
  209. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/requirements-dev.txt +0 -0
  210. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/scripts/README.md +0 -0
  211. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/scripts/build_docs.py +0 -0
  212. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/scripts/clean.py +0 -0
  213. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/scripts/rebuild.py +0 -0
  214. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/scripts/stubgen.py +0 -0
  215. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/scripts/test.py +0 -0
  216. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/settings.json +0 -0
  217. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/cmscoupon.cpp +0 -0
  218. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/coupon.cpp +0 -0
  219. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/couponpricer.cpp +0 -0
  220. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/duration.cpp +0 -0
  221. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/fixedratecoupon.cpp +0 -0
  222. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/floatingratecoupon.cpp +0 -0
  223. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/iborcoupon.cpp +0 -0
  224. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/lineartsrpricer.cpp +0 -0
  225. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/overnightindexedcoupon.cpp +0 -0
  226. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/rateaveraging.cpp +0 -0
  227. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/cashflows/simplecashflow.cpp +0 -0
  228. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/cashflow.cpp +0 -0
  229. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/cdspricingmodel.cpp +0 -0
  230. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/compounding.cpp +0 -0
  231. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/constants.cpp +0 -0
  232. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/currency.cpp +0 -0
  233. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/default.cpp +0 -0
  234. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/exchangerate.cpp +0 -0
  235. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/exercise.cpp +0 -0
  236. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/index.cpp +0 -0
  237. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/instrument.cpp +0 -0
  238. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/interestrate.cpp +0 -0
  239. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/money.cpp +0 -0
  240. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/option.cpp +0 -0
  241. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/payoff.cpp +0 -0
  242. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/pricingengine.cpp +0 -0
  243. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/quote.cpp +0 -0
  244. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/settings.cpp +0 -0
  245. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/stochasticprocess.cpp +0 -0
  246. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/termstructure.cpp +0 -0
  247. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/core/timegrid.cpp +0 -0
  248. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/currencies/all.cpp +0 -0
  249. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/currencies/currencies.cpp +0 -0
  250. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/currencies/exchangeratemanager.cpp +0 -0
  251. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/experimental/volatility/svismilesection.cpp +0 -0
  252. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/ibor/eonia.cpp +0 -0
  253. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/ibor/estr.cpp +0 -0
  254. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/ibor/euribor.cpp +0 -0
  255. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/ibor/sofr.cpp +0 -0
  256. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/ibor/sonia.cpp +0 -0
  257. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/iborindex.cpp +0 -0
  258. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/interestrateindex.cpp +0 -0
  259. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/swap/swapindexes.cpp +0 -0
  260. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/indexes/swapindex.cpp +0 -0
  261. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/asianoption.cpp +0 -0
  262. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/assetswap.cpp +0 -0
  263. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/averagetype.cpp +0 -0
  264. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/barrieroption.cpp +0 -0
  265. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/barriertype.cpp +0 -0
  266. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/basketoption.cpp +0 -0
  267. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/bond.cpp +0 -0
  268. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/bonds/fixedratebond.cpp +0 -0
  269. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/bonds/floatingratebond.cpp +0 -0
  270. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/bonds/zerocouponbond.cpp +0 -0
  271. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/capfloor.cpp +0 -0
  272. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/claim.cpp +0 -0
  273. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/compositeinstrument.cpp +0 -0
  274. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/creditdefaultswap.cpp +0 -0
  275. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/doublebarrieroption.cpp +0 -0
  276. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/doublebarriertype.cpp +0 -0
  277. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/fixedvsfloatingswap.cpp +0 -0
  278. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/forwardrateagreement.cpp +0 -0
  279. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/makecapfloor.cpp +0 -0
  280. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/makeois.cpp +0 -0
  281. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/makeswaption.cpp +0 -0
  282. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/makevanillaswap.cpp +0 -0
  283. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/multiassetoption.cpp +0 -0
  284. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/oneassetoption.cpp +0 -0
  285. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/overnightindexedswap.cpp +0 -0
  286. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/swap.cpp +0 -0
  287. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/swaption.cpp +0 -0
  288. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/vanillaoption.cpp +0 -0
  289. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/vanillaswap.cpp +0 -0
  290. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/instruments/zerocouponswap.cpp +0 -0
  291. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/main.cpp +0 -0
  292. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/all.cpp +0 -0
  293. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/array.cpp +0 -0
  294. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/distributions/bivariatenormaldistribution.cpp +0 -0
  295. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/distributions/normaldistribution.cpp +0 -0
  296. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/interpolations/backwardflatinterpolation.cpp +0 -0
  297. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/interpolations/cubicinterpolation.cpp +0 -0
  298. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/interpolations/extrapolation.cpp +0 -0
  299. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/interpolations/interpolation.cpp +0 -0
  300. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/interpolations/linearinterpolation.cpp +0 -0
  301. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/interpolations/loglinearinterpolation.cpp +0 -0
  302. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/matrix.cpp +0 -0
  303. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/optimization/constraint.cpp +0 -0
  304. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/optimization/costfunction.cpp +0 -0
  305. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/optimization/endcriteria.cpp +0 -0
  306. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/optimization/levenbergmarquardt.cpp +0 -0
  307. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/optimization/method.cpp +0 -0
  308. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/optimization/problem.cpp +0 -0
  309. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/rounding.cpp +0 -0
  310. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/math/solvers1d/solvers1d.cpp +0 -0
  311. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/methods/all.cpp +0 -0
  312. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/methods/finitedifferences/solvers/fdmbackwardsolver.cpp +0 -0
  313. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/all.cpp +0 -0
  314. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/calibrationhelper.cpp +0 -0
  315. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/equity/batesmodel.cpp +0 -0
  316. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/equity/hestonmodel.cpp +0 -0
  317. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/model.cpp +0 -0
  318. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/parameter.cpp +0 -0
  319. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/piecewisetimedependenthestonmodel.cpp +0 -0
  320. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/calibrationhelpers/swaptionhelper.cpp +0 -0
  321. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/onefactormodel.cpp +0 -0
  322. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/onefactormodels/blackkarasinski.cpp +0 -0
  323. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/onefactormodels/hullwhite.cpp +0 -0
  324. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/onefactormodels/vasicek.cpp +0 -0
  325. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/twofactormodel.cpp +0 -0
  326. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/models/shortrate/twofactormodels/g2.cpp +0 -0
  327. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/patterns/all.cpp +0 -0
  328. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/patterns/lazyobject.cpp +0 -0
  329. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/patterns/observable.cpp +0 -0
  330. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/asian/analytic_cont_geom_av_price.cpp +0 -0
  331. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/asian/analytic_discr_geom_av_price.cpp +0 -0
  332. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/asian/mc_discr_arith_av_price.cpp +0 -0
  333. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/asian/turnbullwakemanasianengine.cpp +0 -0
  334. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/barrier/analyticbarrierengine.cpp +0 -0
  335. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/barrier/analyticdoublebarrierengine.cpp +0 -0
  336. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/barrier/fdblackscholesbarrierengine.cpp +0 -0
  337. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/bjerksundstenslandspreadengine.cpp +0 -0
  338. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/denglizhoubasketengine.cpp +0 -0
  339. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/fd2dblackscholesvanillaengine.cpp +0 -0
  340. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/kirkengine.cpp +0 -0
  341. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/mceuropeanbasketengine.cpp +0 -0
  342. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/operatorsplittingspreadengine.cpp +0 -0
  343. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/spreadblackscholesvanillaengine.cpp +0 -0
  344. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/basket/stulzengine.cpp +0 -0
  345. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/blackformula.cpp +0 -0
  346. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/bond/bondfunctions.cpp +0 -0
  347. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/bond/discountingbondengine.cpp +0 -0
  348. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/capfloor/bacheliercapfloorengine.cpp +0 -0
  349. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/capfloor/blackcapfloorengine.cpp +0 -0
  350. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/credit/isdacdsengine.cpp +0 -0
  351. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/credit/midpointcdsengine.cpp +0 -0
  352. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/genericmodelengine.cpp +0 -0
  353. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swap/discountingswapengine.cpp +0 -0
  354. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swaption/blackswaptionengine.cpp +0 -0
  355. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swaption/fdg2swaptionengine.cpp +0 -0
  356. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swaption/fdhullwhiteswaptionengine.cpp +0 -0
  357. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swaption/g2swaptionengine.cpp +0 -0
  358. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swaption/jamshidianswaptionengine.cpp +0 -0
  359. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/swaption/treeswaptionengine.cpp +0 -0
  360. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/analyticeuropeanengine.cpp +0 -0
  361. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp +0 -0
  362. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/analytichestonengine.cpp +0 -0
  363. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/baroneadesiwhaleyengine.cpp +0 -0
  364. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/batesengine.cpp +0 -0
  365. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/binomialengine.cpp +0 -0
  366. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/bjerksundstenslandengine.cpp +0 -0
  367. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/fdblackscholesvanillaengine.cpp +0 -0
  368. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/integralengine.cpp +0 -0
  369. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/mcamericanengine.cpp +0 -0
  370. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/mceuropeanengine.cpp +0 -0
  371. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/pricingengines/vanilla/qdfpamericanengine.cpp +0 -0
  372. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/processes/all.cpp +0 -0
  373. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/processes/batesprocess.cpp +0 -0
  374. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/processes/blackscholesprocess.cpp +0 -0
  375. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/processes/eulerdiscretization.cpp +0 -0
  376. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/processes/hestonprocess.cpp +0 -0
  377. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/processes/stochasticprocessarray.cpp +0 -0
  378. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/quotes/all.cpp +0 -0
  379. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/quotes/compositequote.cpp +0 -0
  380. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/quotes/derivedquote.cpp +0 -0
  381. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/quotes/simplequote.cpp +0 -0
  382. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/submodules.cpp +0 -0
  383. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/credit/defaultprobabilityhelpers.cpp +0 -0
  384. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/credit/flathazardrate.cpp +0 -0
  385. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/credit/piecewisedefaultcurve.cpp +0 -0
  386. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/defaulttermstructure.cpp +0 -0
  387. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/capfloor/capfloortermvolatilitystructure.cpp +0 -0
  388. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/capfloor/capfloortermvolsurface.cpp +0 -0
  389. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/blackconstantvol.cpp +0 -0
  390. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/blackvariancesurface.cpp +0 -0
  391. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/blackvoltermstructure.cpp +0 -0
  392. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp +0 -0
  393. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/localconstantvol.cpp +0 -0
  394. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/localvolsurface.cpp +0 -0
  395. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/localvoltermstructure.cpp +0 -0
  396. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/equityfx/noexceptlocalvolsurface.cpp +0 -0
  397. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/optionlet/constantoptionletvol.cpp +0 -0
  398. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/optionlet/optionletstripper.cpp +0 -0
  399. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/optionlet/optionletstripper1.cpp +0 -0
  400. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp +0 -0
  401. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/optionlet/strippedoptionletadapter.cpp +0 -0
  402. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/optionlet/strippedoptionletbase.cpp +0 -0
  403. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/sabrinterpolatedsmilesection.cpp +0 -0
  404. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/sabrsmilesection.cpp +0 -0
  405. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/smilesection.cpp +0 -0
  406. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/swaption/sabrswaptionvolcube.cpp +0 -0
  407. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/swaption/swaptionconstantvol.cpp +0 -0
  408. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/swaption/swaptionvolcube.cpp +0 -0
  409. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/swaption/swaptionvoldiscrete.cpp +0 -0
  410. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/swaption/swaptionvolmatrix.cpp +0 -0
  411. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/swaption/swaptionvolstructure.cpp +0 -0
  412. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/volatility/volatilitytype.cpp +0 -0
  413. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/voltermstructure.cpp +0 -0
  414. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/bondhelpers.cpp +0 -0
  415. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/discountcurve.cpp +0 -0
  416. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/fittedbonddiscountcurve.cpp +0 -0
  417. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/flatforward.cpp +0 -0
  418. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/forwardcurve.cpp +0 -0
  419. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/nonlinearfittingmethods.cpp +0 -0
  420. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/oisratehelper.cpp +0 -0
  421. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/piecewiseyieldcurve.cpp +0 -0
  422. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/ratehelpers.cpp +0 -0
  423. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/zerocurve.cpp +0 -0
  424. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yield/zerospreadedtermstructure.cpp +0 -0
  425. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/termstructures/yieldtermstructure.cpp +0 -0
  426. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/all.cpp +0 -0
  427. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/businessdayconvention.cpp +0 -0
  428. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/calendar.cpp +0 -0
  429. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/calendars/calendars.cpp +0 -0
  430. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/date.cpp +0 -0
  431. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/dategenerationrule.cpp +0 -0
  432. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/daycounter.cpp +0 -0
  433. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/daycounters/daycounters.cpp +0 -0
  434. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/frequency.cpp +0 -0
  435. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/period.cpp +0 -0
  436. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/schedule.cpp +0 -0
  437. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/timeunit.cpp +0 -0
  438. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/time/weekday.cpp +0 -0
  439. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/utilities/all.cpp +0 -0
  440. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/utilities/null.cpp +0 -0
  441. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/src/utilities/observablevalue.cpp +0 -0
  442. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/conftest.py +0 -0
  443. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_core.py +0 -0
  444. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_currencies.py +0 -0
  445. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_math.py +0 -0
  446. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_math_distributions.py +0 -0
  447. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_math_solvers1d.py +0 -0
  448. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_methods.py +0 -0
  449. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_models.py +0 -0
  450. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_models_shortrate.py +0 -0
  451. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_asian.py +0 -0
  452. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_barrier.py +0 -0
  453. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_pricingengines_basket.py +0 -0
  454. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_processes.py +0 -0
  455. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_quotes.py +0 -0
  456. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_termstructures_yield.py +0 -0
  457. {pyquantlib-0.2.0 → pyquantlib-0.4.0}/tests/test_utilities.py +0 -0
@@ -10,7 +10,7 @@ url: https://pyquantlib.readthedocs.io
10
10
  license: BSD-3-Clause
11
11
  identifiers:
12
12
  - type: doi
13
- value: 10.5281/zenodo.18563010
13
+ value: 10.5281/zenodo.18529027
14
14
  description: Zenodo concept DOI (all versions)
15
15
  keywords:
16
16
  - quantitative finance
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pyquantlib
3
- Version: 0.2.0
3
+ Version: 0.4.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>
@@ -89,7 +89,7 @@ Description-Content-Type: text/markdown
89
89
  [![Windows](https://github.com/quantales/pyquantlib/actions/workflows/windows.yml/badge.svg)](https://github.com/quantales/pyquantlib/actions/workflows/windows.yml)
90
90
  [![codecov](https://codecov.io/github/quantales/pyquantlib/graph/badge.svg?token=Q1HNBAK7S1)](https://codecov.io/github/quantales/pyquantlib)
91
91
  [![PyPI](https://img.shields.io/pypi/v/pyquantlib.svg)](https://pypi.org/project/pyquantlib/)
92
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18563010.svg)](https://doi.org/10.5281/zenodo.18563010)
92
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18529027.svg)](https://doi.org/10.5281/zenodo.18529027)
93
93
  [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://github.com/quantales/pyquantlib/blob/main/LICENSE)
94
94
  [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
95
95
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/quantales/pyquantlib/blob/main/CONTRIBUTING.md)
@@ -110,7 +110,17 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
110
110
 
111
111
  ## Installation
112
112
 
113
- ### Prerequisites
113
+ ```bash
114
+ pip install pyquantlib
115
+ ```
116
+
117
+ 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.
118
+
119
+ ### From Source
120
+
121
+ Building from source requires QuantLib built with specific CMake flags. See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions.
122
+
123
+ #### Prerequisites
114
124
 
115
125
  - Python 3.10+
116
126
  - CMake 3.18+
@@ -118,7 +128,7 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
118
128
  - Boost headers
119
129
  - **QuantLib 1.40+** built with `std::shared_ptr` support (see below)
120
130
 
121
- ### QuantLib Build Requirement
131
+ #### QuantLib Build Requirement
122
132
 
123
133
  > **Important**: PyQuantLib requires QuantLib built from source with specific settings.
124
134
 
@@ -140,12 +150,9 @@ cmake -DBUILD_SHARED_LIBS=OFF \
140
150
  | `QL_USE_STD_SHARED_PTR=ON` | pybind11 uses `std::shared_ptr` as default holder |
141
151
  | `CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL` | **Windows only**: Python extensions require dynamic runtime (`/MD`) |
142
152
 
143
- **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.
144
-
145
- ### From Source
153
+ **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.
146
154
 
147
155
  ```bash
148
- # After building QuantLib with required flags (see CONTRIBUTING.md)
149
156
  pip install git+https://github.com/quantales/pyquantlib.git
150
157
  ```
151
158
 
@@ -225,7 +232,7 @@ pytest
225
232
 
226
233
  ## Documentation
227
234
 
228
- Full documentation is available at [pyquantlib.readthedocs.io](https://pyquantlib.readthedocs.io/).
235
+ 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).
229
236
 
230
237
  ## Examples
231
238
 
@@ -6,7 +6,7 @@
6
6
  [![Windows](https://github.com/quantales/pyquantlib/actions/workflows/windows.yml/badge.svg)](https://github.com/quantales/pyquantlib/actions/workflows/windows.yml)
7
7
  [![codecov](https://codecov.io/github/quantales/pyquantlib/graph/badge.svg?token=Q1HNBAK7S1)](https://codecov.io/github/quantales/pyquantlib)
8
8
  [![PyPI](https://img.shields.io/pypi/v/pyquantlib.svg)](https://pypi.org/project/pyquantlib/)
9
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18563010.svg)](https://doi.org/10.5281/zenodo.18563010)
9
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18529027.svg)](https://doi.org/10.5281/zenodo.18529027)
10
10
  [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://github.com/quantales/pyquantlib/blob/main/LICENSE)
11
11
  [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
12
12
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/quantales/pyquantlib/blob/main/CONTRIBUTING.md)
@@ -27,7 +27,17 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
27
27
 
28
28
  ## Installation
29
29
 
30
- ### Prerequisites
30
+ ```bash
31
+ pip install pyquantlib
32
+ ```
33
+
34
+ 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.
35
+
36
+ ### From Source
37
+
38
+ Building from source requires QuantLib built with specific CMake flags. See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions.
39
+
40
+ #### Prerequisites
31
41
 
32
42
  - Python 3.10+
33
43
  - CMake 3.18+
@@ -35,7 +45,7 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
35
45
  - Boost headers
36
46
  - **QuantLib 1.40+** built with `std::shared_ptr` support (see below)
37
47
 
38
- ### QuantLib Build Requirement
48
+ #### QuantLib Build Requirement
39
49
 
40
50
  > **Important**: PyQuantLib requires QuantLib built from source with specific settings.
41
51
 
@@ -57,12 +67,9 @@ cmake -DBUILD_SHARED_LIBS=OFF \
57
67
  | `QL_USE_STD_SHARED_PTR=ON` | pybind11 uses `std::shared_ptr` as default holder |
58
68
  | `CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL` | **Windows only**: Python extensions require dynamic runtime (`/MD`) |
59
69
 
60
- **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.
61
-
62
- ### From Source
70
+ **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.
63
71
 
64
72
  ```bash
65
- # After building QuantLib with required flags (see CONTRIBUTING.md)
66
73
  pip install git+https://github.com/quantales/pyquantlib.git
67
74
  ```
68
75
 
@@ -142,7 +149,7 @@ pytest
142
149
 
143
150
  ## Documentation
144
151
 
145
- Full documentation is available at [pyquantlib.readthedocs.io](https://pyquantlib.readthedocs.io/).
152
+ 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).
146
153
 
147
154
  ## Examples
148
155
 
@@ -16,9 +16,7 @@ A response will be provided as soon as possible.
16
16
 
17
17
  ## Supported Versions
18
18
 
19
- | Version | Supported |
20
- | ------- | ------------------ |
21
- | 0.1.x | :white_check_mark: |
19
+ Only the latest release is supported with security fixes. Upgrade to the newest version available on [PyPI](https://pypi.org/project/pyquantlib/).
22
20
 
23
21
  ## Security Considerations
24
22
 
@@ -156,6 +156,8 @@ ql.setCouponPricer(cms_leg, pricer)
156
156
  .. autofunction:: pyquantlib.setCouponPricer
157
157
  ```
158
158
 
159
+ Also accepts inflation coupon pricers for legs containing `YoYInflationCoupon` cashflows.
160
+
159
161
  ## Leg Builders
160
162
 
161
163
  ### FixedRateLeg
@@ -230,6 +232,167 @@ settings.createAtParCoupons() # default
230
232
  settings.createIndexedCoupons() # alternative
231
233
  ```
232
234
 
235
+ ## Inflation Coupons
236
+
237
+ ### InflationCoupon
238
+
239
+ ```{eval-rst}
240
+ .. autoclass:: pyquantlib.base.InflationCoupon
241
+ :members:
242
+ :undoc-members:
243
+ ```
244
+
245
+ Abstract base class for coupons linked to an inflation index.
246
+
247
+ ### ZeroInflationCashFlow
248
+
249
+ ```{eval-rst}
250
+ .. autoclass:: pyquantlib.ZeroInflationCashFlow
251
+ :members:
252
+ :undoc-members:
253
+ ```
254
+
255
+ Cash flow paying the zero-inflation rate between two dates.
256
+
257
+ ### YoYInflationCoupon
258
+
259
+ ```{eval-rst}
260
+ .. autoclass:: pyquantlib.YoYInflationCoupon
261
+ :members:
262
+ :undoc-members:
263
+ ```
264
+
265
+ Coupon paying the year-on-year inflation rate.
266
+
267
+ ### CappedFlooredYoYInflationCoupon
268
+
269
+ ```{eval-rst}
270
+ .. autoclass:: pyquantlib.CappedFlooredYoYInflationCoupon
271
+ :members:
272
+ :undoc-members:
273
+ ```
274
+
275
+ Year-on-year inflation coupon with cap and/or floor.
276
+
277
+ ### yoyInflationLeg
278
+
279
+ ```{eval-rst}
280
+ .. autoclass:: pyquantlib.yoyInflationLeg
281
+ :members:
282
+ :undoc-members:
283
+ ```
284
+
285
+ Builder class for constructing a leg of year-on-year inflation coupons.
286
+
287
+ ```python
288
+ leg = ql.yoyInflationLeg(schedule, calendar, yoy_index, observation_lag) \
289
+ .withNotionals(1_000_000.0) \
290
+ .withPaymentDayCounter(ql.Actual365Fixed()) \
291
+ .build()
292
+ ```
293
+
294
+ ## Inflation Coupon Pricers
295
+
296
+ ### InflationCouponPricer
297
+
298
+ ```{eval-rst}
299
+ .. autoclass:: pyquantlib.base.InflationCouponPricer
300
+ :members:
301
+ :undoc-members:
302
+ ```
303
+
304
+ Abstract base class for inflation coupon pricers.
305
+
306
+ ### YoYInflationCouponPricer
307
+
308
+ ```{eval-rst}
309
+ .. autoclass:: pyquantlib.YoYInflationCouponPricer
310
+ :members:
311
+ :undoc-members:
312
+ ```
313
+
314
+ Base pricer for year-on-year inflation coupons.
315
+
316
+ ### BlackYoYInflationCouponPricer
317
+
318
+ ```{eval-rst}
319
+ .. autoclass:: pyquantlib.BlackYoYInflationCouponPricer
320
+ :members:
321
+ :undoc-members:
322
+ ```
323
+
324
+ Black-formula pricer for YoY inflation coupons (lognormal volatility).
325
+
326
+ ### UnitDisplacedBlackYoYInflationCouponPricer
327
+
328
+ ```{eval-rst}
329
+ .. autoclass:: pyquantlib.UnitDisplacedBlackYoYInflationCouponPricer
330
+ :members:
331
+ :undoc-members:
332
+ ```
333
+
334
+ Unit-displaced Black-formula pricer for YoY inflation coupons.
335
+
336
+ ### BachelierYoYInflationCouponPricer
337
+
338
+ ```{eval-rst}
339
+ .. autoclass:: pyquantlib.BachelierYoYInflationCouponPricer
340
+ :members:
341
+ :undoc-members:
342
+ ```
343
+
344
+ Bachelier (normal volatility) pricer for YoY inflation coupons.
345
+
346
+ ```python
347
+ pricer = ql.BlackYoYInflationCouponPricer(yoy_vol_handle)
348
+ ql.setCouponPricer(yoy_leg, pricer)
349
+ ```
350
+
351
+ ## Dividends
352
+
353
+ ### FixedDividend
354
+
355
+ ```{eval-rst}
356
+ .. autoclass:: pyquantlib.FixedDividend
357
+ ```
358
+
359
+ Fixed cash dividend.
360
+
361
+ ```python
362
+ div = ql.FixedDividend(2.50, ql.Date(15, 6, 2026))
363
+ print(div.amount()) # 2.5
364
+ print(div.date()) # June 15th, 2026
365
+ ```
366
+
367
+ ### FractionalDividend
368
+
369
+ ```{eval-rst}
370
+ .. autoclass:: pyquantlib.FractionalDividend
371
+ ```
372
+
373
+ Fractional (proportional) dividend: amount = rate * nominal.
374
+
375
+ ```python
376
+ div = ql.FractionalDividend(0.03, 100.0, ql.Date(15, 6, 2026))
377
+ print(div.rate()) # 0.03
378
+ print(div.nominal()) # 100.0
379
+ ```
380
+
381
+ ### DividendVector
382
+
383
+ ```{eval-rst}
384
+ .. autofunction:: pyquantlib.DividendVector
385
+ ```
386
+
387
+ Builds a sequence of fixed dividends from dates and amounts.
388
+
389
+ ```python
390
+ divs = ql.DividendVector(
391
+ [ql.Date(15, 6, 2026), ql.Date(15, 12, 2026)],
392
+ [2.50, 2.50],
393
+ )
394
+ ```
395
+
233
396
  ## Duration
234
397
 
235
398
  ### DurationType
@@ -245,5 +408,5 @@ settings.createIndexedCoupons() # alternative
245
408
  | `Modified` | Modified duration |
246
409
 
247
410
  ```{note}
248
- Abstract base classes `CashFlow`, `Coupon`, `FloatingRateCouponPricer`, `MeanRevertingPricer`, and `CmsCouponPricer` are available in `pyquantlib.base` for custom implementations.
411
+ Abstract base classes `CashFlow`, `Coupon`, `FloatingRateCouponPricer`, `MeanRevertingPricer`, `CmsCouponPricer`, `InflationCoupon`, and `InflationCouponPricer` are available in `pyquantlib.base` for custom implementations.
249
412
  ```
@@ -47,6 +47,83 @@ print(smile.volatility(110.0)) # OTM call vol
47
47
  call_price = smile.optionPrice(110.0, ql.OptionType.Call)
48
48
  ```
49
49
 
50
+ ## Callable Bonds
51
+
52
+ ### CallableBondVolatilityStructure
53
+
54
+ ```{eval-rst}
55
+ .. autoclass:: pyquantlib.base.CallableBondVolatilityStructure
56
+ ```
57
+
58
+ Abstract base class for callable-bond volatility term structures.
59
+
60
+ ### CallableBondConstantVolatility
61
+
62
+ ```{eval-rst}
63
+ .. autoclass:: pyquantlib.CallableBondConstantVolatility
64
+ ```
65
+
66
+ ```python
67
+ vol = ql.CallableBondConstantVolatility(today, 0.10, ql.Actual365Fixed())
68
+ # or with a Quote
69
+ vol = ql.CallableBondConstantVolatility(today, ql.SimpleQuote(0.10),
70
+ ql.Actual365Fixed())
71
+ ```
72
+
73
+ ### TreeCallableFixedRateBondEngine
74
+
75
+ ```{eval-rst}
76
+ .. autoclass:: pyquantlib.TreeCallableFixedRateBondEngine
77
+ ```
78
+
79
+ ### TreeCallableZeroCouponBondEngine
80
+
81
+ ```{eval-rst}
82
+ .. autoclass:: pyquantlib.TreeCallableZeroCouponBondEngine
83
+ ```
84
+
85
+ ```python
86
+ hw_model = ql.HullWhite(curve_handle, 0.03, 0.01)
87
+ engine = ql.TreeCallableFixedRateBondEngine(hw_model, 100)
88
+ bond.setPricingEngine(engine)
89
+ print(bond.cleanPrice())
90
+ ```
91
+
92
+ ### BlackCallableFixedRateBondEngine
93
+
94
+ ```{eval-rst}
95
+ .. autoclass:: pyquantlib.BlackCallableFixedRateBondEngine
96
+ ```
97
+
98
+ ### BlackCallableZeroCouponBondEngine
99
+
100
+ ```{eval-rst}
101
+ .. autoclass:: pyquantlib.BlackCallableZeroCouponBondEngine
102
+ ```
103
+
104
+ ```python
105
+ # Black engine requires exactly one call/put date
106
+ vol = ql.CallableBondConstantVolatility(today, 0.10, dc)
107
+ engine = ql.BlackCallableFixedRateBondEngine(vol, discount_curve)
108
+ bond.setPricingEngine(engine)
109
+ print(bond.cleanPrice())
110
+ print(bond.impliedVolatility(target_price, curve, 1e-8, 200, 0.001, 0.50))
111
+ ```
112
+
113
+ ## Credit
114
+
115
+ ### CdsOption
116
+
117
+ ```{eval-rst}
118
+ .. autoclass:: pyquantlib.CdsOption
119
+ ```
120
+
121
+ ### BlackCdsOptionEngine
122
+
123
+ ```{eval-rst}
124
+ .. autoclass:: pyquantlib.BlackCdsOptionEngine
125
+ ```
126
+
50
127
  ### SVI Helper Functions
51
128
 
52
129
  ```{eval-rst}