pyquantlib 0.1.0__tar.gz → 0.3.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 (415) hide show
  1. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/workflows/linux.yml +15 -0
  2. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/workflows/macos.yml +15 -0
  3. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/workflows/windows.yml +15 -0
  4. pyquantlib-0.3.0/CITATION.cff +20 -0
  5. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/PKG-INFO +20 -10
  6. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/README.md +17 -9
  7. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/SECURITY.md +1 -3
  8. pyquantlib-0.3.0/docs/api/cashflows.md +367 -0
  9. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/experimental.md +14 -0
  10. pyquantlib-0.3.0/docs/api/indexes.md +379 -0
  11. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/instruments.md +156 -0
  12. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/pricingengines.md +46 -0
  13. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/termstructures.md +366 -1
  14. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/changelog.md +77 -1
  15. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/index.md +1 -1
  16. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/installation.md +1 -1
  17. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/internals.md +24 -0
  18. pyquantlib-0.3.0/examples/modified_kirk_engine.ipynb +494 -0
  19. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/include/pyquantlib/binding_manager.h +24 -6
  20. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/include/pyquantlib/pyquantlib.h +86 -3
  21. pyquantlib-0.3.0/include/pyquantlib/shared_ptr_from_python.h +49 -0
  22. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/include/pyquantlib/trampolines.h +149 -0
  23. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyproject.toml +3 -0
  24. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/__init__.py +1 -0
  25. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/__init__.pyi +110 -2
  26. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/_pyquantlib/__init__.pyi +3674 -784
  27. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/_pyquantlib/base.pyi +695 -59
  28. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/builders.py +52 -0
  29. pyquantlib-0.3.0/pyquantlib/version.py +1 -0
  30. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/version.pyi +1 -1
  31. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/all.cpp +21 -0
  32. pyquantlib-0.3.0/src/cashflows/capflooredinflationcoupon.cpp +87 -0
  33. pyquantlib-0.3.0/src/cashflows/cmscoupon.cpp +153 -0
  34. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/couponpricer.cpp +29 -0
  35. pyquantlib-0.3.0/src/cashflows/inflationcoupon.cpp +56 -0
  36. pyquantlib-0.3.0/src/cashflows/inflationcouponpricer.cpp +121 -0
  37. pyquantlib-0.3.0/src/cashflows/lineartsrpricer.cpp +137 -0
  38. pyquantlib-0.3.0/src/cashflows/yoyinflationcoupon.cpp +162 -0
  39. pyquantlib-0.3.0/src/cashflows/zeroinflationcashflow.cpp +60 -0
  40. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/experimental/all.cpp +6 -0
  41. pyquantlib-0.3.0/src/experimental/credit/blackcdsoptionengine.cpp +58 -0
  42. pyquantlib-0.3.0/src/experimental/credit/cdsoption.cpp +78 -0
  43. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/all.cpp +15 -0
  44. pyquantlib-0.3.0/src/indexes/inflation/aucpi.cpp +70 -0
  45. pyquantlib-0.3.0/src/indexes/inflation/euhicp.cpp +82 -0
  46. pyquantlib-0.3.0/src/indexes/inflation/frhicp.cpp +52 -0
  47. pyquantlib-0.3.0/src/indexes/inflation/ukrpi.cpp +52 -0
  48. pyquantlib-0.3.0/src/indexes/inflation/uscpi.cpp +52 -0
  49. pyquantlib-0.3.0/src/indexes/inflation/zacpi.cpp +52 -0
  50. pyquantlib-0.3.0/src/indexes/inflationindex.cpp +193 -0
  51. pyquantlib-0.3.0/src/indexes/region.cpp +68 -0
  52. pyquantlib-0.3.0/src/indexes/swap/swapindexes.cpp +105 -0
  53. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/all.cpp +25 -0
  54. pyquantlib-0.3.0/src/instruments/bonds/amortizingfixedratebond.cpp +79 -0
  55. pyquantlib-0.3.0/src/instruments/bonds/amortizingfloatingratebond.cpp +84 -0
  56. pyquantlib-0.3.0/src/instruments/bonds/cmsratebond.cpp +67 -0
  57. pyquantlib-0.3.0/src/instruments/bonds/cpibond.cpp +89 -0
  58. pyquantlib-0.3.0/src/instruments/floatfloatswap.cpp +201 -0
  59. pyquantlib-0.3.0/src/instruments/inflationcapfloor.cpp +119 -0
  60. pyquantlib-0.3.0/src/instruments/makeyoyinflationcapfloor.cpp +116 -0
  61. pyquantlib-0.3.0/src/instruments/nonstandardswap.cpp +159 -0
  62. pyquantlib-0.3.0/src/instruments/varianceswap.cpp +44 -0
  63. pyquantlib-0.3.0/src/instruments/yearonyearinflationswap.cpp +107 -0
  64. pyquantlib-0.3.0/src/instruments/zerocouponinflationswap.cpp +117 -0
  65. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/all.cpp +7 -0
  66. pyquantlib-0.3.0/src/pricingengines/forward/replicatingvarianceswapengine.cpp +35 -0
  67. pyquantlib-0.3.0/src/pricingengines/inflation/inflationcapfloorengines.cpp +125 -0
  68. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/all.cpp +89 -0
  69. pyquantlib-0.3.0/src/termstructures/inflation/inflationhelper.cpp +77 -0
  70. pyquantlib-0.3.0/src/termstructures/inflation/inflationhelpers.cpp +183 -0
  71. pyquantlib-0.3.0/src/termstructures/inflation/interpolatedyoyinflationcurve.cpp +62 -0
  72. pyquantlib-0.3.0/src/termstructures/inflation/interpolatedzeroinflationcurve.cpp +62 -0
  73. pyquantlib-0.3.0/src/termstructures/inflation/piecewiseyoyinflationcurve.cpp +68 -0
  74. pyquantlib-0.3.0/src/termstructures/inflation/piecewisezeroinflationcurve.cpp +66 -0
  75. pyquantlib-0.3.0/src/termstructures/inflation/seasonality.cpp +82 -0
  76. pyquantlib-0.3.0/src/termstructures/inflationtermstructure.cpp +102 -0
  77. pyquantlib-0.3.0/src/termstructures/volatility/capfloor/capfloortermvolatilitystructure.cpp +48 -0
  78. pyquantlib-0.3.0/src/termstructures/volatility/capfloor/capfloortermvolsurface.cpp +66 -0
  79. pyquantlib-0.3.0/src/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp +148 -0
  80. pyquantlib-0.3.0/src/termstructures/volatility/optionlet/constantoptionletvol.cpp +87 -0
  81. pyquantlib-0.3.0/src/termstructures/volatility/optionlet/optionletstripper.cpp +44 -0
  82. pyquantlib-0.3.0/src/termstructures/volatility/optionlet/optionletstripper1.cpp +102 -0
  83. pyquantlib-0.3.0/src/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp +123 -0
  84. pyquantlib-0.3.0/src/termstructures/volatility/optionlet/strippedoptionletadapter.cpp +40 -0
  85. pyquantlib-0.3.0/src/termstructures/volatility/optionlet/strippedoptionletbase.cpp +60 -0
  86. pyquantlib-0.3.0/src/termstructures/volatility/swaption/sabrswaptionvolcube.cpp +101 -0
  87. pyquantlib-0.3.0/src/termstructures/volatility/swaption/swaptionconstantvol.cpp +89 -0
  88. pyquantlib-0.3.0/src/termstructures/volatility/swaption/swaptionvolcube.cpp +53 -0
  89. pyquantlib-0.3.0/src/termstructures/volatility/swaption/swaptionvoldiscrete.cpp +41 -0
  90. pyquantlib-0.3.0/src/termstructures/volatility/swaption/swaptionvolmatrix.cpp +106 -0
  91. pyquantlib-0.3.0/src/termstructures/volatility/swaption/swaptionvolstructure.cpp +160 -0
  92. pyquantlib-0.3.0/src/termstructures/yield/fittedbonddiscountcurve.cpp +107 -0
  93. pyquantlib-0.3.0/src/termstructures/yield/nonlinearfittingmethods.cpp +155 -0
  94. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_cashflows.py +737 -0
  95. pyquantlib-0.3.0/tests/test_experimental_credit.py +148 -0
  96. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_indexes.py +369 -1
  97. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_instruments.py +686 -0
  98. pyquantlib-0.3.0/tests/test_instruments_bonds.py +754 -0
  99. pyquantlib-0.3.0/tests/test_pricingengines.py +296 -0
  100. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_termstructures.py +72 -0
  101. pyquantlib-0.3.0/tests/test_termstructures_inflation.py +887 -0
  102. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_termstructures_volatility.py +476 -0
  103. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_termstructures_yield.py +316 -0
  104. pyquantlib-0.1.0/docs/api/cashflows.md +0 -194
  105. pyquantlib-0.1.0/docs/api/indexes.md +0 -136
  106. pyquantlib-0.1.0/examples/modified_kirk_engine.ipynb +0 -336
  107. pyquantlib-0.1.0/pyquantlib/version.py +0 -1
  108. pyquantlib-0.1.0/tests/test_instruments_bonds.py +0 -329
  109. pyquantlib-0.1.0/tests/test_pricingengines.py +0 -100
  110. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.gitattributes +0 -0
  111. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  112. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  113. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  114. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/ISSUE_TEMPLATE/infrastructure.md +0 -0
  115. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/scripts/build-quantlib-windows.ps1 +0 -0
  116. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.github/workflows/wheels.yml +0 -0
  117. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.gitignore +0 -0
  118. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/.readthedocs.yaml +0 -0
  119. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/CMakeLists.txt +0 -0
  120. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/CMakePresets.json +0 -0
  121. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/CONTRIBUTING.md +0 -0
  122. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/LICENSE +0 -0
  123. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/_static/custom.css +0 -0
  124. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/_static/favicon.svg +0 -0
  125. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/_static/logo.svg +0 -0
  126. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/core.md +0 -0
  127. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/currencies.md +0 -0
  128. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/extensions.md +0 -0
  129. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/index.md +0 -0
  130. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/math.md +0 -0
  131. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/models.md +0 -0
  132. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/processes.md +0 -0
  133. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/quotes.md +0 -0
  134. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/api/time.md +0 -0
  135. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/architecture.md +0 -0
  136. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/building.md +0 -0
  137. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/conf.py +0 -0
  138. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/contributing.md +0 -0
  139. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/api-design.md +0 -0
  140. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/bridge-defaults.md +0 -0
  141. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/builder-pattern.md +0 -0
  142. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/cross-tu-holders.md +0 -0
  143. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/diamond-inheritance.md +0 -0
  144. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/enum-singletons.md +0 -0
  145. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/hidden-handles.md +0 -0
  146. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/index.md +0 -0
  147. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/interpolation.md +0 -0
  148. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/protected-members.md +0 -0
  149. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/python-subclassing.md +0 -0
  150. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/design/settings-singleton.md +0 -0
  151. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/examples/index.md +0 -0
  152. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/extending.md +0 -0
  153. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/handles.md +0 -0
  154. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/numpy.md +0 -0
  155. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/quickstart.md +0 -0
  156. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/requirements.txt +0 -0
  157. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/docs/troubleshooting.md +0 -0
  158. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/README.md +0 -0
  159. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/bermudan_swaption.ipynb +0 -0
  160. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/bonds.ipynb +0 -0
  161. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/cds.ipynb +0 -0
  162. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/equity_option.ipynb +0 -0
  163. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/hello_pyquantlib.ipynb +0 -0
  164. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/multicurve_bootstrapping.ipynb +0 -0
  165. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/numpy_interoperability.ipynb +0 -0
  166. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/replication.ipynb +0 -0
  167. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/examples/svi_smile.ipynb +0 -0
  168. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/extensions.json +0 -0
  169. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/include/pyquantlib/interpolation_helper.h +0 -0
  170. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/include/pyquantlib/null_utils.h +0 -0
  171. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/include/pyquantlib/version.h +0 -0
  172. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/licenseheader.txt +0 -0
  173. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/extensions/__init__.py +0 -0
  174. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/extensions/modified_kirk_engine.py +0 -0
  175. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/extensions/svi_smile_section.py +0 -0
  176. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/pyquantlib/py.typed +0 -0
  177. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/requirements-dev.txt +0 -0
  178. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/scripts/README.md +0 -0
  179. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/scripts/build_docs.py +0 -0
  180. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/scripts/clean.py +0 -0
  181. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/scripts/rebuild.py +0 -0
  182. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/scripts/stubgen.py +0 -0
  183. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/scripts/test.py +0 -0
  184. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/settings.json +0 -0
  185. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/coupon.cpp +0 -0
  186. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/duration.cpp +0 -0
  187. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/fixedratecoupon.cpp +0 -0
  188. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/floatingratecoupon.cpp +0 -0
  189. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/iborcoupon.cpp +0 -0
  190. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/overnightindexedcoupon.cpp +0 -0
  191. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/rateaveraging.cpp +0 -0
  192. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/cashflows/simplecashflow.cpp +0 -0
  193. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/all.cpp +0 -0
  194. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/cashflow.cpp +0 -0
  195. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/cdspricingmodel.cpp +0 -0
  196. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/compounding.cpp +0 -0
  197. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/constants.cpp +0 -0
  198. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/currency.cpp +0 -0
  199. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/default.cpp +0 -0
  200. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/exchangerate.cpp +0 -0
  201. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/exercise.cpp +0 -0
  202. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/index.cpp +0 -0
  203. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/instrument.cpp +0 -0
  204. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/interestrate.cpp +0 -0
  205. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/money.cpp +0 -0
  206. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/option.cpp +0 -0
  207. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/payoff.cpp +0 -0
  208. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/pricingengine.cpp +0 -0
  209. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/quote.cpp +0 -0
  210. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/settings.cpp +0 -0
  211. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/stochasticprocess.cpp +0 -0
  212. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/termstructure.cpp +0 -0
  213. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/core/timegrid.cpp +0 -0
  214. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/currencies/all.cpp +0 -0
  215. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/currencies/currencies.cpp +0 -0
  216. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/currencies/exchangeratemanager.cpp +0 -0
  217. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/experimental/volatility/svismilesection.cpp +0 -0
  218. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/ibor/eonia.cpp +0 -0
  219. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/ibor/estr.cpp +0 -0
  220. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/ibor/euribor.cpp +0 -0
  221. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/ibor/sofr.cpp +0 -0
  222. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/ibor/sonia.cpp +0 -0
  223. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/iborindex.cpp +0 -0
  224. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/interestrateindex.cpp +0 -0
  225. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/indexes/swapindex.cpp +0 -0
  226. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/asianoption.cpp +0 -0
  227. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/assetswap.cpp +0 -0
  228. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/averagetype.cpp +0 -0
  229. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/barrieroption.cpp +0 -0
  230. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/barriertype.cpp +0 -0
  231. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/basketoption.cpp +0 -0
  232. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/bond.cpp +0 -0
  233. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/bonds/fixedratebond.cpp +0 -0
  234. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/bonds/floatingratebond.cpp +0 -0
  235. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/bonds/zerocouponbond.cpp +0 -0
  236. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/capfloor.cpp +0 -0
  237. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/claim.cpp +0 -0
  238. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/compositeinstrument.cpp +0 -0
  239. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/creditdefaultswap.cpp +0 -0
  240. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/doublebarrieroption.cpp +0 -0
  241. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/doublebarriertype.cpp +0 -0
  242. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/fixedvsfloatingswap.cpp +0 -0
  243. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/forwardrateagreement.cpp +0 -0
  244. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/makecapfloor.cpp +0 -0
  245. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/makeois.cpp +0 -0
  246. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/makeswaption.cpp +0 -0
  247. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/makevanillaswap.cpp +0 -0
  248. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/multiassetoption.cpp +0 -0
  249. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/oneassetoption.cpp +0 -0
  250. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/overnightindexedswap.cpp +0 -0
  251. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/payoffs.cpp +0 -0
  252. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/swap.cpp +0 -0
  253. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/swaption.cpp +0 -0
  254. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/vanillaoption.cpp +0 -0
  255. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/vanillaswap.cpp +0 -0
  256. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/instruments/zerocouponswap.cpp +0 -0
  257. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/main.cpp +0 -0
  258. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/all.cpp +0 -0
  259. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/array.cpp +0 -0
  260. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/distributions/bivariatenormaldistribution.cpp +0 -0
  261. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/distributions/normaldistribution.cpp +0 -0
  262. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/interpolations/backwardflatinterpolation.cpp +0 -0
  263. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/interpolations/cubicinterpolation.cpp +0 -0
  264. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/interpolations/extrapolation.cpp +0 -0
  265. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/interpolations/interpolation.cpp +0 -0
  266. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/interpolations/linearinterpolation.cpp +0 -0
  267. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/interpolations/loglinearinterpolation.cpp +0 -0
  268. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/matrix.cpp +0 -0
  269. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/optimization/constraint.cpp +0 -0
  270. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/optimization/costfunction.cpp +0 -0
  271. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/optimization/endcriteria.cpp +0 -0
  272. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/optimization/levenbergmarquardt.cpp +0 -0
  273. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/optimization/method.cpp +0 -0
  274. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/optimization/problem.cpp +0 -0
  275. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/rounding.cpp +0 -0
  276. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/math/solvers1d/solvers1d.cpp +0 -0
  277. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/methods/all.cpp +0 -0
  278. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/methods/finitedifferences/solvers/fdmbackwardsolver.cpp +0 -0
  279. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/all.cpp +0 -0
  280. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/calibrationhelper.cpp +0 -0
  281. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/equity/batesmodel.cpp +0 -0
  282. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/equity/hestonmodel.cpp +0 -0
  283. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/model.cpp +0 -0
  284. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/parameter.cpp +0 -0
  285. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/piecewisetimedependenthestonmodel.cpp +0 -0
  286. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/calibrationhelpers/swaptionhelper.cpp +0 -0
  287. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/onefactormodel.cpp +0 -0
  288. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/onefactormodels/blackkarasinski.cpp +0 -0
  289. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/onefactormodels/hullwhite.cpp +0 -0
  290. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/onefactormodels/vasicek.cpp +0 -0
  291. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/twofactormodel.cpp +0 -0
  292. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/models/shortrate/twofactormodels/g2.cpp +0 -0
  293. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/patterns/all.cpp +0 -0
  294. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/patterns/lazyobject.cpp +0 -0
  295. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/patterns/observable.cpp +0 -0
  296. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/asian/analytic_cont_geom_av_price.cpp +0 -0
  297. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/asian/analytic_discr_geom_av_price.cpp +0 -0
  298. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/asian/mc_discr_arith_av_price.cpp +0 -0
  299. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/asian/turnbullwakemanasianengine.cpp +0 -0
  300. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/barrier/analyticbarrierengine.cpp +0 -0
  301. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/barrier/analyticdoublebarrierengine.cpp +0 -0
  302. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/barrier/fdblackscholesbarrierengine.cpp +0 -0
  303. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/bjerksundstenslandspreadengine.cpp +0 -0
  304. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/denglizhoubasketengine.cpp +0 -0
  305. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/fd2dblackscholesvanillaengine.cpp +0 -0
  306. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/kirkengine.cpp +0 -0
  307. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/mceuropeanbasketengine.cpp +0 -0
  308. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/operatorsplittingspreadengine.cpp +0 -0
  309. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/spreadblackscholesvanillaengine.cpp +0 -0
  310. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/basket/stulzengine.cpp +0 -0
  311. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/blackformula.cpp +0 -0
  312. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/bond/bondfunctions.cpp +0 -0
  313. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/bond/discountingbondengine.cpp +0 -0
  314. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/capfloor/bacheliercapfloorengine.cpp +0 -0
  315. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/capfloor/blackcapfloorengine.cpp +0 -0
  316. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/credit/isdacdsengine.cpp +0 -0
  317. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/credit/midpointcdsengine.cpp +0 -0
  318. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/genericmodelengine.cpp +0 -0
  319. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swap/discountingswapengine.cpp +0 -0
  320. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swaption/blackswaptionengine.cpp +0 -0
  321. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swaption/fdg2swaptionengine.cpp +0 -0
  322. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swaption/fdhullwhiteswaptionengine.cpp +0 -0
  323. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swaption/g2swaptionengine.cpp +0 -0
  324. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swaption/jamshidianswaptionengine.cpp +0 -0
  325. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/swaption/treeswaptionengine.cpp +0 -0
  326. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/analyticeuropeanengine.cpp +0 -0
  327. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp +0 -0
  328. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/analytichestonengine.cpp +0 -0
  329. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/baroneadesiwhaleyengine.cpp +0 -0
  330. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/batesengine.cpp +0 -0
  331. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/binomialengine.cpp +0 -0
  332. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/bjerksundstenslandengine.cpp +0 -0
  333. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/fdblackscholesvanillaengine.cpp +0 -0
  334. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/integralengine.cpp +0 -0
  335. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/mcamericanengine.cpp +0 -0
  336. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/mceuropeanengine.cpp +0 -0
  337. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/pricingengines/vanilla/qdfpamericanengine.cpp +0 -0
  338. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/processes/all.cpp +0 -0
  339. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/processes/batesprocess.cpp +0 -0
  340. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/processes/blackscholesprocess.cpp +0 -0
  341. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/processes/eulerdiscretization.cpp +0 -0
  342. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/processes/hestonprocess.cpp +0 -0
  343. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/processes/stochasticprocessarray.cpp +0 -0
  344. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/quotes/all.cpp +0 -0
  345. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/quotes/compositequote.cpp +0 -0
  346. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/quotes/derivedquote.cpp +0 -0
  347. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/quotes/simplequote.cpp +0 -0
  348. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/submodules.cpp +0 -0
  349. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/credit/defaultprobabilityhelpers.cpp +0 -0
  350. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/credit/flathazardrate.cpp +0 -0
  351. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/credit/piecewisedefaultcurve.cpp +0 -0
  352. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/defaulttermstructure.cpp +0 -0
  353. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/blackconstantvol.cpp +0 -0
  354. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/blackvariancesurface.cpp +0 -0
  355. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/blackvoltermstructure.cpp +0 -0
  356. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp +0 -0
  357. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/localconstantvol.cpp +0 -0
  358. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/localvolsurface.cpp +0 -0
  359. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/localvoltermstructure.cpp +0 -0
  360. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/equityfx/noexceptlocalvolsurface.cpp +0 -0
  361. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/sabrinterpolatedsmilesection.cpp +0 -0
  362. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/sabrsmilesection.cpp +0 -0
  363. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/smilesection.cpp +0 -0
  364. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/volatility/volatilitytype.cpp +0 -0
  365. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/voltermstructure.cpp +0 -0
  366. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/bondhelpers.cpp +0 -0
  367. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/discountcurve.cpp +0 -0
  368. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/flatforward.cpp +0 -0
  369. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/forwardcurve.cpp +0 -0
  370. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/oisratehelper.cpp +0 -0
  371. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/piecewiseyieldcurve.cpp +0 -0
  372. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/ratehelpers.cpp +0 -0
  373. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/zerocurve.cpp +0 -0
  374. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yield/zerospreadedtermstructure.cpp +0 -0
  375. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/termstructures/yieldtermstructure.cpp +0 -0
  376. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/all.cpp +0 -0
  377. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/businessdayconvention.cpp +0 -0
  378. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/calendar.cpp +0 -0
  379. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/calendars/calendars.cpp +0 -0
  380. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/date.cpp +0 -0
  381. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/dategenerationrule.cpp +0 -0
  382. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/daycounter.cpp +0 -0
  383. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/daycounters/daycounters.cpp +0 -0
  384. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/frequency.cpp +0 -0
  385. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/period.cpp +0 -0
  386. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/schedule.cpp +0 -0
  387. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/timeunit.cpp +0 -0
  388. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/time/weekday.cpp +0 -0
  389. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/utilities/all.cpp +0 -0
  390. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/utilities/null.cpp +0 -0
  391. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/src/utilities/observablevalue.cpp +0 -0
  392. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/conftest.py +0 -0
  393. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_core.py +0 -0
  394. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_currencies.py +0 -0
  395. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_experimental_volatility.py +0 -0
  396. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_extensions.py +0 -0
  397. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_math.py +0 -0
  398. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_math_distributions.py +0 -0
  399. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_math_solvers1d.py +0 -0
  400. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_methods.py +0 -0
  401. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_models.py +0 -0
  402. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_models_shortrate.py +0 -0
  403. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_asian.py +0 -0
  404. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_barrier.py +0 -0
  405. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_basket.py +0 -0
  406. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_bond.py +0 -0
  407. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_capfloor.py +0 -0
  408. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_credit.py +0 -0
  409. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_swaption.py +0 -0
  410. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_pricingengines_vanilla.py +0 -0
  411. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_processes.py +0 -0
  412. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_quotes.py +0 -0
  413. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_termstructures_credit.py +0 -0
  414. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_time.py +0 -0
  415. {pyquantlib-0.1.0 → pyquantlib-0.3.0}/tests/test_utilities.py +0 -0
