pyquantlib 0.4.0__tar.gz → 0.6.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 (693) hide show
  1. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/workflows/linux.yml +2 -2
  2. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/workflows/wheels.yml +26 -0
  3. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/PKG-INFO +1 -6
  4. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/README.md +0 -5
  5. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/_static/custom.css +13 -0
  6. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/cashflows.md +220 -1
  7. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/core.md +11 -0
  8. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/index.md +2 -0
  9. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/indexes.md +34 -0
  10. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/math.md +258 -5
  11. pyquantlib-0.6.0/docs/api/methods.md +1127 -0
  12. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/models.md +152 -1
  13. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/pricingengines.md +431 -0
  14. pyquantlib-0.6.0/docs/api/processes.md +248 -0
  15. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/termstructures.md +218 -0
  16. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/architecture.md +10 -0
  17. pyquantlib-0.6.0/docs/changelog.md +597 -0
  18. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/conf.py +8 -4
  19. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/contributing.md +5 -5
  20. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/index.md +1 -0
  21. pyquantlib-0.6.0/docs/design/reference-members.md +180 -0
  22. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/extending.md +4 -4
  23. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/index.md +0 -4
  24. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/internals.md +12 -0
  25. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/requirements.txt +3 -0
  26. pyquantlib-0.6.0/examples/spread_option.ipynb +412 -0
  27. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/interpolation_helper.h +91 -0
  28. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/pyquantlib.h +225 -20
  29. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/__init__.py +1 -0
  30. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/__init__.pyi +296 -2
  31. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/_pyquantlib/__init__.pyi +7679 -1099
  32. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/_pyquantlib/base.pyi +252 -1
  33. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/builders.py +39 -0
  34. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/extensions/svi_smile_section.py +28 -6
  35. pyquantlib-0.6.0/pyquantlib/version.py +1 -0
  36. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/version.pyi +1 -1
  37. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/scripts/stubgen.py +14 -4
  38. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/all.cpp +27 -0
  39. pyquantlib-0.6.0/src/cashflows/averagebmacoupon.cpp +112 -0
  40. pyquantlib-0.6.0/src/cashflows/capflooredcoupon.cpp +129 -0
  41. pyquantlib-0.6.0/src/cashflows/conundrumpricer.cpp +124 -0
  42. pyquantlib-0.6.0/src/cashflows/digitalcmscoupon.cpp +205 -0
  43. pyquantlib-0.6.0/src/cashflows/digitalcoupon.cpp +95 -0
  44. pyquantlib-0.6.0/src/cashflows/digitaliborcoupon.cpp +205 -0
  45. pyquantlib-0.6.0/src/cashflows/overnightindexedcouponpricer.cpp +48 -0
  46. pyquantlib-0.6.0/src/cashflows/replication.cpp +42 -0
  47. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/all.cpp +1 -0
  48. pyquantlib-0.6.0/src/core/position.cpp +26 -0
  49. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/all.cpp +14 -0
  50. pyquantlib-0.6.0/src/experimental/exoticoptions/twoassetcorrelationoption.cpp +33 -0
  51. pyquantlib-0.6.0/src/experimental/variancegamma/analyticvariancegammaengine.cpp +30 -0
  52. pyquantlib-0.6.0/src/experimental/variancegamma/fftvariancegammaengine.cpp +30 -0
  53. pyquantlib-0.6.0/src/experimental/variancegamma/variancegammamodel.cpp +37 -0
  54. pyquantlib-0.6.0/src/experimental/variancegamma/variancegammaprocess.cpp +71 -0
  55. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/all.cpp +5 -0
  56. pyquantlib-0.6.0/src/indexes/bmaindex.cpp +50 -0
  57. pyquantlib-0.6.0/src/indexes/swapspreadindex.cpp +45 -0
  58. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/all.cpp +9 -0
  59. pyquantlib-0.6.0/src/instruments/bonds/amortizingcmsratebond.cpp +67 -0
  60. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/forwardrateagreement.cpp +0 -6
  61. pyquantlib-0.6.0/src/instruments/holderextensibleoption.cpp +37 -0
  62. pyquantlib-0.6.0/src/instruments/quantoforwardvanillaoption.cpp +41 -0
  63. pyquantlib-0.6.0/src/instruments/writerextensibleoption.cpp +40 -0
  64. pyquantlib-0.6.0/src/math/all.cpp +117 -0
  65. pyquantlib-0.6.0/src/math/integrals/expsinhintegral.cpp +40 -0
  66. pyquantlib-0.6.0/src/math/integrals/gaussianquadratures.cpp +150 -0
  67. pyquantlib-0.6.0/src/math/integrals/gausslobattointegral.cpp +41 -0
  68. pyquantlib-0.6.0/src/math/integrals/integral.cpp +45 -0
  69. pyquantlib-0.6.0/src/math/integrals/kronrodintegral.cpp +48 -0
  70. pyquantlib-0.6.0/src/math/integrals/segmentintegral.cpp +28 -0
  71. pyquantlib-0.6.0/src/math/integrals/simpsonintegral.cpp +29 -0
  72. pyquantlib-0.6.0/src/math/integrals/tanhsinhintegral.cpp +33 -0
  73. pyquantlib-0.6.0/src/math/integrals/trapezoidintegral.cpp +37 -0
  74. pyquantlib-0.6.0/src/math/interpolations/bicubicsplineinterpolation.cpp +40 -0
  75. pyquantlib-0.6.0/src/math/interpolations/bilinearinterpolation.cpp +25 -0
  76. pyquantlib-0.6.0/src/math/interpolations/chebyshevinterpolation.cpp +57 -0
  77. pyquantlib-0.6.0/src/math/interpolations/forwardflatinterpolation.cpp +25 -0
  78. pyquantlib-0.6.0/src/math/interpolations/interpolation2d.cpp +51 -0
  79. pyquantlib-0.6.0/src/math/interpolations/lagrangeinterpolation.cpp +35 -0
  80. pyquantlib-0.6.0/src/math/matrixutilities/svd.cpp +47 -0
  81. pyquantlib-0.6.0/src/math/matrixutilities/symmetricschurdecomposition.cpp +34 -0
  82. pyquantlib-0.6.0/src/math/ode/adaptiverungekutta.cpp +53 -0
  83. pyquantlib-0.6.0/src/math/optimization/bfgs.cpp +27 -0
  84. pyquantlib-0.6.0/src/math/optimization/conjugategradient.cpp +28 -0
  85. pyquantlib-0.6.0/src/math/optimization/differentialevolution.cpp +119 -0
  86. pyquantlib-0.6.0/src/math/optimization/simplex.cpp +30 -0
  87. pyquantlib-0.6.0/src/math/optimization/steepestdescent.cpp +28 -0
  88. pyquantlib-0.6.0/src/math/randomnumbers/boxmullergaussianrng.cpp +37 -0
  89. pyquantlib-0.6.0/src/math/randomnumbers/burley2020sobolrsg.cpp +45 -0
  90. pyquantlib-0.6.0/src/math/randomnumbers/haltonrsg.cpp +39 -0
  91. pyquantlib-0.6.0/src/math/randomnumbers/inversecumulativerng.cpp +40 -0
  92. pyquantlib-0.6.0/src/math/randomnumbers/inversecumulativersg.cpp +78 -0
  93. pyquantlib-0.6.0/src/math/randomnumbers/mt19937uniformrng.cpp +37 -0
  94. pyquantlib-0.6.0/src/math/randomnumbers/randomsequencegenerator.cpp +46 -0
  95. pyquantlib-0.6.0/src/math/randomnumbers/sobolbrownianbridgersg.cpp +66 -0
  96. pyquantlib-0.6.0/src/math/randomnumbers/sobolrsg.cpp +60 -0
  97. pyquantlib-0.6.0/src/math/richardsonextrapolation.cpp +41 -0
  98. pyquantlib-0.6.0/src/math/statistics/incrementalstatistics.cpp +78 -0
  99. pyquantlib-0.6.0/src/math/statistics/sequencestatistics.cpp +119 -0
  100. pyquantlib-0.6.0/src/math/statistics/statistics.cpp +137 -0
  101. pyquantlib-0.6.0/src/methods/all.cpp +190 -0
  102. pyquantlib-0.6.0/src/methods/finitedifferences/boundarycondition.cpp +39 -0
  103. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/concentrating1dmesher.cpp +50 -0
  104. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/exponentialjump1dmesher.cpp +47 -0
  105. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdm1dmesher.cpp +44 -0
  106. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdmblackscholesmesher.cpp +71 -0
  107. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdmcev1dmesher.cpp +43 -0
  108. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdmhestonvariancemesher.cpp +59 -0
  109. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdmmesher.cpp +41 -0
  110. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdmmeshercomposite.cpp +56 -0
  111. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/fdmsimpleprocess1dmesher.cpp +43 -0
  112. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/glued1dmesher.cpp +29 -0
  113. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/predefined1dmesher.cpp +30 -0
  114. pyquantlib-0.6.0/src/methods/finitedifferences/meshers/uniform1dmesher.cpp +29 -0
  115. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdm2dblackscholesop.cpp +47 -0
  116. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmbatesop.cpp +40 -0
  117. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmblackscholesfwdop.cpp +45 -0
  118. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmblackscholesop.cpp +49 -0
  119. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmcevop.cpp +48 -0
  120. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmg2op.cpp +34 -0
  121. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmhestonfwdop.cpp +39 -0
  122. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmhestonhullwhiteop.cpp +36 -0
  123. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmhestonop.cpp +40 -0
  124. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmhullwhiteop.cpp +33 -0
  125. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmlinearop.cpp +28 -0
  126. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmlinearopcomposite.cpp +43 -0
  127. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmlinearopiterator.cpp +46 -0
  128. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmlinearoplayout.cpp +73 -0
  129. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmlocalvolfwdop.cpp +40 -0
  130. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmornsteinuhlenbeckop.cpp +36 -0
  131. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmsabrop.cpp +35 -0
  132. pyquantlib-0.6.0/src/methods/finitedifferences/operators/fdmsquarerootfwdop.cpp +50 -0
  133. pyquantlib-0.6.0/src/methods/finitedifferences/operators/firstderivativeop.cpp +30 -0
  134. pyquantlib-0.6.0/src/methods/finitedifferences/operators/ninepointlinearop.cpp +36 -0
  135. pyquantlib-0.6.0/src/methods/finitedifferences/operators/nthorderderivativeop.cpp +32 -0
  136. pyquantlib-0.6.0/src/methods/finitedifferences/operators/secondderivativeop.cpp +30 -0
  137. pyquantlib-0.6.0/src/methods/finitedifferences/operators/secondordermixedderivativeop.cpp +30 -0
  138. pyquantlib-0.6.0/src/methods/finitedifferences/operators/triplebandlinearop.cpp +55 -0
  139. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/craigsneydscheme.cpp +41 -0
  140. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/cranknicolsonscheme.cpp +45 -0
  141. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/douglasscheme.cpp +40 -0
  142. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/expliciteulerscheme.cpp +39 -0
  143. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/hundsdorferscheme.cpp +41 -0
  144. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/impliciteulerscheme.cpp +51 -0
  145. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/methodoflinesscheme.cpp +41 -0
  146. pyquantlib-0.6.0/src/methods/finitedifferences/schemes/modifiedcraigsneydscheme.cpp +41 -0
  147. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdm1dimsolver.cpp +47 -0
  148. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdm2dblackscholessolver.cpp +95 -0
  149. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdm2dimsolver.cpp +56 -0
  150. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdm3dimsolver.cpp +41 -0
  151. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/methods/finitedifferences/solvers/fdmbackwardsolver.cpp +32 -1
  152. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdmbatessolver.cpp +80 -0
  153. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdmblackscholessolver.cpp +97 -0
  154. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdmg2solver.cpp +54 -0
  155. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdmhestonsolver.cpp +95 -0
  156. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdmhullwhitesolver.cpp +54 -0
  157. pyquantlib-0.6.0/src/methods/finitedifferences/solvers/fdmsolverdesc.cpp +55 -0
  158. pyquantlib-0.6.0/src/methods/finitedifferences/stepcondition.cpp +32 -0
  159. pyquantlib-0.6.0/src/methods/finitedifferences/stepconditions/fdmamericanstepcondition.cpp +33 -0
  160. pyquantlib-0.6.0/src/methods/finitedifferences/stepconditions/fdmarithmeticaveragecondition.cpp +36 -0
  161. pyquantlib-0.6.0/src/methods/finitedifferences/stepconditions/fdmbermudanstepcondition.cpp +44 -0
  162. pyquantlib-0.6.0/src/methods/finitedifferences/stepconditions/fdmsimpleswingcondition.cpp +39 -0
  163. pyquantlib-0.6.0/src/methods/finitedifferences/stepconditions/fdmsnapshotcondition.cpp +35 -0
  164. pyquantlib-0.6.0/src/methods/finitedifferences/stepconditions/fdmstepconditioncomposite.cpp +57 -0
  165. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/bsmrndcalculator.cpp +31 -0
  166. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/cevrndcalculator.cpp +33 -0
  167. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdmdirichletboundary.cpp +35 -0
  168. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdmdiscountdirichletboundary.cpp +39 -0
  169. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdmdividendhandler.cpp +50 -0
  170. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdmhestongreensfct.cpp +27 -0
  171. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdminnervaluecalculator.cpp +91 -0
  172. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdmquantohelper.cpp +55 -0
  173. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/fdmtimedepdirichletboundary.cpp +37 -0
  174. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/gbsmrndcalculator.cpp +31 -0
  175. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/hestonrndcalculator.cpp +33 -0
  176. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/localvolrndcalculator.cpp +90 -0
  177. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/riskneutraldensitycalculator.cpp +35 -0
  178. pyquantlib-0.6.0/src/methods/finitedifferences/utilities/squarerootprocessrndcalculator.cpp +40 -0
  179. pyquantlib-0.6.0/src/methods/montecarlo/brownianbridge.cpp +66 -0
  180. pyquantlib-0.6.0/src/methods/montecarlo/lsmbasissystem.cpp +32 -0
  181. pyquantlib-0.6.0/src/methods/montecarlo/multipath.cpp +47 -0
  182. pyquantlib-0.6.0/src/methods/montecarlo/multipathgenerator.cpp +71 -0
  183. pyquantlib-0.6.0/src/methods/montecarlo/path.cpp +51 -0
  184. pyquantlib-0.6.0/src/methods/montecarlo/pathgenerator.cpp +86 -0
  185. pyquantlib-0.6.0/src/methods/montecarlo/sample.cpp +72 -0
  186. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/all.cpp +26 -0
  187. pyquantlib-0.6.0/src/models/equity/gjrgarchmodel.cpp +43 -0
  188. pyquantlib-0.6.0/src/models/equity/hestonmodelhelper.cpp +90 -0
  189. pyquantlib-0.6.0/src/models/equity/hestonslvfdmmodel.cpp +164 -0
  190. pyquantlib-0.6.0/src/models/equity/hestonslvmcmodel.cpp +75 -0
  191. pyquantlib-0.6.0/src/models/marketmodels/browniangenerator.cpp +45 -0
  192. pyquantlib-0.6.0/src/models/marketmodels/browniangenerators/mtbrowniangenerator.cpp +37 -0
  193. pyquantlib-0.6.0/src/models/marketmodels/browniangenerators/sobolbrowniangenerator.cpp +83 -0
  194. pyquantlib-0.6.0/src/models/shortrate/calibrationhelpers/caphelper.cpp +78 -0
  195. pyquantlib-0.6.0/src/models/shortrate/onefactormodels/coxingersollross.cpp +37 -0
  196. pyquantlib-0.6.0/src/models/shortrate/onefactormodels/extendedcoxingersollross.cpp +52 -0
  197. pyquantlib-0.6.0/src/models/shortrate/onefactormodels/gaussian1dmodel.cpp +112 -0
  198. pyquantlib-0.6.0/src/models/shortrate/onefactormodels/gsr.cpp +141 -0
  199. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/onefactormodels/hullwhite.cpp +5 -0
  200. pyquantlib-0.6.0/src/models/shortrate/onefactormodels/markovfunctional.cpp +243 -0
  201. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/twofactormodels/g2.cpp +5 -0
  202. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/all.cpp +159 -60
  203. pyquantlib-0.6.0/src/pricingengines/bacheliercalculator.cpp +85 -0
  204. pyquantlib-0.6.0/src/pricingengines/barrier/analyticdoublebarrierbinaryengine.cpp +30 -0
  205. pyquantlib-0.6.0/src/pricingengines/barrier/fdblackscholesrebateengine.cpp +38 -0
  206. pyquantlib-0.6.0/src/pricingengines/barrier/mcbarrierengine.cpp +105 -0
  207. pyquantlib-0.6.0/src/pricingengines/barrier/mcdoublebarrierengine.cpp +99 -0
  208. pyquantlib-0.6.0/src/pricingengines/blackcalculator.cpp +85 -0
  209. pyquantlib-0.6.0/src/pricingengines/capfloor/analyticcapfloorengine.cpp +45 -0
  210. pyquantlib-0.6.0/src/pricingengines/capfloor/gaussian1dcapfloorengine.cpp +39 -0
  211. pyquantlib-0.6.0/src/pricingengines/capfloor/treecapfloorengine.cpp +56 -0
  212. pyquantlib-0.6.0/src/pricingengines/exotic/analyticholderextensibleoptionengine.cpp +30 -0
  213. pyquantlib-0.6.0/src/pricingengines/exotic/analytictwoassetcorrelationengine.cpp +46 -0
  214. pyquantlib-0.6.0/src/pricingengines/exotic/analyticwriterextensibleoptionengine.cpp +30 -0
  215. pyquantlib-0.6.0/src/pricingengines/forward/mcforwardeuropeanbsengine.cpp +99 -0
  216. pyquantlib-0.6.0/src/pricingengines/forward/mcforwardeuropeanhestonengine.cpp +99 -0
  217. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/quanto/quantoengine.cpp +35 -0
  218. pyquantlib-0.6.0/src/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.cpp +57 -0
  219. pyquantlib-0.6.0/src/pricingengines/swaption/gaussian1djamshidianswaptionengine.cpp +31 -0
  220. pyquantlib-0.6.0/src/pricingengines/swaption/gaussian1dnonstandardswaptionengine.cpp +55 -0
  221. pyquantlib-0.6.0/src/pricingengines/swaption/gaussian1dswaptionengine.cpp +52 -0
  222. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticbsmhullwhiteengine.cpp +36 -0
  223. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticcevengine.cpp +59 -0
  224. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticdigitalamericanengine.cpp +40 -0
  225. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticdividendeuropeanengine.cpp +35 -0
  226. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticgjrgarchengine.cpp +29 -0
  227. pyquantlib-0.6.0/src/pricingengines/vanilla/analytich1hwengine.cpp +48 -0
  228. pyquantlib-0.6.0/src/pricingengines/vanilla/analytichestonhullwhiteengine.cpp +44 -0
  229. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticpdfhestonengine.cpp +39 -0
  230. pyquantlib-0.6.0/src/pricingengines/vanilla/analyticptdhestonengine.cpp +50 -0
  231. pyquantlib-0.6.0/src/pricingengines/vanilla/coshestonengine.cpp +49 -0
  232. pyquantlib-0.6.0/src/pricingengines/vanilla/exponentialfittinghestonengine.cpp +43 -0
  233. pyquantlib-0.6.0/src/pricingengines/vanilla/fdbatesvanillaengine.cpp +52 -0
  234. pyquantlib-0.6.0/src/pricingengines/vanilla/fdblackscholesshoutengine.cpp +50 -0
  235. pyquantlib-0.6.0/src/pricingengines/vanilla/fdcevvanillaengine.cpp +67 -0
  236. pyquantlib-0.6.0/src/pricingengines/vanilla/fdhestonhullwhitevanillaengine.cpp +62 -0
  237. pyquantlib-0.6.0/src/pricingengines/vanilla/fdhestonvanillaengine.cpp +98 -0
  238. pyquantlib-0.6.0/src/pricingengines/vanilla/fdornsteinuhlenbeckvanillaengine.cpp +56 -0
  239. pyquantlib-0.6.0/src/pricingengines/vanilla/fdsabrvanillaengine.cpp +73 -0
  240. pyquantlib-0.6.0/src/pricingengines/vanilla/hestonexpansionengine.cpp +40 -0
  241. pyquantlib-0.6.0/src/pricingengines/vanilla/juquadraticengine.cpp +31 -0
  242. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/mcamericanengine.cpp +1 -11
  243. pyquantlib-0.6.0/src/pricingengines/vanilla/mcdigitalengine.cpp +99 -0
  244. pyquantlib-0.6.0/src/pricingengines/vanilla/mceuropeangjrgarchengine.cpp +96 -0
  245. pyquantlib-0.6.0/src/pricingengines/vanilla/mceuropeanhestonengine.cpp +106 -0
  246. pyquantlib-0.6.0/src/pricingengines/vanilla/qdplusamericanengine.cpp +53 -0
  247. pyquantlib-0.6.0/src/processes/all.cpp +60 -0
  248. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/processes/batesprocess.cpp +5 -0
  249. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/processes/blackscholesprocess.cpp +6 -0
  250. pyquantlib-0.6.0/src/processes/extendedornsteinuhlenbeckprocess.cpp +53 -0
  251. pyquantlib-0.6.0/src/processes/forwardmeasureprocess.cpp +47 -0
  252. pyquantlib-0.6.0/src/processes/g2process.cpp +48 -0
  253. pyquantlib-0.6.0/src/processes/geometricbrownianmotionprocess.cpp +33 -0
  254. pyquantlib-0.6.0/src/processes/gjrgarchprocess.cpp +95 -0
  255. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/processes/hestonprocess.cpp +5 -0
  256. pyquantlib-0.6.0/src/processes/hestonslvprocess.cpp +60 -0
  257. pyquantlib-0.6.0/src/processes/hullwhiteprocess.cpp +83 -0
  258. pyquantlib-0.6.0/src/processes/hybridhestonhullwhiteprocess.cpp +52 -0
  259. pyquantlib-0.6.0/src/processes/merton76process.cpp +86 -0
  260. pyquantlib-0.6.0/src/processes/ornsteinuhlenbeckprocess.cpp +41 -0
  261. pyquantlib-0.6.0/src/processes/squarerootprocess.cpp +40 -0
  262. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/all.cpp +32 -0
  263. pyquantlib-0.6.0/src/termstructures/volatility/equityfx/andreasenhugelocalvoladapter.cpp +31 -0
  264. pyquantlib-0.6.0/src/termstructures/volatility/equityfx/andreasenhugevolatilityadapter.cpp +32 -0
  265. pyquantlib-0.6.0/src/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.cpp +90 -0
  266. pyquantlib-0.6.0/src/termstructures/volatility/flatsmilesection.cpp +60 -0
  267. pyquantlib-0.6.0/src/termstructures/volatility/hestonblackvolsurface.cpp +38 -0
  268. pyquantlib-0.6.0/src/termstructures/volatility/kahalesmilesection.cpp +62 -0
  269. pyquantlib-0.6.0/src/termstructures/volatility/noarbsabr.cpp +54 -0
  270. pyquantlib-0.6.0/src/termstructures/volatility/noarbsabrinterpolatedsmilesection.cpp +78 -0
  271. pyquantlib-0.6.0/src/termstructures/volatility/noarbsabrsmilesection.cpp +51 -0
  272. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/smilesection.cpp +7 -0
  273. pyquantlib-0.6.0/src/termstructures/volatility/spreadedswaptionvol.cpp +42 -0
  274. pyquantlib-0.6.0/src/termstructures/yield/compositezeroyieldstructure.cpp +55 -0
  275. pyquantlib-0.6.0/src/termstructures/yield/forwardspreadedtermstructure.cpp +41 -0
  276. pyquantlib-0.6.0/src/termstructures/yield/impliedtermstructure.cpp +39 -0
  277. pyquantlib-0.6.0/src/termstructures/yield/quantotermstructure.cpp +71 -0
  278. pyquantlib-0.6.0/src/termstructures/yield/ultimateforwardtermstructure.cpp +56 -0
  279. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/period.cpp +11 -0
  280. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_cashflows.py +591 -14
  281. pyquantlib-0.6.0/tests/test_experimental_exoticoptions.py +72 -0
  282. pyquantlib-0.6.0/tests/test_experimental_variancegamma.py +214 -0
  283. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_experimental_volatility.py +23 -0
  284. pyquantlib-0.6.0/tests/test_extensions.py +161 -0
  285. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_indexes.py +83 -0
  286. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_instruments.py +106 -0
  287. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_instruments_bonds.py +25 -0
  288. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_math.py +126 -0
  289. pyquantlib-0.6.0/tests/test_math_integrals.py +314 -0
  290. pyquantlib-0.6.0/tests/test_math_interpolations.py +291 -0
  291. pyquantlib-0.6.0/tests/test_math_optimization.py +133 -0
  292. pyquantlib-0.6.0/tests/test_math_randomnumbers.py +532 -0
  293. pyquantlib-0.6.0/tests/test_math_statistics.py +274 -0
  294. pyquantlib-0.6.0/tests/test_methods.py +2929 -0
  295. pyquantlib-0.6.0/tests/test_models_equity.py +429 -0
  296. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_models_shortrate.py +418 -0
  297. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines.py +108 -0
  298. pyquantlib-0.6.0/tests/test_pricingengines_barrier.py +305 -0
  299. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_capfloor.py +87 -0
  300. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_exotic.py +56 -0
  301. pyquantlib-0.6.0/tests/test_pricingengines_forward.py +167 -0
  302. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_quanto.py +64 -0
  303. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_swaption.py +200 -0
  304. pyquantlib-0.6.0/tests/test_pricingengines_vanilla.py +1842 -0
  305. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_processes.py +546 -0
  306. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_termstructures_volatility.py +325 -0
  307. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_termstructures_yield.py +158 -0
  308. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_time.py +38 -0
  309. pyquantlib-0.4.0/docs/api/processes.md +0 -96
  310. pyquantlib-0.4.0/docs/changelog.md +0 -296
  311. pyquantlib-0.4.0/examples/modified_kirk_engine.ipynb +0 -494
  312. pyquantlib-0.4.0/pyquantlib/version.py +0 -1
  313. pyquantlib-0.4.0/src/math/all.cpp +0 -38
  314. pyquantlib-0.4.0/src/methods/all.cpp +0 -21
  315. pyquantlib-0.4.0/src/processes/all.cpp +0 -28
  316. pyquantlib-0.4.0/tests/test_extensions.py +0 -88
  317. pyquantlib-0.4.0/tests/test_methods.py +0 -330
  318. pyquantlib-0.4.0/tests/test_pricingengines_barrier.py +0 -139
  319. pyquantlib-0.4.0/tests/test_pricingengines_forward.py +0 -74
  320. pyquantlib-0.4.0/tests/test_pricingengines_vanilla.py +0 -883
  321. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.gitattributes +0 -0
  322. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  323. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  324. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  325. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/ISSUE_TEMPLATE/infrastructure.md +0 -0
  326. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/scripts/build-quantlib-windows.ps1 +0 -0
  327. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/workflows/macos.yml +0 -0
  328. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.github/workflows/windows.yml +0 -0
  329. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.gitignore +0 -0
  330. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/.readthedocs.yaml +0 -0
  331. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/CITATION.cff +0 -0
  332. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/CMakeLists.txt +0 -0
  333. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/CMakePresets.json +0 -0
  334. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/CONTRIBUTING.md +0 -0
  335. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/LICENSE +0 -0
  336. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/SECURITY.md +0 -0
  337. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/_static/favicon.svg +0 -0
  338. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/_static/logo.svg +0 -0
  339. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/currencies.md +0 -0
  340. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/experimental.md +0 -0
  341. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/extensions.md +0 -0
  342. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/instruments.md +0 -0
  343. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/quotes.md +0 -0
  344. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/api/time.md +0 -0
  345. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/building.md +0 -0
  346. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/api-design.md +0 -0
  347. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/bridge-defaults.md +0 -0
  348. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/builder-pattern.md +0 -0
  349. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/cross-tu-holders.md +0 -0
  350. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/diamond-inheritance.md +0 -0
  351. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/enum-singletons.md +0 -0
  352. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/hidden-handles.md +0 -0
  353. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/interpolation.md +0 -0
  354. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/protected-members.md +0 -0
  355. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/python-subclassing.md +0 -0
  356. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/design/settings-singleton.md +0 -0
  357. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/examples/index.md +0 -0
  358. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/handles.md +0 -0
  359. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/installation.md +0 -0
  360. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/numpy.md +0 -0
  361. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/quickstart.md +0 -0
  362. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/docs/troubleshooting.md +0 -0
  363. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/README.md +0 -0
  364. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/bermudan_swaption.ipynb +0 -0
  365. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/bonds.ipynb +0 -0
  366. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/cds.ipynb +0 -0
  367. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/equity_option.ipynb +0 -0
  368. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/hello_pyquantlib.ipynb +0 -0
  369. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/inflation_derivatives.ipynb +0 -0
  370. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/multicurve_bootstrapping.ipynb +0 -0
  371. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/numpy_interoperability.ipynb +0 -0
  372. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/replication.ipynb +0 -0
  373. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/examples/svi_smile.ipynb +0 -0
  374. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/extensions.json +0 -0
  375. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/binding_manager.h +0 -0
  376. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/null_utils.h +0 -0
  377. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/shared_ptr_from_python.h +0 -0
  378. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/trampolines.h +0 -0
  379. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/include/pyquantlib/version.h +0 -0
  380. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/licenseheader.txt +0 -0
  381. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyproject.toml +0 -0
  382. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/extensions/__init__.py +0 -0
  383. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/extensions/modified_kirk_engine.py +0 -0
  384. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/pyquantlib/py.typed +0 -0
  385. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/requirements-dev.txt +0 -0
  386. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/scripts/README.md +0 -0
  387. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/scripts/build_docs.py +0 -0
  388. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/scripts/clean.py +0 -0
  389. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/scripts/rebuild.py +0 -0
  390. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/scripts/test.py +0 -0
  391. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/settings.json +0 -0
  392. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/capflooredinflationcoupon.cpp +0 -0
  393. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/cmscoupon.cpp +0 -0
  394. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/coupon.cpp +0 -0
  395. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/couponpricer.cpp +0 -0
  396. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/dividend.cpp +0 -0
  397. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/duration.cpp +0 -0
  398. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/fixedratecoupon.cpp +0 -0
  399. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/floatingratecoupon.cpp +0 -0
  400. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/iborcoupon.cpp +0 -0
  401. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/inflationcoupon.cpp +0 -0
  402. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/inflationcouponpricer.cpp +0 -0
  403. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/lineartsrpricer.cpp +0 -0
  404. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/overnightindexedcoupon.cpp +0 -0
  405. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/rateaveraging.cpp +0 -0
  406. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/simplecashflow.cpp +0 -0
  407. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/yoyinflationcoupon.cpp +0 -0
  408. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/cashflows/zeroinflationcashflow.cpp +0 -0
  409. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/cashflow.cpp +0 -0
  410. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/cdspricingmodel.cpp +0 -0
  411. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/compounding.cpp +0 -0
  412. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/constants.cpp +0 -0
  413. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/currency.cpp +0 -0
  414. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/default.cpp +0 -0
  415. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/exchangerate.cpp +0 -0
  416. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/exercise.cpp +0 -0
  417. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/forward.cpp +0 -0
  418. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/index.cpp +0 -0
  419. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/instrument.cpp +0 -0
  420. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/interestrate.cpp +0 -0
  421. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/money.cpp +0 -0
  422. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/option.cpp +0 -0
  423. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/payoff.cpp +0 -0
  424. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/pricingengine.cpp +0 -0
  425. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/quote.cpp +0 -0
  426. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/settings.cpp +0 -0
  427. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/stochasticprocess.cpp +0 -0
  428. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/termstructure.cpp +0 -0
  429. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/core/timegrid.cpp +0 -0
  430. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/currencies/all.cpp +0 -0
  431. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/currencies/currencies.cpp +0 -0
  432. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/currencies/exchangeratemanager.cpp +0 -0
  433. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/callablebonds/blackcallablebondengine.cpp +0 -0
  434. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/callablebonds/callablebond.cpp +0 -0
  435. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/callablebonds/callablebondconstantvol.cpp +0 -0
  436. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/callablebonds/callablebondvolstructure.cpp +0 -0
  437. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/callablebonds/treecallablebondengine.cpp +0 -0
  438. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/credit/blackcdsoptionengine.cpp +0 -0
  439. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/credit/cdsoption.cpp +0 -0
  440. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/experimental/volatility/svismilesection.cpp +0 -0
  441. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/equityindex.cpp +0 -0
  442. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/ibor/eonia.cpp +0 -0
  443. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/ibor/estr.cpp +0 -0
  444. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/ibor/euribor.cpp +0 -0
  445. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/ibor/sofr.cpp +0 -0
  446. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/ibor/sonia.cpp +0 -0
  447. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/iborindex.cpp +0 -0
  448. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflation/aucpi.cpp +0 -0
  449. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflation/euhicp.cpp +0 -0
  450. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflation/frhicp.cpp +0 -0
  451. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflation/ukrpi.cpp +0 -0
  452. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflation/uscpi.cpp +0 -0
  453. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflation/zacpi.cpp +0 -0
  454. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/inflationindex.cpp +0 -0
  455. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/interestrateindex.cpp +0 -0
  456. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/region.cpp +0 -0
  457. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/swap/swapindexes.cpp +0 -0
  458. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/indexes/swapindex.cpp +0 -0
  459. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/asianoption.cpp +0 -0
  460. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/assetswap.cpp +0 -0
  461. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/averagetype.cpp +0 -0
  462. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/barrieroption.cpp +0 -0
  463. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/barriertype.cpp +0 -0
  464. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/basketoption.cpp +0 -0
  465. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bond.cpp +0 -0
  466. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bondforward.cpp +0 -0
  467. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/amortizingfixedratebond.cpp +0 -0
  468. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/amortizingfloatingratebond.cpp +0 -0
  469. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/cmsratebond.cpp +0 -0
  470. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/convertiblebonds.cpp +0 -0
  471. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/cpibond.cpp +0 -0
  472. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/fixedratebond.cpp +0 -0
  473. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/floatingratebond.cpp +0 -0
  474. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/bonds/zerocouponbond.cpp +0 -0
  475. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/callabilityschedule.cpp +0 -0
  476. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/capfloor.cpp +0 -0
  477. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/claim.cpp +0 -0
  478. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/cliquetoption.cpp +0 -0
  479. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/complexchooseroption.cpp +0 -0
  480. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/compositeinstrument.cpp +0 -0
  481. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/compoundoption.cpp +0 -0
  482. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/creditdefaultswap.cpp +0 -0
  483. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/doublebarrieroption.cpp +0 -0
  484. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/doublebarriertype.cpp +0 -0
  485. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/equitytotalreturnswap.cpp +0 -0
  486. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/fixedvsfloatingswap.cpp +0 -0
  487. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/floatfloatswap.cpp +0 -0
  488. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/floatfloatswaption.cpp +0 -0
  489. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/forwardvanillaoption.cpp +0 -0
  490. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/inflationcapfloor.cpp +0 -0
  491. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/lookbackoption.cpp +0 -0
  492. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/makecapfloor.cpp +0 -0
  493. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/makeois.cpp +0 -0
  494. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/makeswaption.cpp +0 -0
  495. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/makevanillaswap.cpp +0 -0
  496. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/makeyoyinflationcapfloor.cpp +0 -0
  497. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/margrabeoption.cpp +0 -0
  498. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/multiassetoption.cpp +0 -0
  499. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/nonstandardswap.cpp +0 -0
  500. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/nonstandardswaption.cpp +0 -0
  501. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/oneassetoption.cpp +0 -0
  502. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/overnightindexedswap.cpp +0 -0
  503. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/payoffs.cpp +0 -0
  504. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/quantovanillaoption.cpp +0 -0
  505. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/simplechooseroption.cpp +0 -0
  506. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/swap.cpp +0 -0
  507. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/swaption.cpp +0 -0
  508. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/vanillaoption.cpp +0 -0
  509. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/vanillaswap.cpp +0 -0
  510. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/varianceswap.cpp +0 -0
  511. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/yearonyearinflationswap.cpp +0 -0
  512. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/zerocouponinflationswap.cpp +0 -0
  513. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/instruments/zerocouponswap.cpp +0 -0
  514. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/main.cpp +1 -1
  515. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/array.cpp +0 -0
  516. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/distributions/bivariatenormaldistribution.cpp +0 -0
  517. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/distributions/normaldistribution.cpp +0 -0
  518. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/interpolations/backwardflatinterpolation.cpp +0 -0
  519. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/interpolations/cubicinterpolation.cpp +0 -0
  520. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/interpolations/extrapolation.cpp +0 -0
  521. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/interpolations/interpolation.cpp +0 -0
  522. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/interpolations/linearinterpolation.cpp +0 -0
  523. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/interpolations/loglinearinterpolation.cpp +0 -0
  524. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/matrix.cpp +0 -0
  525. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/optimization/constraint.cpp +0 -0
  526. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/optimization/costfunction.cpp +0 -0
  527. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/optimization/endcriteria.cpp +0 -0
  528. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/optimization/levenbergmarquardt.cpp +0 -0
  529. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/optimization/method.cpp +0 -0
  530. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/optimization/problem.cpp +0 -0
  531. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/rounding.cpp +0 -0
  532. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/math/solvers1d/solvers1d.cpp +0 -0
  533. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/calibrationhelper.cpp +0 -0
  534. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/equity/batesmodel.cpp +0 -0
  535. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/equity/hestonmodel.cpp +0 -0
  536. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/model.cpp +0 -0
  537. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/parameter.cpp +0 -0
  538. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/piecewisetimedependenthestonmodel.cpp +0 -0
  539. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/calibrationhelpers/swaptionhelper.cpp +0 -0
  540. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/onefactormodel.cpp +0 -0
  541. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/onefactormodels/blackkarasinski.cpp +0 -0
  542. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/onefactormodels/vasicek.cpp +0 -0
  543. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/models/shortrate/twofactormodel.cpp +0 -0
  544. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/patterns/all.cpp +0 -0
  545. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/patterns/lazyobject.cpp +0 -0
  546. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/patterns/observable.cpp +0 -0
  547. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/asian/analytic_cont_geom_av_price.cpp +0 -0
  548. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/asian/analytic_discr_geom_av_price.cpp +0 -0
  549. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/asian/mc_discr_arith_av_price.cpp +0 -0
  550. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/asian/turnbullwakemanasianengine.cpp +0 -0
  551. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/barrier/analyticbarrierengine.cpp +0 -0
  552. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/barrier/analyticdoublebarrierengine.cpp +0 -0
  553. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/barrier/fdblackscholesbarrierengine.cpp +0 -0
  554. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/bjerksundstenslandspreadengine.cpp +0 -0
  555. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/denglizhoubasketengine.cpp +0 -0
  556. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/fd2dblackscholesvanillaengine.cpp +0 -0
  557. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/kirkengine.cpp +0 -0
  558. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/mceuropeanbasketengine.cpp +0 -0
  559. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/operatorsplittingspreadengine.cpp +0 -0
  560. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/spreadblackscholesvanillaengine.cpp +0 -0
  561. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/basket/stulzengine.cpp +0 -0
  562. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/blackformula.cpp +0 -0
  563. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/bond/binomialconvertibleengine.cpp +0 -0
  564. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/bond/bondfunctions.cpp +0 -0
  565. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/bond/discountingbondengine.cpp +0 -0
  566. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/capfloor/bacheliercapfloorengine.cpp +0 -0
  567. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/capfloor/blackcapfloorengine.cpp +0 -0
  568. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/cliquet/analyticcliquetengine.cpp +0 -0
  569. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/credit/isdacdsengine.cpp +0 -0
  570. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/credit/midpointcdsengine.cpp +0 -0
  571. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/exotic/analyticamericanmargrabeengine.cpp +0 -0
  572. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/exotic/analyticcomplexchooserengine.cpp +0 -0
  573. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/exotic/analyticcompoundoptionengine.cpp +0 -0
  574. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/exotic/analyticeuropeanmargrabeengine.cpp +0 -0
  575. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/exotic/analyticsimplechooserengine.cpp +0 -0
  576. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/forward/forwardengine.cpp +0 -0
  577. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/forward/replicatingvarianceswapengine.cpp +0 -0
  578. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/genericmodelengine.cpp +0 -0
  579. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/inflation/inflationcapfloorengines.cpp +0 -0
  580. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/lookback/analyticcontinuousfixedlookback.cpp +0 -0
  581. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/lookback/analyticcontinuousfloatinglookback.cpp +0 -0
  582. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/lookback/analyticcontinuouspartialfixedlookback.cpp +0 -0
  583. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/lookback/analyticcontinuouspartialfloatinglookback.cpp +0 -0
  584. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swap/discountingswapengine.cpp +0 -0
  585. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swaption/blackswaptionengine.cpp +0 -0
  586. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swaption/fdg2swaptionengine.cpp +0 -0
  587. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swaption/fdhullwhiteswaptionengine.cpp +0 -0
  588. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swaption/g2swaptionengine.cpp +0 -0
  589. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swaption/jamshidianswaptionengine.cpp +0 -0
  590. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/swaption/treeswaptionengine.cpp +0 -0
  591. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/analyticeuropeanengine.cpp +0 -0
  592. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp +0 -0
  593. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/analytichestonengine.cpp +0 -0
  594. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/baroneadesiwhaleyengine.cpp +0 -0
  595. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/batesengine.cpp +0 -0
  596. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/binomialengine.cpp +0 -0
  597. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/bjerksundstenslandengine.cpp +0 -0
  598. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/fdblackscholesvanillaengine.cpp +0 -0
  599. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/integralengine.cpp +0 -0
  600. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/mceuropeanengine.cpp +0 -0
  601. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/pricingengines/vanilla/qdfpamericanengine.cpp +0 -0
  602. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/processes/eulerdiscretization.cpp +0 -0
  603. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/processes/stochasticprocessarray.cpp +0 -0
  604. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/quotes/all.cpp +0 -0
  605. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/quotes/compositequote.cpp +0 -0
  606. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/quotes/derivedquote.cpp +0 -0
  607. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/quotes/simplequote.cpp +0 -0
  608. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/submodules.cpp +0 -0
  609. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/credit/defaultprobabilityhelpers.cpp +0 -0
  610. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/credit/flathazardrate.cpp +0 -0
  611. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/credit/piecewisedefaultcurve.cpp +0 -0
  612. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/defaulttermstructure.cpp +0 -0
  613. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/inflationhelper.cpp +0 -0
  614. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/inflationhelpers.cpp +0 -0
  615. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/interpolatedyoyinflationcurve.cpp +0 -0
  616. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/interpolatedzeroinflationcurve.cpp +0 -0
  617. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/piecewiseyoyinflationcurve.cpp +0 -0
  618. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/piecewisezeroinflationcurve.cpp +0 -0
  619. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflation/seasonality.cpp +0 -0
  620. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/inflationtermstructure.cpp +0 -0
  621. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/capfloor/capfloortermvolatilitystructure.cpp +0 -0
  622. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/capfloor/capfloortermvolsurface.cpp +0 -0
  623. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/blackconstantvol.cpp +0 -0
  624. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/blackvariancesurface.cpp +0 -0
  625. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/blackvoltermstructure.cpp +0 -0
  626. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp +0 -0
  627. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/localconstantvol.cpp +0 -0
  628. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/localvolsurface.cpp +0 -0
  629. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/localvoltermstructure.cpp +0 -0
  630. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/equityfx/noexceptlocalvolsurface.cpp +0 -0
  631. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp +0 -0
  632. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/optionlet/constantoptionletvol.cpp +0 -0
  633. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/optionlet/optionletstripper.cpp +0 -0
  634. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/optionlet/optionletstripper1.cpp +0 -0
  635. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp +0 -0
  636. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/optionlet/strippedoptionletadapter.cpp +0 -0
  637. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/optionlet/strippedoptionletbase.cpp +0 -0
  638. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/sabrinterpolatedsmilesection.cpp +0 -0
  639. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/sabrsmilesection.cpp +0 -0
  640. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/swaption/sabrswaptionvolcube.cpp +0 -0
  641. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/swaption/swaptionconstantvol.cpp +0 -0
  642. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/swaption/swaptionvolcube.cpp +0 -0
  643. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/swaption/swaptionvoldiscrete.cpp +0 -0
  644. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/swaption/swaptionvolmatrix.cpp +0 -0
  645. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/swaption/swaptionvolstructure.cpp +0 -0
  646. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/volatility/volatilitytype.cpp +0 -0
  647. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/voltermstructure.cpp +0 -0
  648. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/bondhelpers.cpp +0 -0
  649. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/discountcurve.cpp +0 -0
  650. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/fittedbonddiscountcurve.cpp +0 -0
  651. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/flatforward.cpp +0 -0
  652. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/forwardcurve.cpp +0 -0
  653. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/nonlinearfittingmethods.cpp +0 -0
  654. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/oisratehelper.cpp +0 -0
  655. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/piecewiseyieldcurve.cpp +0 -0
  656. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/ratehelpers.cpp +0 -0
  657. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/zerocurve.cpp +0 -0
  658. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yield/zerospreadedtermstructure.cpp +0 -0
  659. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/termstructures/yieldtermstructure.cpp +0 -0
  660. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/all.cpp +0 -0
  661. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/businessdayconvention.cpp +0 -0
  662. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/calendar.cpp +0 -0
  663. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/calendars/calendars.cpp +0 -0
  664. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/date.cpp +0 -0
  665. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/dategenerationrule.cpp +0 -0
  666. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/daycounter.cpp +0 -0
  667. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/daycounters/daycounters.cpp +0 -0
  668. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/frequency.cpp +0 -0
  669. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/schedule.cpp +0 -0
  670. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/timeunit.cpp +0 -0
  671. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/time/weekday.cpp +0 -0
  672. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/utilities/all.cpp +0 -0
  673. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/utilities/null.cpp +0 -0
  674. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/src/utilities/observablevalue.cpp +0 -0
  675. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/conftest.py +0 -0
  676. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_core.py +0 -0
  677. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_currencies.py +0 -0
  678. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_experimental_callablebonds.py +0 -0
  679. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_experimental_credit.py +0 -0
  680. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_math_distributions.py +0 -0
  681. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_math_solvers1d.py +0 -0
  682. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_models.py +0 -0
  683. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_asian.py +0 -0
  684. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_basket.py +0 -0
  685. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_bond.py +0 -0
  686. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_cliquet.py +0 -0
  687. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_credit.py +0 -0
  688. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_pricingengines_lookback.py +0 -0
  689. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_quotes.py +0 -0
  690. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_termstructures.py +0 -0
  691. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_termstructures_credit.py +0 -0
  692. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_termstructures_inflation.py +0 -0
  693. {pyquantlib-0.4.0 → pyquantlib-0.6.0}/tests/test_utilities.py +0 -0