@@ -12,6 +12,21 @@ name: Linux build
12
12
 
13
13
  on:
14
14
  workflow_dispatch:
15
+ push:
16
+ branches: [main]
17
+ paths:
18
+ - "src/**"
19
+ - "include/**"
20
+ - "CMakeLists.txt"
21
+ - "pyproject.toml"
22
+ - ".github/workflows/linux.yml"
23
+ pull_request:
24
+ paths:
25
+ - "src/**"
26
+ - "include/**"
27
+ - "CMakeLists.txt"
28
+ - "pyproject.toml"
29
+ - ".github/workflows/linux.yml"
15
30
 
16
31
  env:
17
32
  QUANTLIB_VERSION: "1.40"
@@ -12,6 +12,21 @@ name: macOS build
12
12
 
13
13
  on:
14
14
  workflow_dispatch:
15
+ push:
16
+ branches: [main]
17
+ paths:
18
+ - "src/**"
19
+ - "include/**"
20
+ - "CMakeLists.txt"
21
+ - "pyproject.toml"
22
+ - ".github/workflows/macos.yml"
23
+ pull_request:
24
+ paths:
25
+ - "src/**"
26
+ - "include/**"
27
+ - "CMakeLists.txt"
28
+ - "pyproject.toml"
29
+ - ".github/workflows/macos.yml"
15
30
 
16
31
  env:
17
32
  QUANTLIB_VERSION: "1.40"
@@ -12,6 +12,21 @@ name: Windows build
12
12
 
13
13
  on:
14
14
  workflow_dispatch:
15
+ push:
16
+ branches: [main]
17
+ paths:
18
+ - "src/**"
19
+ - "include/**"
20
+ - "CMakeLists.txt"
21
+ - "pyproject.toml"
22
+ - ".github/workflows/windows.yml"
23
+ pull_request:
24
+ paths:
25
+ - "src/**"
26
+ - "include/**"
27
+ - "CMakeLists.txt"
28
+ - "pyproject.toml"
29
+ - ".github/workflows/windows.yml"
15
30
 
16
31
  env:
17
32
  QUANTLIB_VERSION: "1.40"
@@ -0,0 +1,20 @@
1
+ cff-version: 1.2.0
2
+ title: PyQuantLib
3
+ message: If you use this software, please cite it using the metadata from this file.
4
+ type: software
5
+ authors:
6
+ - family-names: Idyiahia
7
+ given-names: Yassine
8
+ repository-code: https://github.com/quantales/pyquantlib
9
+ url: https://pyquantlib.readthedocs.io
10
+ license: BSD-3-Clause
11
+ identifiers:
12
+ - type: doi
13
+ value: 10.5281/zenodo.18529027
14
+ description: Zenodo concept DOI (all versions)
15
+ keywords:
16
+ - quantitative finance
17
+ - QuantLib
18
+ - Python bindings
19
+ - derivatives pricing
20
+ - fixed income
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pyquantlib
3
- Version: 0.1.0
3
+ Version: 0.3.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>
@@ -77,6 +77,8 @@ Requires-Dist: jupyter>=1.0.0; extra == "examples"
77
77
  Requires-Dist: matplotlib>=3.5.0; extra == "examples"