@@ -101,12 +101,12 @@ jobs:
101
101
 
102
102
  - name: Run tests with coverage
103
103
  run: |
104
- pytest --cov=tests --cov-report=xml --cov-report=term-missing
104
+ pytest --cov=pyquantlib --cov=tests --cov-report=xml --cov-report=term-missing
105
105
  env:
106
106
  LD_LIBRARY_PATH: /home/runner/quantlib-install/lib
107
107
 
108
108
  - name: Upload coverage to Codecov
109
- uses: codecov/codecov-action@v4
109
+ uses: codecov/codecov-action@v5
110
110
  with:
111
111
  files: ./coverage.xml
112
112
  fail_ci_if_error: false
@@ -34,6 +34,32 @@ jobs:
34
34
  steps:
35
35
  - uses: actions/checkout@v4
36
36
 
37
+ - name: Pre-cache virtualenv for cibuildwheel
38
+ shell: bash
39
+ run: |
40
+ VER=20.26.6
41
+ if [ "$RUNNER_OS" = "Windows" ]; then
42
+ CACHE_DIR="$LOCALAPPDATA/pypa/cibuildwheel/Cache"
43
+ elif [ "$RUNNER_OS" = "macOS" ]; then
44
+ CACHE_DIR="$HOME/Library/Caches/cibuildwheel"
45
+ else
46
+ CACHE_DIR="$HOME/.cache/cibuildwheel"
47
+ fi
48
+ mkdir -p "$CACHE_DIR"
49
+ DEST="$CACHE_DIR/virtualenv-${VER}.pyz"
50
+ if [ ! -f "$DEST" ]; then
51
+ for i in 1 2 3 4 5; do
52
+ if curl -sL --retry 3 --retry-delay 10 -o "$DEST" \
53
+ "https://github.com/pypa/get-virtualenv/blob/${VER}/public/virtualenv.pyz?raw=true"; then
54
+ echo "Downloaded virtualenv-${VER}.pyz (attempt $i)"
55
+ break
56
+ fi
57
+ echo "Attempt $i failed, waiting 30s..."
58
+ sleep 30
59
+ done
60
+ fi
61
+ ls -la "$DEST"
62
+
37
63
  - name: Build wheels