78
78
  Requires-Dist: pandas>=1.3.0; extra == "examples"
79
79
  Requires-Dist: numpy>=1.20.0; extra == "examples"
80
+ Provides-Extra: all
81
+ Requires-Dist: pyquantlib[dev,docs,examples]; extra == "all"
80
82
  Description-Content-Type: text/markdown
81
83
 
82
84
  # PyQuantLib: Modern Python bindings for QuantLib
@@ -87,8 +89,9 @@ Description-Content-Type: text/markdown
87
89
  [![Windows](https://github.com/quantales/pyquantlib/actions/workflows/windows.yml/badge.svg)](https://github.com/quantales/pyquantlib/actions/workflows/windows.yml)
88
90
  [![codecov](https://codecov.io/github/quantales/pyquantlib/graph/badge.svg?token=Q1HNBAK7S1)](https://codecov.io/github/quantales/pyquantlib)
89
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.18529027.svg)](https://doi.org/10.5281/zenodo.18529027)
90
93
  [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://github.com/quantales/pyquantlib/blob/main/LICENSE)
91
- [![Python](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
94
+ [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
92
95
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/quantales/pyquantlib/blob/main/CONTRIBUTING.md)
93
96
 
94
97
  > **Beta Status**: This project is under active development. API may change.
@@ -107,15 +110,25 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
107
110
 
108
111
  ## Installation
109
112
 
110
- ### 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
111
120
 
112
- - Python 3.9+
121
+ Building from source requires QuantLib built with specific CMake flags. See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions.
122
+
123
+ #### Prerequisites
124
+
125
+ - Python 3.10+
113
126
  - CMake 3.18+
114
127
  - C++17 compatible compiler
115
128
  - Boost headers
116
129
  - **QuantLib 1.40+** built with `std::shared_ptr` support (see below)
117
130
 
118
- ### QuantLib Build Requirement
131
+ #### QuantLib Build Requirement
119
132
 
120
133
  > **Important**: PyQuantLib requires QuantLib built from source with specific settings.
121
134
 
@@ -137,12 +150,9 @@ cmake -DBUILD_SHARED_LIBS=OFF \
137
150
  | `QL_USE_STD_SHARED_PTR=ON` | pybind11 uses `std::shared_ptr` as default holder |
138
151
  | `CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL` | **Windows only**: Python extensions require dynamic runtime (`/MD`) |
139
152
 
140
- **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.
141
-
142
- ### 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.
143
154
 
144
155
  ```bash
145
- # After building QuantLib with required flags (see CONTRIBUTING.md)
146
156
  pip install git+https://github.com/quantales/pyquantlib.git
147
157
  ```
148
158
 
@@ -222,7 +232,7 @@ pytest
222
232
 
223
233
  ## Documentation
224
234
 
225
- 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).
226
236
 
227
237
  ## Examples
228
238
 
@@ -6,8 +6,9 @@
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.18529027.svg)](https://doi.org/10.5281/zenodo.18529027)
9
10
  [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://github.com/quantales/pyquantlib/blob/main/LICENSE)
10
- [![Python](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
11
+ [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
11
12
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/quantales/pyquantlib/blob/main/CONTRIBUTING.md)
12
13
 
13
14
  > **Beta Status**: This project is under active development. API may change.
@@ -26,15 +27,25 @@ PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), t
26
27
 
27
28
  ## Installation
28
29
 
29
- ### 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
30
37
 
31
- - Python 3.9+
38
+ Building from source requires QuantLib built with specific CMake flags. See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions.
39
+
40
+ #### Prerequisites
41
+
42
+ - Python 3.10+
32
43
  - CMake 3.18+
33
44
  - C++17 compatible compiler
34
45
  - Boost headers
35
46
  - **QuantLib 1.40+** built with `std::shared_ptr` support (see below)
36
47
 
37
- ### QuantLib Build Requirement
48
+ #### QuantLib Build Requirement
38
49
 
39
50
  > **Important**: PyQuantLib requires QuantLib built from source with specific settings.
40
51
 
@@ -56,12 +67,9 @@ cmake -DBUILD_SHARED_LIBS=OFF \
56
67
  | `QL_USE_STD_SHARED_PTR=ON` | pybind11 uses `std::shared_ptr` as default holder |
57
68
  | `CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL` | **Windows only**: Python extensions require dynamic runtime (`/MD`) |
58
69
 
59
- **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.
60
-
61
- ### 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.
62
71
 
63
72
  ```bash
64
- # After building QuantLib with required flags (see CONTRIBUTING.md)
65
73
  pip install git+https://github.com/quantales/pyquantlib.git
66
74
  ```
67
75
 
@@ -141,7 +149,7 @@ pytest
141
149
 
142
150
  ## Documentation
143
151
 
144
- 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).
145
153
 
146
154
  ## Examples
147
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
 
@@ -0,0 +1,367 @@
1
+ # Cash Flows Module
2
+
3
+ ## Cash Flows
4
+
5
+ ### SimpleCashFlow
6
+
7
+ ```{eval-rst}
8
+ .. autoclass:: pyquantlib.SimpleCashFlow
9
+ ```
10
+
11
+ ```python
12
+ cf = ql.SimpleCashFlow(1000.0, ql.Date(15, 6, 2026))
13
+ print(cf.amount()) # 1000.0
14
+ print(cf.date()) # June 15th, 2026
15
+ ```
16
+
17
+ ### Redemption
18
+
19
+ ```{eval-rst}
20
+ .. autoclass:: pyquantlib.Redemption
21
+ ```
22
+
23
+ ### AmortizingPayment
24
+
25
+ ```{eval-rst}
26
+ .. autoclass:: pyquantlib.AmortizingPayment
27
+ ```
28
+
29
+ ## Coupons
30
+
31
+ ### FixedRateCoupon
32
+
33
+ ```{eval-rst}
34
+ .. autoclass:: pyquantlib.FixedRateCoupon
35
+ ```
36
+
37
+ ```python
38
+ coupon = ql.FixedRateCoupon(
39
+ payment_date, nominal, rate, day_counter, accrual_start, accrual_end
40
+ )
41
+ print(coupon.amount())
42
+ print(coupon.rate())
43
+ ```
44
+
45
+ ### FloatingRateCoupon
46
+
47
+ ```{eval-rst}
48
+ .. autoclass:: pyquantlib.FloatingRateCoupon
49
+ ```
50
+
51
+ Base class for coupons paying a variable index-based rate.
52
+
53
+ ```python
54
+ coupon = ql.FloatingRateCoupon(
55
+ payment_date, nominal, start_date, end_date,
56
+ fixingDays=2, index=euribor6m, gearing=1.0, spread=0.005
57
+ )
58
+ print(coupon.gearing()) # 1.0
59
+ print(coupon.spread()) # 0.005
60
+ print(coupon.fixingDate())
61
+ ```
62
+
63
+ ### IborCoupon
64
+
65
+ ```{eval-rst}
66
+ .. autoclass:: pyquantlib.IborCoupon
67
+ ```
68
+
69
+ Coupon paying a Libor-type index (e.g., Euribor, USD LIBOR).
70
+
71
+ ```python
72
+ coupon = ql.IborCoupon(
73
+ payment_date, 1e6, start_date, end_date,
74
+ 2, euribor6m
75
+ )
76
+ print(coupon.fixingDate())
77
+ print(coupon.fixingValueDate())
78
+ ```
79
+
80
+ ### OvernightIndexedCoupon
81
+
82
+ ```{eval-rst}
83
+ .. autoclass:: pyquantlib.OvernightIndexedCoupon
84
+ ```
85
+
86
+ Coupon paying the compounded (or simple average) daily overnight rate.
87
+
88
+ ```python
89
+ coupon = ql.OvernightIndexedCoupon(
90
+ payment_date, 10e6, start_date, end_date,
91
+ overnight_index, spread=0.001,
92
+ averagingMethod=ql.RateAveraging.Type.Compound
93
+ )
94
+ ```
95
+
96
+ ### CmsCoupon
97
+
98
+ ```{eval-rst}
99
+ .. autoclass:: pyquantlib.CmsCoupon
100
+ ```
101
+
102
+ Coupon paying a CMS (Constant Maturity Swap) rate.
103
+
104
+ ```python
105
+ coupon = ql.CmsCoupon(
106
+ payment_date, 1e6, start_date, end_date,
107
+ 2, swap_index
108
+ )
109
+ ```
110
+
111
+ ## Coupon Pricers
112
+
113
+ ### BlackIborCouponPricer
114
+
115
+ ```{eval-rst}
116
+ .. autoclass:: pyquantlib.BlackIborCouponPricer
117
+ ```
118
+
119
+ Black-formula pricer for Ibor coupons. Attach to a leg with `setCouponPricer`.
120
+
121
+ ```python
122
+ pricer = ql.BlackIborCouponPricer()
123
+ ql.setCouponPricer(floating_leg, pricer)
124
+ ```
125
+
126
+ ### LinearTsrPricer
127
+
128
+ ```{eval-rst}
129
+ .. autoclass:: pyquantlib.LinearTsrPricer
130
+ ```
131
+
132
+ Linear Terminal Swap Rate pricer for CMS coupons.
133
+
134
+ ```python
135
+ pricer = ql.LinearTsrPricer(swaption_vol, mean_reversion)
136
+ ql.setCouponPricer(cms_leg, pricer)
137
+ ```
138
+
139
+ ### LinearTsrPricerSettings
140
+
141
+ ```{eval-rst}
142
+ .. autoclass:: pyquantlib.LinearTsrPricerSettings
143
+ ```
144
+
145
+ ### LinearTsrPricerStrategy
146
+
147
+ ```{eval-rst}
148
+ .. autoclass:: pyquantlib.LinearTsrPricerStrategy
149
+ :members:
150
+ :undoc-members:
151
+ ```
152
+
153
+ ### setCouponPricer
154
+
155
+ ```{eval-rst}
156
+ .. autofunction:: pyquantlib.setCouponPricer
157
+ ```
158
+
159
+ Also accepts inflation coupon pricers for legs containing `YoYInflationCoupon` cashflows.
160
+
161
+ ## Leg Builders
162
+
163
+ ### FixedRateLeg
164
+
165
+ ```{eval-rst}
166
+ .. autoclass:: pyquantlib.FixedRateLeg
167
+ ```
168
+
169
+ ```python
170
+ leg = ql.FixedRateLeg(schedule) \
171
+ .withNotionals(1000000.0) \
172
+ .withCouponRates(0.05, ql.Actual365Fixed()) \
173
+ .build()
174
+
175
+ for cf in leg:
176
+ print(f"{cf.date()}: {cf.amount():.2f}")
177
+ ```
178
+
179
+ ### IborLeg
180
+
181
+ ```{eval-rst}
182
+ .. autoclass:: pyquantlib.IborLeg
183
+ ```
184
+
185
+ ```python
186
+ leg = ql.IborLeg(schedule, euribor6m) \
187
+ .withNotionals(1e6) \
188
+ .withSpreads(0.005) \
189
+ .build()
190
+ ```
191
+
192
+ ### OvernightLeg
193
+
194
+ ```{eval-rst}
195
+ .. autoclass:: pyquantlib.OvernightLeg
196
+ ```
197
+
198
+ ```python
199
+ leg = ql.OvernightLeg(schedule, overnight_index) \
200
+ .withNotionals(10e6) \
201
+ .withSpreads(0.001) \
202
+ .withAveragingMethod(ql.RateAveraging.Type.Compound) \
203
+ .build()
204
+ ```
205
+
206
+ ### CmsLeg
207
+
208
+ ```{eval-rst}
209
+ .. autoclass:: pyquantlib.CmsLeg
210
+ ```
211
+
212
+ ```python
213
+ leg = ql.CmsLeg(schedule, swap_index) \
214
+ .withNotionals(1e6) \
215
+ .withSpreads(0.001) \
216
+ .build()
217
+ ```
218
+
219
+ ## Settings
220
+
221
+ ### IborCouponSettings
222
+
223
+ ```{eval-rst}
224
+ .. autoclass:: pyquantlib.IborCouponSettings
225
+ ```
226
+
227
+ Controls whether IborCoupons are created as par or indexed coupons.
228
+
229
+ ```python
230
+ settings = ql.IborCouponSettings.instance()
231
+ settings.createAtParCoupons() # default
232
+ settings.createIndexedCoupons() # alternative
233
+ ```
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
+ ## Duration
352
+
353
+ ### DurationType
354
+
355
+ ```{eval-rst}
356
+ .. autoclass:: pyquantlib.DurationType
357
+ ```
358
+
359
+ | Value | Description |
360
+ |-------|-------------|
361
+ | `Simple` | Simple duration |
362
+ | `Macaulay` | Macaulay duration |
363
+ | `Modified` | Modified duration |
364
+
365
+ ```{note}
366
+ Abstract base classes `CashFlow`, `Coupon`, `FloatingRateCouponPricer`, `MeanRevertingPricer`, `CmsCouponPricer`, `InflationCoupon`, and `InflationCouponPricer` are available in `pyquantlib.base` for custom implementations.
367
+ ```
@@ -47,6 +47,20 @@ print(smile.volatility(110.0)) # OTM call vol
47
47
  call_price = smile.optionPrice(110.0, ql.OptionType.Call)
48
48
  ```
49
49
 
50
+ ## Credit
51
+
52
+ ### CdsOption
53
+
54
+ ```{eval-rst}
55
+ .. autoclass:: pyquantlib.CdsOption
56
+ ```
57
+
58
+ ### BlackCdsOptionEngine
59
+
60
+ ```{eval-rst}
61
+ .. autoclass:: pyquantlib.BlackCdsOptionEngine
62
+ ```
63
+
50
64
  ### SVI Helper Functions
51
65
 
52
66
  ```{eval-rst}