38
64
  uses: pypa/cibuildwheel@v2.21
39
65
  env:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pyquantlib
3
- Version: 0.4.0
3
+ Version: 0.6.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>
@@ -94,8 +94,6 @@ Description-Content-Type: text/markdown
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)
96
96
 
97
- > **Beta Status**: This project is under active development. API may change.
98
-
99
97
  ## Overview
100
98
 
101
99
  PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), the open-source library for quantitative finance. Built with [pybind11](https://github.com/pybind/pybind11), it offers a more Pythonic API than existing alternatives.
@@ -248,6 +246,3 @@ BSD 3-Clause License. See [LICENSE](LICENSE) for details.
248
246
  - [pybind11](https://github.com/pybind/pybind11) - C++/Python bindings
249
247
  - [scikit-build-core](https://github.com/scikit-build/scikit-build-core) - Build system
250
248
 
251
- ## Status
252
-
253
- PyQuantLib is under active development. For broader QuantLib coverage today, use [QuantLib-SWIG](https://github.com/lballabio/QuantLib-SWIG).
@@ -11,8 +11,6 @@
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)
13
13
 
14
- > **Beta Status**: This project is under active development. API may change.
15
-
16
14
  ## Overview
17
15
 
18
16
  PyQuantLib provides Python bindings for [QuantLib](https://www.quantlib.org/), the open-source library for quantitative finance. Built with [pybind11](https://github.com/pybind/pybind11), it offers a more Pythonic API than existing alternatives.
@@ -165,6 +163,3 @@ BSD 3-Clause License. See [LICENSE](LICENSE) for details.
165
163
  - [pybind11](https://github.com/pybind/pybind11) - C++/Python bindings
166
164
  - [scikit-build-core](https://github.com/scikit-build/scikit-build-core) - Build system
167
165
 
168
- ## Status
169
-
170
- PyQuantLib is under active development. For broader QuantLib coverage today, use [QuantLib-SWIG](https://github.com/lballabio/QuantLib-SWIG).
@@ -1,5 +1,18 @@
1
1
  /* PyQuantLib documentation custom styles */
2
2
 
3
+ /* Lower Furo's right sidebar breakpoint from 82em (1312px) to 72em (1152px) */
4
+ @media (min-width: 72em) and (max-width: 82em) {
5
+ .toc-drawer {
6
+ position: static !important;
7
+ right: auto !important;
8
+ height: auto !important;
9
+ border-left: none;
10
+ }
11
+ .toc-content-icon {
12
+ display: none !important;
13
+ }
14
+ }
15
+
3
16
  /* Headline sizes and spacing */
4
17
  h1 {
5
18
  font-size: 2rem;
@@ -108,6 +108,121 @@ coupon = ql.CmsCoupon(
108
108
  )
109
109
  ```
110
110
 
111
+ ## Capped/Floored Coupons
112
+
113
+ ### CappedFlooredCoupon
114
+
115
+ ```{eval-rst}
116
+ .. autoclass:: pyquantlib.CappedFlooredCoupon
117
+ ```
118
+
119
+ Wraps a floating-rate coupon with optional cap and/or floor. Use `None` for absent cap or floor.
120
+
121
+ ```python
122
+ underlying = ql.IborCoupon(payment_date, 1e6, start, end, 2, euribor6m)
123
+ cf = ql.CappedFlooredCoupon(underlying, cap=0.05, floor=0.01)
124
+ print(cf.isCapped(), cf.isFloored()) # True True
125
+ print(cf.effectiveCap(), cf.effectiveFloor())
126
+ ```
127
+
128
+ ### CappedFlooredIborCoupon
129
+
130
+ ```{eval-rst}
131
+ .. autoclass:: pyquantlib.CappedFlooredIborCoupon
132
+ ```
133
+
134
+ Convenience class that builds a capped/floored Ibor coupon in a single constructor.
135
+
136
+ ### CappedFlooredCmsCoupon
137
+
138
+ ```{eval-rst}
139
+ .. autoclass:: pyquantlib.CappedFlooredCmsCoupon
140
+ ```
141
+
142
+ Convenience class that builds a capped/floored CMS coupon in a single constructor.
143
+
144
+ ## Digital Coupons
145
+
146
+ ### DigitalCoupon
147
+
148
+ ```{eval-rst}
149
+ .. autoclass:: pyquantlib.DigitalCoupon
150
+ ```
151
+
152
+ Floating-rate coupon with embedded digital (binary) call and/or put option.
153
+
154
+ ```python
155
+ dc = ql.DigitalCoupon(underlying, callStrike=0.04, putStrike=0.02)
156
+ print(dc.hasCall(), dc.hasPut(), dc.hasCollar()) # True True True
157
+ ```
158
+
159
+ ### DigitalIborCoupon
160
+
161
+ ```{eval-rst}
162
+ .. autoclass:: pyquantlib.DigitalIborCoupon
163
+ ```
164
+
165
+ Digital coupon specialized for Ibor underlyings.
166
+
167
+ ### DigitalCmsCoupon
168
+
169
+ ```{eval-rst}
170
+ .. autoclass:: pyquantlib.DigitalCmsCoupon
171
+ ```
172
+
173
+ Digital coupon specialized for CMS underlyings.
174
+
175
+ ### DigitalIborLeg
176
+
177
+ ```{eval-rst}
178
+ .. autoclass:: pyquantlib.DigitalIborLeg
179
+ ```
180
+
181
+ Fluent builder for a leg of digital Ibor coupons.
182
+
183
+ ```python
184
+ leg = ql.DigitalIborLeg(schedule, euribor6m) \
185
+ .withNotionals(1e6) \
186
+ .withCallStrikes(0.04) \
187
+ .withLongCallOption(ql.PositionType.Long) \
188
+ .withReplication(ql.DigitalReplication()) \
189
+ .build()
190
+ ```
191
+
192
+ ### DigitalCmsLeg
193
+
194
+ ```{eval-rst}
195
+ .. autoclass:: pyquantlib.DigitalCmsLeg
196
+ ```
197
+
198
+ Fluent builder for a leg of digital CMS coupons. Same API as `DigitalIborLeg` but takes a `SwapIndex`.
199
+
200
+ ### ReplicationType
201
+
202
+ ```{eval-rst}
203
+ .. autoclass:: pyquantlib.ReplicationType
204
+ :members:
205
+ :undoc-members:
206
+ ```
207
+
208
+ | Value | Description |
209
+ |-------|-------------|
210
+ | `Sub` | Sub-replication (lower bound) |
211
+ | `Central` | Central replication |
212
+ | `Super` | Super-replication (upper bound) |
213
+
214
+ ### DigitalReplication
215
+
216
+ ```{eval-rst}
217
+ .. autoclass:: pyquantlib.DigitalReplication
218
+ ```
219
+
220
+ Configuration for digital option replication strategy.
221
+
222
+ ```python
223
+ repl = ql.DigitalReplication(ql.ReplicationType.Central, gap=1e-4)
224
+ ```
225
+
111
226
  ## Coupon Pricers
112
227
 
113
228
  ### BlackIborCouponPricer
@@ -150,6 +265,85 @@ ql.setCouponPricer(cms_leg, pricer)
150
265
  :undoc-members:
151
266
  ```
152
267
 
268
+ ### YieldCurveModel
269
+
270
+ ```{eval-rst}
271
+ .. autoclass:: pyquantlib.YieldCurveModel
272
+ :members:
273
+ :undoc-members:
274
+ ```
275
+
276
+ | Value | Description |
277
+ |-------|-------------|
278
+ | `Standard` | Standard yield curve model |
279
+ | `ExactYield` | Exact yield model |
280
+ | `ParallelShifts` | Parallel shifts model |
281
+ | `NonParallelShifts` | Non-parallel shifts model |
282
+
283
+ ### HaganPricer
284
+
285
+ ```{eval-rst}
286
+ .. autoclass:: pyquantlib.HaganPricer
287
+ ```
288
+
289
+ Abstract base class for Hagan-style CMS coupon pricers using static replication. Inherits from both `CmsCouponPricer` and `MeanRevertingPricer`.
290
+
291
+ ### AnalyticHaganPricer
292
+
293
+ ```{eval-rst}
294
+ .. autoclass:: pyquantlib.AnalyticHaganPricer
295
+ ```
296
+
297
+ Analytic CMS coupon pricer based on the Hagan formula.
298
+
299
+ ```python
300
+ pricer = ql.AnalyticHaganPricer(
301
+ swaption_vol, ql.YieldCurveModel.Standard, mean_reversion
302
+ )
303
+ ql.setCouponPricer(cms_leg, pricer)
304
+ ```
305
+
306
+ ### NumericHaganPricer
307
+
308
+ ```{eval-rst}
309
+ .. autoclass:: pyquantlib.NumericHaganPricer
310
+ ```
311
+
312
+ Numeric CMS coupon pricer using Hagan integration with configurable limits.
313
+
314
+ ```python
315
+ pricer = ql.NumericHaganPricer(
316
+ swaption_vol, ql.YieldCurveModel.Standard, mean_reversion,
317
+ lowerLimit=0.0, upperLimit=1.0, precision=1e-6
318
+ )
319
+ ```
320
+
321
+ ### CompoundingOvernightIndexedCouponPricer
322
+
323
+ ```{eval-rst}
324
+ .. autoclass:: pyquantlib.CompoundingOvernightIndexedCouponPricer
325
+ ```
326
+
327
+ Pricer for compounded overnight indexed coupons.
328
+
329
+ ### ArithmeticAveragedOvernightIndexedCouponPricer
330
+
331
+ ```{eval-rst}
332
+ .. autoclass:: pyquantlib.ArithmeticAveragedOvernightIndexedCouponPricer
333
+ ```
334
+
335
+ Pricer for arithmetically averaged overnight indexed coupons with optional convexity adjustment.
336
+
337
+ ```python
338
+ # Default (no convexity adjustment)
339
+ pricer = ql.ArithmeticAveragedOvernightIndexedCouponPricer()
340
+
341
+ # With convexity adjustment parameters
342
+ pricer = ql.ArithmeticAveragedOvernightIndexedCouponPricer(
343
+ meanReversion=0.03, volatility=0.01, byApprox=False
344
+ )
345
+ ```
346
+
153
347
  ### setCouponPricer
154
348
 
155
349
  ```{eval-rst}
@@ -216,6 +410,31 @@ leg = ql.CmsLeg(schedule, swap_index) \
216
410
  .build()
217
411
  ```
218
412
 
413
+ ## BMA Coupons
414
+
415
+ ### AverageBMACoupon
416
+
417
+ ```{eval-rst}
418
+ .. autoclass:: pyquantlib.AverageBMACoupon
419
+ ```
420
+
421
+ Coupon paying the weighted average of BMA fixings.
422
+
423
+ ### AverageBMALeg
424
+
425
+ ```{eval-rst}
426
+ .. autoclass:: pyquantlib.AverageBMALeg
427
+ ```
428
+
429
+ Builder for a sequence of average BMA coupons.
430
+
431
+ ```python
432
+ bma = ql.BMAIndex(curve)
433
+ leg = ql.AverageBMALeg(schedule, bma) \
434
+ .withNotionals(1e6) \
435
+ .leg()
436
+ ```
437
+
219
438
  ## Settings
220
439
 
221
440
  ### IborCouponSettings
@@ -408,5 +627,5 @@ divs = ql.DividendVector(
408
627
  | `Modified` | Modified duration |
409
628
 
410
629
  ```{note}
411
- Abstract base classes `CashFlow`, `Coupon`, `FloatingRateCouponPricer`, `MeanRevertingPricer`, `CmsCouponPricer`, `InflationCoupon`, and `InflationCouponPricer` are available in `pyquantlib.base` for custom implementations.
630
+ Abstract base classes `CashFlow`, `Coupon`, `FloatingRateCouponPricer`, `MeanRevertingPricer`, `CmsCouponPricer`, `HaganPricer`, `InflationCoupon`, and `InflationCouponPricer` are available in `pyquantlib.base` for `isinstance` checks and custom implementations.
412
631
  ```
@@ -116,6 +116,17 @@ equivalent = rate.equivalentRate(ql.Continuous, ql.NoFrequency, 1.0)
116
116
  | `SimpleThenCompounded` | Simple for $t < 1/n$, then compounded |
117
117
  | `CompoundedThenSimple` | Compounded for $t \geq 1/n$, then simple |
118
118
 
119
+ ### PositionType
120
+
121
+ ```{eval-rst}
122
+ .. autoclass:: pyquantlib.PositionType
123
+ ```
124
+
125
+ | Value | Description |
126
+ |-------|-------------|
127
+ | `Long` | Long position |
128
+ | `Short` | Short position |
129
+
119
130
  ### ProtectionSide
120
131
 
121
132
  ```{eval-rst}
@@ -20,6 +20,7 @@ PyQuantLib organizes QuantLib classes into logical groups:
20
20
  - **Term Structures**: Yield curves, volatility surfaces
21
21
  - **Processes**: Stochastic processes (Black-Scholes, Heston)
22
22
  - **Models**: Pricing models (Heston, etc.)
23
+ - **Methods**: Monte Carlo paths, Brownian bridges, generators
23
24
  - **Instruments**: Financial instruments (options, etc.)
24
25
  - **Pricing Engines**: Analytic, Monte Carlo, finite difference
25
26
  - **Experimental**: Experimental QuantLib features (SVI, etc.)
@@ -69,6 +70,7 @@ indexes
69
70
  termstructures
70
71
  processes
71
72
  models
73
+ methods
72
74
  instruments
73
75
  pricingengines
74
76
  experimental
@@ -217,6 +217,40 @@ swap_index = ql.EuriborSwapIsdaFixA(ql.Period(5, ql.Years), forwarding_curve)
217
217
  swap_index = ql.EuriborSwapIsdaFixA(ql.Period(5, ql.Years), forwarding_curve, discounting_curve)
218
218
  ```
219
219
 
220
+ ## BMA Index
221
+
222
+ ### BMAIndex
223
+
224
+ ```{eval-rst}
225
+ .. autoclass:: pyquantlib.BMAIndex
226
+ ```
227
+
228
+ Bond Market Association index (tax-exempt municipal reference rate). Fixes weekly on Wednesdays.
229
+
230
+ ```python
231
+ bma = ql.BMAIndex() # without forwarding curve
232
+ bma = ql.BMAIndex(curve) # with forwarding curve
233
+ sched = bma.fixingSchedule(start, end)
234
+ ```
235
+
236
+ ## Swap Spread Index
237
+
238
+ ### SwapSpreadIndex
239
+
240
+ ```{eval-rst}
241
+ .. autoclass:: pyquantlib.SwapSpreadIndex
242
+ ```
243
+
244
+ Spread between two swap rate indexes with configurable gearings.
245
+
246
+ ```python
247
+ idx1 = ql.EuriborSwapIsdaFixA(ql.Period("2Y"), curve)
248
+ idx2 = ql.EuriborSwapIsdaFixA(ql.Period("10Y"), curve)
249
+ spread = ql.SwapSpreadIndex("CMS2s10s", idx1, idx2)
250
+ # Custom gearings: 0.5 * idx1 - 0.5 * idx2
251
+ spread = ql.SwapSpreadIndex("Weighted", idx1, idx2, 0.5, -0.5)
252
+ ```
253
+
220
254
  ## Equity Indexes
221
255
 
222
256
  ### EquityIndex