pyquantlib 0.6.0__tar.gz → 0.7.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.
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/workflows/linux.yml +1 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/workflows/macos.yml +1 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/workflows/wheels.yml +1 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/workflows/windows.yml +1 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/CMakeLists.txt +33 -12
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/PKG-INFO +1 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/cashflows.md +16 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/instruments.md +42 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/pricingengines.md +190 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/termstructures.md +81 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/building.md +7 -5
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/changelog.md +52 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/installation.md +7 -2
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/pyquantlib.h +29 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/__init__.pyi +39 -5
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/_pyquantlib/__init__.pyi +443 -8
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/_pyquantlib/base.pyi +2 -2
- pyquantlib-0.7.0/pyquantlib/version.py +1 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/version.pyi +1 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/all.cpp +3 -10
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/overnightindexedcouponpricer.cpp +25 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/exercise.cpp +2 -1
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/all.cpp +0 -5
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/all.cpp +3 -3
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/all.cpp +7 -4
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/asianoption.cpp +9 -1
- pyquantlib-0.7.0/src/instruments/partialtimebarrieroption.cpp +49 -0
- pyquantlib-0.7.0/src/instruments/softbarrieroption.cpp +46 -0
- pyquantlib-0.7.0/src/instruments/twoassetbarrieroption.cpp +37 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/all.cpp +0 -7
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/all.cpp +0 -4
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/all.cpp +43 -13
- pyquantlib-0.7.0/src/pricingengines/asian/analytic_discr_geom_av_strike.cpp +31 -0
- pyquantlib-0.7.0/src/pricingengines/asian/choiasianengine.cpp +34 -0
- pyquantlib-0.7.0/src/pricingengines/asian/continuousarithmeticasianlevyengine.cpp +42 -0
- pyquantlib-0.7.0/src/pricingengines/asian/fdblackscholesasianengine.cpp +37 -0
- pyquantlib-0.7.0/src/pricingengines/asian/mc_discr_arith_av_price_heston.cpp +93 -0
- pyquantlib-0.7.0/src/pricingengines/asian/mc_discr_arith_av_strike.cpp +67 -0
- pyquantlib-0.7.0/src/pricingengines/asian/mc_discr_geom_av_price.cpp +67 -0
- pyquantlib-0.7.0/src/pricingengines/asian/mc_discr_geom_av_price_heston.cpp +89 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/analyticbinarybarrierengine.cpp +30 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/analyticpartialtimebarrieroptionengine.cpp +30 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/analyticsoftbarrierengine.cpp +30 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/analytictwoassetbarrierengine.cpp +45 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/binomialbarrierengine.cpp +94 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/fdhestonbarrierengine.cpp +38 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/fdhestondoublebarrierengine.cpp +38 -0
- pyquantlib-0.7.0/src/pricingengines/barrier/fdhestonrebateengine.cpp +38 -0
- pyquantlib-0.7.0/src/pricingengines/basket/choibasketengine.cpp +38 -0
- pyquantlib-0.7.0/src/pricingengines/basket/fdndimblackscholesvanillaengine.cpp +48 -0
- pyquantlib-0.7.0/src/pricingengines/basket/mcamericanbasketengine.cpp +86 -0
- pyquantlib-0.7.0/src/pricingengines/basket/singlefactorbsmbasketengine.cpp +33 -0
- pyquantlib-0.7.0/src/pricingengines/vanilla/cashdividendeuropeanengine.cpp +45 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdblackscholesvanillaengine.cpp +14 -15
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/all.cpp +0 -2
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/all.cpp +4 -20
- pyquantlib-0.7.0/src/termstructures/globalbootstrap.cpp +152 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflationtermstructure.cpp +2 -6
- pyquantlib-0.7.0/src/termstructures/multicurve.cpp +56 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/all.cpp +0 -5
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_cashflows.py +65 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_instruments.py +69 -0
- pyquantlib-0.7.0/tests/test_pricingengines_asian.py +426 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_barrier.py +254 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_basket.py +163 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_vanilla.py +49 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_termstructures_yield.py +246 -0
- pyquantlib-0.6.0/pyquantlib/version.py +0 -1
- pyquantlib-0.6.0/tests/test_pricingengines_asian.py +0 -174
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.gitattributes +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/ISSUE_TEMPLATE/infrastructure.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.github/scripts/build-quantlib-windows.ps1 +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.gitignore +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/.readthedocs.yaml +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/CITATION.cff +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/CMakePresets.json +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/CONTRIBUTING.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/LICENSE +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/README.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/SECURITY.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/_static/custom.css +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/_static/favicon.svg +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/_static/logo.svg +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/core.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/currencies.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/experimental.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/extensions.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/index.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/indexes.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/math.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/methods.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/models.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/processes.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/quotes.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/api/time.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/architecture.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/conf.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/contributing.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/api-design.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/bridge-defaults.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/builder-pattern.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/cross-tu-holders.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/diamond-inheritance.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/enum-singletons.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/hidden-handles.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/index.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/interpolation.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/protected-members.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/python-subclassing.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/reference-members.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/design/settings-singleton.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/examples/index.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/extending.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/handles.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/index.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/internals.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/numpy.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/quickstart.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/requirements.txt +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/docs/troubleshooting.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/README.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/bermudan_swaption.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/bonds.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/cds.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/equity_option.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/hello_pyquantlib.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/inflation_derivatives.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/multicurve_bootstrapping.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/numpy_interoperability.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/replication.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/spread_option.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/examples/svi_smile.ipynb +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/extensions.json +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/binding_manager.h +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/interpolation_helper.h +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/null_utils.h +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/shared_ptr_from_python.h +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/trampolines.h +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/include/pyquantlib/version.h +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/licenseheader.txt +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyproject.toml +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/__init__.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/builders.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/extensions/__init__.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/extensions/modified_kirk_engine.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/extensions/svi_smile_section.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/pyquantlib/py.typed +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/requirements-dev.txt +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/scripts/README.md +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/scripts/build_docs.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/scripts/clean.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/scripts/rebuild.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/scripts/stubgen.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/scripts/test.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/settings.json +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/averagebmacoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/capflooredcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/capflooredinflationcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/cmscoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/conundrumpricer.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/coupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/couponpricer.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/digitalcmscoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/digitalcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/digitaliborcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/dividend.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/duration.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/fixedratecoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/floatingratecoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/iborcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/inflationcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/inflationcouponpricer.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/lineartsrpricer.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/overnightindexedcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/rateaveraging.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/replication.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/simplecashflow.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/yoyinflationcoupon.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/cashflows/zeroinflationcashflow.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/all.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/cashflow.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/cdspricingmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/compounding.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/constants.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/currency.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/default.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/exchangerate.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/forward.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/index.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/instrument.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/interestrate.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/money.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/option.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/payoff.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/position.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/pricingengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/quote.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/settings.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/stochasticprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/termstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/core/timegrid.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/currencies/all.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/currencies/currencies.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/currencies/exchangeratemanager.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/callablebonds/blackcallablebondengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/callablebonds/callablebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/callablebonds/callablebondconstantvol.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/callablebonds/callablebondvolstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/callablebonds/treecallablebondengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/credit/blackcdsoptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/credit/cdsoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/exoticoptions/twoassetcorrelationoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/variancegamma/analyticvariancegammaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/variancegamma/fftvariancegammaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/variancegamma/variancegammamodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/variancegamma/variancegammaprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/experimental/volatility/svismilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/bmaindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/equityindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/ibor/eonia.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/ibor/estr.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/ibor/euribor.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/ibor/sofr.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/ibor/sonia.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/iborindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflation/aucpi.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflation/euhicp.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflation/frhicp.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflation/ukrpi.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflation/uscpi.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflation/zacpi.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/inflationindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/interestrateindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/region.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/swap/swapindexes.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/swapindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/indexes/swapspreadindex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/assetswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/averagetype.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/barrieroption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/barriertype.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/basketoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bondforward.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/amortizingcmsratebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/amortizingfixedratebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/amortizingfloatingratebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/cmsratebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/convertiblebonds.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/cpibond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/fixedratebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/floatingratebond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/bonds/zerocouponbond.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/callabilityschedule.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/capfloor.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/claim.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/cliquetoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/complexchooseroption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/compositeinstrument.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/compoundoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/creditdefaultswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/doublebarrieroption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/doublebarriertype.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/equitytotalreturnswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/fixedvsfloatingswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/floatfloatswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/floatfloatswaption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/forwardrateagreement.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/forwardvanillaoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/holderextensibleoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/inflationcapfloor.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/lookbackoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/makecapfloor.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/makeois.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/makeswaption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/makevanillaswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/makeyoyinflationcapfloor.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/margrabeoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/multiassetoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/nonstandardswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/nonstandardswaption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/oneassetoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/overnightindexedswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/payoffs.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/quantoforwardvanillaoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/quantovanillaoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/simplechooseroption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/swap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/swaption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/vanillaoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/vanillaswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/varianceswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/writerextensibleoption.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/yearonyearinflationswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/zerocouponinflationswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/instruments/zerocouponswap.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/main.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/array.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/distributions/bivariatenormaldistribution.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/distributions/normaldistribution.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/expsinhintegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/gaussianquadratures.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/gausslobattointegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/integral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/kronrodintegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/segmentintegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/simpsonintegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/tanhsinhintegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/integrals/trapezoidintegral.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/backwardflatinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/bicubicsplineinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/bilinearinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/chebyshevinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/cubicinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/extrapolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/forwardflatinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/interpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/interpolation2d.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/lagrangeinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/linearinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/interpolations/loglinearinterpolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/matrix.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/matrixutilities/svd.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/matrixutilities/symmetricschurdecomposition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/ode/adaptiverungekutta.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/bfgs.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/conjugategradient.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/constraint.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/costfunction.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/differentialevolution.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/endcriteria.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/levenbergmarquardt.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/method.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/problem.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/simplex.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/optimization/steepestdescent.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/boxmullergaussianrng.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/burley2020sobolrsg.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/haltonrsg.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/inversecumulativerng.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/inversecumulativersg.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/mt19937uniformrng.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/randomsequencegenerator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/sobolbrownianbridgersg.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/randomnumbers/sobolrsg.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/richardsonextrapolation.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/rounding.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/solvers1d/solvers1d.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/statistics/incrementalstatistics.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/statistics/sequencestatistics.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/math/statistics/statistics.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/boundarycondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/concentrating1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/exponentialjump1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdm1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdmblackscholesmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdmcev1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdmhestonvariancemesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdmmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdmmeshercomposite.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/fdmsimpleprocess1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/glued1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/predefined1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/meshers/uniform1dmesher.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdm2dblackscholesop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmbatesop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmblackscholesfwdop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmblackscholesop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmcevop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmg2op.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmhestonfwdop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmhestonhullwhiteop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmhestonop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmhullwhiteop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmlinearop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmlinearopcomposite.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmlinearopiterator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmlinearoplayout.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmlocalvolfwdop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmornsteinuhlenbeckop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmsabrop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/fdmsquarerootfwdop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/firstderivativeop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/ninepointlinearop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/nthorderderivativeop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/secondderivativeop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/secondordermixedderivativeop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/operators/triplebandlinearop.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/craigsneydscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/cranknicolsonscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/douglasscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/expliciteulerscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/hundsdorferscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/impliciteulerscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/methodoflinesscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/schemes/modifiedcraigsneydscheme.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdm1dimsolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdm2dblackscholessolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdm2dimsolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdm3dimsolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmbackwardsolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmbatessolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmblackscholessolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmg2solver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmhestonsolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmhullwhitesolver.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/solvers/fdmsolverdesc.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepcondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepconditions/fdmamericanstepcondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepconditions/fdmarithmeticaveragecondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepconditions/fdmbermudanstepcondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepconditions/fdmsimpleswingcondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepconditions/fdmsnapshotcondition.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/stepconditions/fdmstepconditioncomposite.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/bsmrndcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/cevrndcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdmdirichletboundary.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdmdiscountdirichletboundary.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdmdividendhandler.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdmhestongreensfct.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdminnervaluecalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdmquantohelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/fdmtimedepdirichletboundary.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/gbsmrndcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/hestonrndcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/localvolrndcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/riskneutraldensitycalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/finitedifferences/utilities/squarerootprocessrndcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/brownianbridge.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/lsmbasissystem.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/multipath.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/multipathgenerator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/path.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/pathgenerator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/methods/montecarlo/sample.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/all.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/calibrationhelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/equity/batesmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/equity/gjrgarchmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/equity/hestonmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/equity/hestonmodelhelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/equity/hestonslvfdmmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/equity/hestonslvmcmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/marketmodels/browniangenerator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/marketmodels/browniangenerators/mtbrowniangenerator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/marketmodels/browniangenerators/sobolbrowniangenerator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/model.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/parameter.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/piecewisetimedependenthestonmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/calibrationhelpers/caphelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/calibrationhelpers/swaptionhelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/blackkarasinski.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/coxingersollross.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/extendedcoxingersollross.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/gaussian1dmodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/gsr.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/hullwhite.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/markovfunctional.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/onefactormodels/vasicek.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/twofactormodel.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/models/shortrate/twofactormodels/g2.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/patterns/all.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/patterns/lazyobject.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/patterns/observable.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/asian/analytic_cont_geom_av_price.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/asian/analytic_discr_geom_av_price.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/asian/mc_discr_arith_av_price.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/asian/turnbullwakemanasianengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/bacheliercalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/analyticbarrierengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/analyticdoublebarrierbinaryengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/analyticdoublebarrierengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/fdblackscholesbarrierengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/fdblackscholesrebateengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/mcbarrierengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/barrier/mcdoublebarrierengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/bjerksundstenslandspreadengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/denglizhoubasketengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/fd2dblackscholesvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/kirkengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/mceuropeanbasketengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/operatorsplittingspreadengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/spreadblackscholesvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/basket/stulzengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/blackcalculator.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/blackformula.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/bond/binomialconvertibleengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/bond/bondfunctions.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/bond/discountingbondengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/capfloor/analyticcapfloorengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/capfloor/bacheliercapfloorengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/capfloor/blackcapfloorengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/capfloor/gaussian1dcapfloorengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/capfloor/treecapfloorengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/cliquet/analyticcliquetengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/credit/isdacdsengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/credit/midpointcdsengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticamericanmargrabeengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticcomplexchooserengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticcompoundoptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticeuropeanmargrabeengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticholderextensibleoptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticsimplechooserengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analytictwoassetcorrelationengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/exotic/analyticwriterextensibleoptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/forward/forwardengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/forward/mcforwardeuropeanbsengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/forward/mcforwardeuropeanhestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/forward/replicatingvarianceswapengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/genericmodelengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/inflation/inflationcapfloorengines.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/lookback/analyticcontinuousfixedlookback.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/lookback/analyticcontinuousfloatinglookback.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/lookback/analyticcontinuouspartialfixedlookback.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/lookback/analyticcontinuouspartialfloatinglookback.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/quanto/quantoengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swap/discountingswapengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/blackswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/fdg2swaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/fdhullwhiteswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/g2swaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/gaussian1djamshidianswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/gaussian1dnonstandardswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/gaussian1dswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/jamshidianswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/swaption/treeswaptionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticbsmhullwhiteengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticcevengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticdigitalamericanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticdividendeuropeanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticeuropeanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticeuropeanvasicekengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticgjrgarchengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analytich1hwengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analytichestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analytichestonhullwhiteengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticpdfhestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/analyticptdhestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/baroneadesiwhaleyengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/batesengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/binomialengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/bjerksundstenslandengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/coshestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/exponentialfittinghestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdbatesvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdblackscholesshoutengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdcevvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdhestonhullwhitevanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdhestonvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdornsteinuhlenbeckvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/fdsabrvanillaengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/hestonexpansionengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/integralengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/juquadraticengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/mcamericanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/mcdigitalengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/mceuropeanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/mceuropeangjrgarchengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/mceuropeanhestonengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/qdfpamericanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/pricingengines/vanilla/qdplusamericanengine.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/batesprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/blackscholesprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/eulerdiscretization.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/extendedornsteinuhlenbeckprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/forwardmeasureprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/g2process.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/geometricbrownianmotionprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/gjrgarchprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/hestonprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/hestonslvprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/hullwhiteprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/hybridhestonhullwhiteprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/merton76process.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/ornsteinuhlenbeckprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/squarerootprocess.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/processes/stochasticprocessarray.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/quotes/all.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/quotes/compositequote.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/quotes/derivedquote.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/quotes/simplequote.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/submodules.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/credit/defaultprobabilityhelpers.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/credit/flathazardrate.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/credit/piecewisedefaultcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/defaulttermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/inflationhelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/inflationhelpers.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/interpolatedyoyinflationcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/interpolatedzeroinflationcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/piecewiseyoyinflationcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/piecewisezeroinflationcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/inflation/seasonality.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/capfloor/capfloortermvolatilitystructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/capfloor/capfloortermvolsurface.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/andreasenhugelocalvoladapter.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/andreasenhugevolatilityadapter.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/blackconstantvol.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/blackvariancesurface.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/blackvoltermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/fixedlocalvolsurface.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/localconstantvol.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/localvolsurface.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/localvoltermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/equityfx/noexceptlocalvolsurface.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/flatsmilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/hestonblackvolsurface.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/kahalesmilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/noarbsabr.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/noarbsabrinterpolatedsmilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/noarbsabrsmilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/optionlet/constantoptionletvol.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/optionlet/optionletstripper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/optionlet/optionletstripper1.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/optionlet/optionletvolatilitystructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/optionlet/strippedoptionletadapter.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/optionlet/strippedoptionletbase.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/sabrinterpolatedsmilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/sabrsmilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/smilesection.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/spreadedswaptionvol.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/swaption/sabrswaptionvolcube.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/swaption/swaptionconstantvol.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/swaption/swaptionvolcube.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/swaption/swaptionvoldiscrete.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/swaption/swaptionvolmatrix.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/swaption/swaptionvolstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/volatility/volatilitytype.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/voltermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/bondhelpers.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/compositezeroyieldstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/discountcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/fittedbonddiscountcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/flatforward.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/forwardcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/forwardspreadedtermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/impliedtermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/nonlinearfittingmethods.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/oisratehelper.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/piecewiseyieldcurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/quantotermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/ratehelpers.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/ultimateforwardtermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/zerocurve.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yield/zerospreadedtermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/termstructures/yieldtermstructure.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/businessdayconvention.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/calendar.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/calendars/calendars.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/date.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/dategenerationrule.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/daycounter.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/daycounters/daycounters.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/frequency.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/period.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/schedule.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/timeunit.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/time/weekday.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/utilities/all.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/utilities/null.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/src/utilities/observablevalue.cpp +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/conftest.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_core.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_currencies.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_experimental_callablebonds.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_experimental_credit.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_experimental_exoticoptions.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_experimental_variancegamma.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_experimental_volatility.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_extensions.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_indexes.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_instruments_bonds.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_distributions.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_integrals.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_interpolations.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_optimization.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_randomnumbers.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_solvers1d.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_math_statistics.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_methods.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_models.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_models_equity.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_models_shortrate.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_bond.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_capfloor.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_cliquet.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_credit.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_exotic.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_forward.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_lookback.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_quanto.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_pricingengines_swaption.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_processes.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_quotes.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_termstructures.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_termstructures_credit.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_termstructures_inflation.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_termstructures_volatility.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_time.py +0 -0
- {pyquantlib-0.6.0 → pyquantlib-0.7.0}/tests/test_utilities.py +0 -0
|
@@ -39,7 +39,7 @@ option(PYQUANTLIB_DETAILED_ERRORS "Enable detailed pybind11 error messages" ON)
|
|
|
39
39
|
# ==============================================================================
|
|
40
40
|
|
|
41
41
|
file(READ "${CMAKE_SOURCE_DIR}/pyquantlib/version.py" VERSION_PY_CONTENTS)
|
|
42
|
-
string(REGEX MATCH "__version__ *= *\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _ "${VERSION_PY_CONTENTS}")
|
|
42
|
+
string(REGEX MATCH "__version__ *= *\"([0-9]+\\.[0-9]+\\.[0-9]+[^\"]*)\"" _ "${VERSION_PY_CONTENTS}")
|
|
43
43
|
set(PYQUANTLIB_VERSION "${CMAKE_MATCH_1}")
|
|
44
44
|
|
|
45
45
|
if(NOT PYQUANTLIB_VERSION)
|
|
@@ -113,9 +113,8 @@ endif()
|
|
|
113
113
|
# QuantLib discovery order:
|
|
114
114
|
# 1. CMake argument: -DQuantLib_ROOT=/path/to/quantlib
|
|
115
115
|
# 2. Environment variable: QuantLib_ROOT or QL_DIR
|
|
116
|
-
# 3.
|
|
117
|
-
# 4.
|
|
118
|
-
# 5. Manual fallback for source builds without CMake config
|
|
116
|
+
# 3. CMake config from source build (including preset build directories)
|
|
117
|
+
# 4. Manual fallback for source builds without CMake config
|
|
119
118
|
|
|
120
119
|
# Support legacy QL_DIR environment variable
|
|
121
120
|
if(NOT DEFINED QuantLib_ROOT)
|
|
@@ -126,7 +125,20 @@ if(NOT DEFINED QuantLib_ROOT)
|
|
|
126
125
|
endif()
|
|
127
126
|
endif()
|
|
128
127
|
|
|
129
|
-
#
|
|
128
|
+
# If QuantLib_ROOT points to a source tree, locate any CMake config files
|
|
129
|
+
# generated in build subdirectories (e.g. build/windows-msvc-release/cmake/)
|
|
130
|
+
# so that find_package(CONFIG) can discover them automatically.
|
|
131
|
+
if(QuantLib_ROOT)
|
|
132
|
+
file(GLOB_RECURSE _ql_config_files
|
|
133
|
+
"${QuantLib_ROOT}/build/*/QuantLibConfig.cmake"
|
|
134
|
+
)
|
|
135
|
+
foreach(_config_file ${_ql_config_files})
|
|
136
|
+
get_filename_component(_config_dir "${_config_file}" DIRECTORY)
|
|
137
|
+
list(APPEND CMAKE_PREFIX_PATH "${_config_dir}")
|
|
138
|
+
endforeach()
|
|
139
|
+
endif()
|
|
140
|
+
|
|
141
|
+
# Try CMake find_package (source builds with CMake config)
|
|
130
142
|
find_package(QuantLib 1.30 QUIET CONFIG)
|
|
131
143
|
|
|
132
144
|
if(QuantLib_FOUND)
|
|
@@ -175,14 +187,23 @@ else()
|
|
|
175
187
|
set(_ql_lib_names QuantLib)
|
|
176
188
|
endif()
|
|
177
189
|
|
|
190
|
+
# Collect search paths: fixed well-known locations + any preset build dirs
|
|
191
|
+
set(_ql_lib_paths
|
|
192
|
+
"${QuantLib_ROOT}/lib"
|
|
193
|
+
"${QuantLib_ROOT}/lib64"
|
|
194
|
+
"${QuantLib_ROOT}/lib/x86_64-linux-gnu"
|
|
195
|
+
"${QuantLib_ROOT}/build/ql"
|
|
196
|
+
"${QuantLib_ROOT}/build/ql/Release"
|
|
197
|
+
)
|
|
198
|
+
# CMake preset builds place output under build/<preset-name>/ql/[Release/]
|
|
199
|
+
file(GLOB _ql_preset_dirs "${QuantLib_ROOT}/build/*/ql")
|
|
200
|
+
foreach(_dir ${_ql_preset_dirs})
|
|
201
|
+
list(APPEND _ql_lib_paths "${_dir}" "${_dir}/Release" "${_dir}/Debug")
|
|
202
|
+
endforeach()
|
|
203
|
+
|
|
178
204
|
find_library(QuantLib_LIBRARY
|
|
179
205
|
NAMES ${_ql_lib_names}
|
|
180
|
-
PATHS
|
|
181
|
-
"${QuantLib_ROOT}/lib"
|
|
182
|
-
"${QuantLib_ROOT}/lib64"
|
|
183
|
-
"${QuantLib_ROOT}/lib/x86_64-linux-gnu"
|
|
184
|
-
"${QuantLib_ROOT}/build/ql"
|
|
185
|
-
"${QuantLib_ROOT}/build/ql/Release"
|
|
206
|
+
PATHS ${_ql_lib_paths}
|
|
186
207
|
NO_DEFAULT_PATH
|
|
187
208
|
)
|
|
188
209
|
|
|
@@ -190,7 +211,7 @@ else()
|
|
|
190
211
|
message(FATAL_ERROR
|
|
191
212
|
"QuantLib library not found.\n"
|
|
192
213
|
"Searched for: ${_ql_lib_names}\n"
|
|
193
|
-
"In paths: ${
|
|
214
|
+
"In paths: ${_ql_lib_paths}"
|
|
194
215
|
)
|
|
195
216
|
endif()
|
|
196
217
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: pyquantlib
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.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>
|
|
@@ -344,6 +344,22 @@ pricer = ql.ArithmeticAveragedOvernightIndexedCouponPricer(
|
|
|
344
344
|
)
|
|
345
345
|
```
|
|
346
346
|
|
|
347
|
+
### BlackCompoundingOvernightIndexedCouponPricer
|
|
348
|
+
|
|
349
|
+
```{eval-rst}
|
|
350
|
+
.. autoclass:: pyquantlib.BlackCompoundingOvernightIndexedCouponPricer
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
Black pricer for capped/floored compounded overnight coupons.
|
|
354
|
+
|
|
355
|
+
### BlackAveragingOvernightIndexedCouponPricer
|
|
356
|
+
|
|
357
|
+
```{eval-rst}
|
|
358
|
+
.. autoclass:: pyquantlib.BlackAveragingOvernightIndexedCouponPricer
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
Black pricer for capped/floored averaged overnight coupons. Requires `RateAveraging.Type.Simple`.
|
|
362
|
+
|
|
347
363
|
### setCouponPricer
|
|
348
364
|
|
|
349
365
|
```{eval-rst}
|
|
@@ -613,6 +613,48 @@ option.setPricingEngine(ql.AnalyticDoubleBarrierEngine(process))
|
|
|
613
613
|
print(option.NPV())
|
|
614
614
|
```
|
|
615
615
|
|
|
616
|
+
### PartialTimeBarrierOption
|
|
617
|
+
|
|
618
|
+
```{eval-rst}
|
|
619
|
+
.. autoclass:: pyquantlib.PartialTimeBarrierOption
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
Barrier monitored over a partial time window (start or end of option life).
|
|
623
|
+
|
|
624
|
+
```python
|
|
625
|
+
option = ql.PartialTimeBarrierOption(
|
|
626
|
+
ql.BarrierType.DownOut, ql.PartialBarrierRange.Start,
|
|
627
|
+
80.0, 0.0, cover_date, payoff, exercise,
|
|
628
|
+
)
|
|
629
|
+
option.setPricingEngine(ql.AnalyticPartialTimeBarrierOptionEngine(process))
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
### SoftBarrierOption
|
|
633
|
+
|
|
634
|
+
```{eval-rst}
|
|
635
|
+
.. autoclass:: pyquantlib.SoftBarrierOption
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
Soft barrier option with proportional knock-in/out over a barrier range.
|
|
639
|
+
|
|
640
|
+
```python
|
|
641
|
+
option = ql.SoftBarrierOption(ql.BarrierType.DownOut, 70.0, 80.0, payoff, exercise)
|
|
642
|
+
option.setPricingEngine(ql.AnalyticSoftBarrierEngine(process))
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
### TwoAssetBarrierOption
|
|
646
|
+
|
|
647
|
+
```{eval-rst}
|
|
648
|
+
.. autoclass:: pyquantlib.TwoAssetBarrierOption
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
Barrier option where barrier monitoring is on a second (correlated) asset.
|
|
652
|
+
|
|
653
|
+
```python
|
|
654
|
+
option = ql.TwoAssetBarrierOption(ql.BarrierType.DownOut, 80.0, payoff, exercise)
|
|
655
|
+
option.setPricingEngine(ql.AnalyticTwoAssetBarrierEngine(process1, process2, rho))
|
|
656
|
+
```
|
|
657
|
+
|
|
616
658
|
## Asian Options
|
|
617
659
|
|
|
618
660
|
### ContinuousAveragingAsianOption
|
|
@@ -436,6 +436,27 @@ engine = ql.QdFpAmericanEngine(process)
|
|
|
436
436
|
.. autoclass:: pyquantlib.AnalyticDividendEuropeanEngine
|
|
437
437
|
```
|
|
438
438
|
|
|
439
|
+
### CashDividendEuropeanEngine
|
|
440
|
+
|
|
441
|
+
```{eval-rst}
|
|
442
|
+
.. autoclass:: pyquantlib.CashDividendEuropeanEngine
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
```{eval-rst}
|
|
446
|
+
.. autoclass:: pyquantlib.CashDividendModel
|
|
447
|
+
:members:
|
|
448
|
+
:undoc-members:
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Semi-analytic European engine with cash dividends (Healy, 2021).
|
|
452
|
+
Supports Spot and Escrowed dividend models.
|
|
453
|
+
|
|
454
|
+
```python
|
|
455
|
+
dividends = [ql.FixedDividend(2.0, ex_date)]
|
|
456
|
+
engine = ql.CashDividendEuropeanEngine(
|
|
457
|
+
process, dividends, ql.CashDividendModel.Spot)
|
|
458
|
+
```
|
|
459
|
+
|
|
439
460
|
### AnalyticBSMHullWhiteEngine
|
|
440
461
|
|
|
441
462
|
```{eval-rst}
|
|
@@ -468,6 +489,44 @@ engine = ql.QdFpAmericanEngine(process)
|
|
|
468
489
|
.. autoclass:: pyquantlib.StulzEngine
|
|
469
490
|
```
|
|
470
491
|
|
|
492
|
+
### ChoiBasketEngine
|
|
493
|
+
|
|
494
|
+
```{eval-rst}
|
|
495
|
+
.. autoclass:: pyquantlib.ChoiBasketEngine
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
Choi (2018) analytic engine for average and spread basket options.
|
|
499
|
+
|
|
500
|
+
### SingleFactorBsmBasketEngine
|
|
501
|
+
|
|
502
|
+
```{eval-rst}
|
|
503
|
+
.. autoclass:: pyquantlib.SingleFactorBsmBasketEngine
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
Single-factor BSM approximation for average basket options.
|
|
507
|
+
|
|
508
|
+
### MCAmericanBasketEngine
|
|
509
|
+
|
|
510
|
+
```{eval-rst}
|
|
511
|
+
.. autofunction:: pyquantlib.MCAmericanBasketEngine
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
Monte Carlo American basket engine using Longstaff-Schwartz regression.
|
|
515
|
+
|
|
516
|
+
### FdndimBlackScholesVanillaEngine
|
|
517
|
+
|
|
518
|
+
```{eval-rst}
|
|
519
|
+
.. autoclass:: pyquantlib.FdndimBlackScholesVanillaEngine
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
N-dimensional finite-difference Black-Scholes basket engine.
|
|
523
|
+
|
|
524
|
+
### MCLDEuropeanBasketEngine
|
|
525
|
+
|
|
526
|
+
```{eval-rst}
|
|
527
|
+
.. autoclass:: pyquantlib.MCLDEuropeanBasketEngine
|
|
528
|
+
```
|
|
529
|
+
|
|
471
530
|
## Swaption Engines
|
|
472
531
|
|
|
473
532
|
### BlackSwaptionEngine
|
|
@@ -702,6 +761,75 @@ engine = ql.MCDoubleBarrierEngine(
|
|
|
702
761
|
)
|
|
703
762
|
```
|
|
704
763
|
|
|
764
|
+
### AnalyticBinaryBarrierEngine
|
|
765
|
+
|
|
766
|
+
```{eval-rst}
|
|
767
|
+
.. autoclass:: pyquantlib.AnalyticBinaryBarrierEngine
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
Analytic binary (one-touch) barrier option engine.
|
|
771
|
+
|
|
772
|
+
### BinomialBarrierEngine
|
|
773
|
+
|
|
774
|
+
```{eval-rst}
|
|
775
|
+
.. autofunction:: pyquantlib.BinomialBarrierEngine
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
Binomial tree barrier engine with configurable tree type and discretization.
|
|
779
|
+
|
|
780
|
+
```python
|
|
781
|
+
engine = ql.BinomialBarrierEngine(process, "crr", 200)
|
|
782
|
+
engine = ql.BinomialBarrierEngine(process, "crr", 200, discretization="dermankani")
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
### FdHestonBarrierEngine
|
|
786
|
+
|
|
787
|
+
```{eval-rst}
|
|
788
|
+
.. autoclass:: pyquantlib.FdHestonBarrierEngine
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
Finite-difference Heston barrier option engine.
|
|
792
|
+
|
|
793
|
+
### FdHestonDoubleBarrierEngine
|
|
794
|
+
|
|
795
|
+
```{eval-rst}
|
|
796
|
+
.. autoclass:: pyquantlib.FdHestonDoubleBarrierEngine
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
Finite-difference Heston double barrier option engine.
|
|
800
|
+
|
|
801
|
+
### FdHestonRebateEngine
|
|
802
|
+
|
|
803
|
+
```{eval-rst}
|
|
804
|
+
.. autoclass:: pyquantlib.FdHestonRebateEngine
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
Finite-difference Heston rebate engine for barrier options.
|
|
808
|
+
|
|
809
|
+
### AnalyticPartialTimeBarrierOptionEngine
|
|
810
|
+
|
|
811
|
+
```{eval-rst}
|
|
812
|
+
.. autoclass:: pyquantlib.AnalyticPartialTimeBarrierOptionEngine
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
Analytic engine for partial-time barrier options (Heynen-Kat).
|
|
816
|
+
|
|
817
|
+
### AnalyticSoftBarrierEngine
|
|
818
|
+
|
|
819
|
+
```{eval-rst}
|
|
820
|
+
.. autoclass:: pyquantlib.AnalyticSoftBarrierEngine
|
|
821
|
+
```
|
|
822
|
+
|
|
823
|
+
Analytic engine for soft barrier options.
|
|
824
|
+
|
|
825
|
+
### AnalyticTwoAssetBarrierEngine
|
|
826
|
+
|
|
827
|
+
```{eval-rst}
|
|
828
|
+
.. autoclass:: pyquantlib.AnalyticTwoAssetBarrierEngine
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
Analytic engine for two-asset barrier options.
|
|
832
|
+
|
|
705
833
|
## Asian Engines
|
|
706
834
|
|
|
707
835
|
### AnalyticContinuousGeometricAveragePriceAsianEngine
|
|
@@ -742,6 +870,68 @@ engine = ql.MCDiscreteArithmeticAPEngine(
|
|
|
742
870
|
)
|
|
743
871
|
```
|
|
744
872
|
|
|
873
|
+
### ChoiAsianEngine
|
|
874
|
+
|
|
875
|
+
```{eval-rst}
|
|
876
|
+
.. autoclass:: pyquantlib.ChoiAsianEngine
|
|
877
|
+
```
|
|
878
|
+
|
|
879
|
+
Choi (2018) analytic discrete arithmetic Asian engine.
|
|
880
|
+
|
|
881
|
+
### AnalyticDiscreteGeometricAverageStrikeAsianEngine
|
|
882
|
+
|
|
883
|
+
```{eval-rst}
|
|
884
|
+
.. autoclass:: pyquantlib.AnalyticDiscreteGeometricAverageStrikeAsianEngine
|
|
885
|
+
```
|
|
886
|
+
|
|
887
|
+
### ContinuousArithmeticAsianLevyEngine
|
|
888
|
+
|
|
889
|
+
```{eval-rst}
|
|
890
|
+
.. autoclass:: pyquantlib.ContinuousArithmeticAsianLevyEngine
|
|
891
|
+
```
|
|
892
|
+
|
|
893
|
+
Levy (1992) continuous arithmetic average price Asian engine.
|
|
894
|
+
|
|
895
|
+
### FdBlackScholesAsianEngine
|
|
896
|
+
|
|
897
|
+
```{eval-rst}
|
|
898
|
+
.. autoclass:: pyquantlib.FdBlackScholesAsianEngine
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
Finite-difference Black-Scholes engine for discrete Asian options.
|
|
902
|
+
|
|
903
|
+
### MCDiscreteArithmeticASEngine
|
|
904
|
+
|
|
905
|
+
```{eval-rst}
|
|
906
|
+
.. autofunction:: pyquantlib.MCDiscreteArithmeticASEngine
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
Monte Carlo discrete arithmetic average strike Asian engine.
|
|
910
|
+
|
|
911
|
+
### MCDiscreteGeometricAPEngine
|
|
912
|
+
|
|
913
|
+
```{eval-rst}
|
|
914
|
+
.. autofunction:: pyquantlib.MCDiscreteGeometricAPEngine
|
|
915
|
+
```
|
|
916
|
+
|
|
917
|
+
Monte Carlo discrete geometric average price Asian engine.
|
|
918
|
+
|
|
919
|
+
### MCDiscreteArithmeticAPHestonEngine
|
|
920
|
+
|
|
921
|
+
```{eval-rst}
|
|
922
|
+
.. autofunction:: pyquantlib.MCDiscreteArithmeticAPHestonEngine
|
|
923
|
+
```
|
|
924
|
+
|
|
925
|
+
Monte Carlo discrete arithmetic Asian engine under Heston dynamics.
|
|
926
|
+
|
|
927
|
+
### MCDiscreteGeometricAPHestonEngine
|
|
928
|
+
|
|
929
|
+
```{eval-rst}
|
|
930
|
+
.. autofunction:: pyquantlib.MCDiscreteGeometricAPHestonEngine
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
Monte Carlo discrete geometric Asian engine under Heston dynamics.
|
|
934
|
+
|
|
745
935
|
## Lookback Engines
|
|
746
936
|
|
|
747
937
|
### AnalyticContinuousFloatingLookbackEngine
|
|
@@ -339,6 +339,87 @@ print(curve.discount(1.0))
|
|
|
339
339
|
print(curve.nodes())
|
|
340
340
|
```
|
|
341
341
|
|
|
342
|
+
## Global Bootstrap Piecewise Curves
|
|
343
|
+
|
|
344
|
+
Piecewise yield curves using `GlobalBootstrap`, which solves for all nodes
|
|
345
|
+
simultaneously via global optimization instead of iterative bootstrapping.
|
|
346
|
+
Useful when instruments depend on each other or when the standard bootstrap
|
|
347
|
+
fails to converge.
|
|
348
|
+
|
|
349
|
+
### PiecewiseLogLinearDiscountGlobal
|
|
350
|
+
|
|
351
|
+
```{eval-rst}
|
|
352
|
+
.. autoclass:: pyquantlib.PiecewiseLogLinearDiscountGlobal
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### PiecewiseLinearZeroGlobal
|
|
356
|
+
|
|
357
|
+
```{eval-rst}
|
|
358
|
+
.. autoclass:: pyquantlib.PiecewiseLinearZeroGlobal
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### PiecewiseBackwardFlatForwardGlobal
|
|
362
|
+
|
|
363
|
+
```{eval-rst}
|
|
364
|
+
.. autoclass:: pyquantlib.PiecewiseBackwardFlatForwardGlobal
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
```python
|
|
368
|
+
curve = ql.PiecewiseLogLinearDiscountGlobal(
|
|
369
|
+
today, helpers, ql.Actual365Fixed(), accuracy=1e-12)
|
|
370
|
+
|
|
371
|
+
# With instrument weights
|
|
372
|
+
weights = [1.0] * len(helpers)
|
|
373
|
+
curve = ql.PiecewiseLogLinearDiscountGlobal(
|
|
374
|
+
today, helpers, ql.Actual365Fixed(),
|
|
375
|
+
accuracy=1e-12, instrumentWeights=weights)
|
|
376
|
+
|
|
377
|
+
# Settlement days constructor
|
|
378
|
+
curve = ql.PiecewiseLogLinearDiscountGlobal(
|
|
379
|
+
2, ql.TARGET(), helpers, ql.Actual365Fixed(), accuracy=1e-12)
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## MultiCurve
|
|
383
|
+
|
|
384
|
+
```{eval-rst}
|
|
385
|
+
.. autoclass:: pyquantlib.MultiCurve
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Manages a set of yield curves that form a dependency cycle, bootstrapping
|
|
389
|
+
them simultaneously. Curves added with `addBootstrappedCurve` are solved
|
|
390
|
+
together; curves added with `addNonBootstrappedCurve` are relinked but not
|
|
391
|
+
bootstrapped (e.g. spreaded curves derived from bootstrapped ones).
|
|
392
|
+
|
|
393
|
+
```python
|
|
394
|
+
accuracy = 1e-10
|
|
395
|
+
|
|
396
|
+
# Internal relinkable handles for the dependency cycle
|
|
397
|
+
int_3m = ql.RelinkableYieldTermStructureHandle()
|
|
398
|
+
int_6m = ql.RelinkableYieldTermStructureHandle()
|
|
399
|
+
|
|
400
|
+
euribor3m = ql.Euribor3M(int_3m)
|
|
401
|
+
euribor6m = ql.Euribor6M(int_6m)
|
|
402
|
+
|
|
403
|
+
# Build helpers referencing each other's curves
|
|
404
|
+
helpers_3m = [ql.FraRateHelper(q, i, euribor3m) for i in range(1, 10)]
|
|
405
|
+
helpers_6m = [ql.SwapRateHelper(q, ql.Period(i, ql.Years), ...)
|
|
406
|
+
for i in range(2, 11)]
|
|
407
|
+
|
|
408
|
+
# Create GlobalBootstrap curves
|
|
409
|
+
curve_3m = ql.PiecewiseLogLinearDiscountGlobal(
|
|
410
|
+
today, helpers_3m, ql.Actual360(), accuracy=accuracy)
|
|
411
|
+
curve_6m = ql.PiecewiseLogLinearDiscountGlobal(
|
|
412
|
+
today, helpers_6m, ql.Actual360(), accuracy=accuracy)
|
|
413
|
+
|
|
414
|
+
# Solve the cycle
|
|
415
|
+
mc = ql.MultiCurve(accuracy)
|
|
416
|
+
ext_3m = mc.addBootstrappedCurve(int_3m, curve_3m)
|
|
417
|
+
ext_6m = mc.addBootstrappedCurve(int_6m, curve_6m)
|
|
418
|
+
|
|
419
|
+
# Use external handles for pricing
|
|
420
|
+
print(ext_3m.currentLink().discount(1.0))
|
|
421
|
+
```
|
|
422
|
+
|
|
342
423
|
## Fitted Bond Discount Curves
|
|
343
424
|
|
|
344
425
|
### FittedBondDiscountCurve
|
|
@@ -95,18 +95,20 @@ cmake .. \
|
|
|
95
95
|
|
|
96
96
|
## Building QuantLib
|
|
97
97
|
|
|
98
|
+
See the version compatibility table in {doc}`installation` for which QuantLib version to use with each PyQuantLib release.
|
|
99
|
+
|
|
98
100
|
### Download
|
|
99
101
|
|
|
100
102
|
```bash
|
|
101
|
-
# Download release
|
|
102
|
-
wget https://github.com/lballabio/QuantLib/releases/download/v1.
|
|
103
|
-
tar xzf QuantLib-1.
|
|
104
|
-
cd QuantLib-1.
|
|
103
|
+
# Download release (replace 1.41 with the version matching your PyQuantLib release)
|
|
104
|
+
wget https://github.com/lballabio/QuantLib/releases/download/v1.41/QuantLib-1.41.tar.gz
|
|
105
|
+
tar xzf QuantLib-1.41.tar.gz
|
|
106
|
+
cd QuantLib-1.41
|
|
105
107
|
|
|
106
108
|
# Or clone
|
|
107
109
|
git clone https://github.com/lballabio/QuantLib.git
|
|
108
110
|
cd QuantLib
|
|
109
|
-
git checkout v1.
|
|
111
|
+
git checkout v1.41
|
|
110
112
|
```
|
|
111
113
|
|
|
112
114
|
### Windows
|
|
@@ -11,6 +11,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.7.0] - 2026-03-14
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- Upgraded QuantLib dependency from 1.40 to 1.41
|
|
18
|
+
- `FdBlackScholesVanillaEngine` gains optional `cashDividendModel` parameter (`CashDividendModel.Spot` or `.Escrowed`)
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
#### Pricing Engines
|
|
23
|
+
- `CashDividendEuropeanEngine` semi-analytic European engine with cash dividends (Healy, 2021), `CashDividendModel` enum (`Spot`, `Escrowed`)
|
|
24
|
+
- `ChoiAsianEngine` Choi (2018) analytic discrete arithmetic Asian engine
|
|
25
|
+
- `AnalyticDiscreteGeometricAverageStrikeAsianEngine` analytic discrete geometric average strike Asian engine
|
|
26
|
+
- `ContinuousArithmeticAsianLevyEngine` Levy (1992) continuous arithmetic Asian engine
|
|
27
|
+
- `FdBlackScholesAsianEngine` finite-difference Black-Scholes discrete Asian engine
|
|
28
|
+
- `MCDiscreteArithmeticASEngine` Monte Carlo discrete arithmetic average strike Asian engine
|
|
29
|
+
- `MCDiscreteGeometricAPEngine` Monte Carlo discrete geometric average price Asian engine
|
|
30
|
+
- `MCDiscreteArithmeticAPHestonEngine` Monte Carlo discrete arithmetic Asian engine under Heston dynamics
|
|
31
|
+
- `MCDiscreteGeometricAPHestonEngine` Monte Carlo discrete geometric Asian engine under Heston dynamics
|
|
32
|
+
- `AnalyticBinaryBarrierEngine` analytic binary (one-touch) barrier option engine
|
|
33
|
+
- `BinomialBarrierEngine` binomial tree barrier engine with configurable tree type and discretization (Derman-Kani)
|
|
34
|
+
- `FdHestonBarrierEngine` finite-difference Heston barrier option engine
|
|
35
|
+
- `FdHestonDoubleBarrierEngine` finite-difference Heston double barrier option engine
|
|
36
|
+
- `FdHestonRebateEngine` finite-difference Heston rebate engine for barrier options
|
|
37
|
+
- `AnalyticPartialTimeBarrierOptionEngine` analytic engine for partial-time barrier options (Heynen-Kat)
|
|
38
|
+
- `AnalyticSoftBarrierEngine` analytic engine for soft barrier options
|
|
39
|
+
- `AnalyticTwoAssetBarrierEngine` analytic engine for two-asset barrier options
|
|
40
|
+
- `ChoiBasketEngine` Choi (2018) analytic engine for average and spread basket options
|
|
41
|
+
- `SingleFactorBsmBasketEngine` single-factor BSM approximation for average basket options
|
|
42
|
+
- `MCAmericanBasketEngine` Monte Carlo American basket engine (Longstaff-Schwartz)
|
|
43
|
+
- `FdndimBlackScholesVanillaEngine` N-dimensional finite-difference Black-Scholes basket engine
|
|
44
|
+
|
|
45
|
+
#### Cash Flows
|
|
46
|
+
- `BlackCompoundingOvernightIndexedCouponPricer` Black pricer for capped/floored compounded overnight coupons
|
|
47
|
+
- `BlackAveragingOvernightIndexedCouponPricer` Black pricer for capped/floored averaged overnight coupons
|
|
48
|
+
|
|
49
|
+
#### Instruments
|
|
50
|
+
- `ContinuousAveragingAsianOption` seasoned constructor with `startDate` parameter
|
|
51
|
+
- `PartialTimeBarrierOption` partial-time barrier option with `PartialBarrierRange` enum
|
|
52
|
+
- `SoftBarrierOption` soft barrier option with proportional knock-in/out over barrier range
|
|
53
|
+
- `TwoAssetBarrierOption` barrier option monitored on a second correlated asset
|
|
54
|
+
|
|
55
|
+
#### Core
|
|
56
|
+
- `AmericanExercise` `payoffAtExpiry` parameter
|
|
57
|
+
|
|
58
|
+
#### Term Structures
|
|
59
|
+
- `MultiCurve` for simultaneous multi-curve bootstrap with dependency cycles (accuracy and optimizer constructors, `addBootstrappedCurve`, `addNonBootstrappedCurve`)
|
|
60
|
+
- `PiecewiseLogLinearDiscountGlobal`, `PiecewiseLinearZeroGlobal`, `PiecewiseBackwardFlatForwardGlobal` piecewise yield curves using `GlobalBootstrap` (reference-date and settlement-days constructors, instrument weights)
|
|
61
|
+
|
|
14
62
|
## [0.6.0] - 2026-03-07
|
|
15
63
|
|
|
16
64
|
### Added
|
|
@@ -589,7 +637,10 @@ Initial release targeting QuantLib 1.40.
|
|
|
589
637
|
- API is subject to change during beta period
|
|
590
638
|
- `QdFpAmericanEngine` has a known issue on Windows (access violation during `calculate()`)
|
|
591
639
|
|
|
592
|
-
[Unreleased]: https://github.com/quantales/pyquantlib/compare/v0.
|
|
640
|
+
[Unreleased]: https://github.com/quantales/pyquantlib/compare/v0.7.0...HEAD
|
|
641
|
+
[0.7.0]: https://github.com/quantales/pyquantlib/compare/v0.6.0...v0.7.0
|
|
642
|
+
[0.6.0]: https://github.com/quantales/pyquantlib/compare/v0.5.1...v0.6.0
|
|
643
|
+
[0.5.1]: https://github.com/quantales/pyquantlib/compare/v0.5.0...v0.5.1
|
|
593
644
|
[0.5.0]: https://github.com/quantales/pyquantlib/compare/v0.4.0...v0.5.0
|
|
594
645
|
[0.4.0]: https://github.com/quantales/pyquantlib/compare/v0.3.0...v0.4.0
|
|
595
646
|
[0.3.0]: https://github.com/quantales/pyquantlib/compare/v0.2.0...v0.3.0
|
|
@@ -3,10 +3,15 @@
|
|
|
3
3
|
## Compatibility
|
|
4
4
|
|
|
5
5
|
- **Python**: 3.10, 3.11, 3.12, 3.13
|
|
6
|
-
- **QuantLib**: 1.
|
|
6
|
+
- **QuantLib**: 1.41+
|
|
7
7
|
- **Platforms**: Windows, macOS, Linux
|
|
8
8
|
|
|
9
|
-
PyQuantLib
|
|
9
|
+
| PyQuantLib | QuantLib | Notes |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| 0.1.0 -- 0.6.0 | 1.40, 1.41 | Built and tested against 1.40; verified compatible with 1.41 |
|
|
12
|
+
| 0.7.0+ | 1.41+ | Requires 1.41 (uses MultiCurve/GlobalBootstrap API) |
|
|
13
|
+
|
|
14
|
+
PyQuantLib provides comprehensive bindings for QuantLib, covering time handling, term structures, instruments, pricing engines, stochastic processes, models, finite-difference methods, Monte Carlo infrastructure, and more. See the {doc}`api/index` for the full list.
|
|
10
15
|
|
|
11
16
|
```{note}
|
|
12
17
|
Check versions at runtime: `ql.__version__` (PyQuantLib) and `ql.QL_VERSION` (QuantLib).
|
|
@@ -317,6 +317,8 @@ namespace ql_termstructures {
|
|
|
317
317
|
void andreasenhugevolatilityadapter(py::module_&);
|
|
318
318
|
void andreasenhugelocalvoladapter(py::module_&);
|
|
319
319
|
void compositezeroyieldstructure(py::module_&);
|
|
320
|
+
void multicurve(py::module_&);
|
|
321
|
+
void globalbootstrap(py::module_&);
|
|
320
322
|
}
|
|
321
323
|
|
|
322
324
|
namespace ql_processes {
|
|
@@ -436,6 +438,9 @@ namespace ql_instruments {
|
|
|
436
438
|
void quantoforwardvanillaoption(py::module_&);
|
|
437
439
|
void holderextensibleoption(py::module_&);
|
|
438
440
|
void writerextensibleoption(py::module_&);
|
|
441
|
+
void partialtimebarrieroption(py::module_&);
|
|
442
|
+
void softbarrieroption(py::module_&);
|
|
443
|
+
void twoassetbarrieroption(py::module_&);
|
|
439
444
|
}
|
|
440
445
|
|
|
441
446
|
namespace ql_pricingengines {
|
|
@@ -522,6 +527,7 @@ namespace ql_pricingengines {
|
|
|
522
527
|
void analyticdigitalamericanengine(py::module_&);
|
|
523
528
|
void mcdigitalengine(py::module_&);
|
|
524
529
|
void analyticdividendeuropeanengine(py::module_&);
|
|
530
|
+
void cashdividendeuropeanengine(py::module_&);
|
|
525
531
|
void analyticbsmhullwhiteengine(py::module_&);
|
|
526
532
|
void analyticcapfloorengine(py::module_&);
|
|
527
533
|
void treecapfloorengine(py::module_&);
|
|
@@ -539,6 +545,29 @@ namespace ql_pricingengines {
|
|
|
539
545
|
void mcforwardeuropeanbsengine(py::module_&);
|
|
540
546
|
void mcforwardeuropeanhestonengine(py::module_&);
|
|
541
547
|
void mceuropeanhestonengine(py::module_&);
|
|
548
|
+
// Asian engines
|
|
549
|
+
void choiasianengine(py::module_&);
|
|
550
|
+
void analyticdiscretegeometricaveragestrikeengine(py::module_&);
|
|
551
|
+
void continuousarithmeticasianlevyengine(py::module_&);
|
|
552
|
+
void fdblackscholesasianengine(py::module_&);
|
|
553
|
+
void mcdiscretearithmeticaphestonengine(py::module_&);
|
|
554
|
+
void mcdiscretegeometricaphestonengine(py::module_&);
|
|
555
|
+
void mcdiscretearithmeticasengine(py::module_&);
|
|
556
|
+
void mcdiscretegeometricapengine(py::module_&);
|
|
557
|
+
// Barrier engines
|
|
558
|
+
void analyticbinarybarrierengine(py::module_&);
|
|
559
|
+
void binomialbarrierengine(py::module_&);
|
|
560
|
+
void fdhestonbarrierengine(py::module_&);
|
|
561
|
+
void fdhestondoublebarrierengine(py::module_&);
|
|
562
|
+
void fdhestonrebateengine(py::module_&);
|
|
563
|
+
void analyticpartialtimebarrieroptionengine(py::module_&);
|
|
564
|
+
void analyticsoftbarrierengine(py::module_&);
|
|
565
|
+
void analytictwoassetbarrierengine(py::module_&);
|
|
566
|
+
// Basket engines
|
|
567
|
+
void choibasketengine(py::module_&);
|
|
568
|
+
void singlefactorbsmbasketengine(py::module_&);
|
|
569
|
+
void mcamericanbasketengine(py::module_&);
|
|
570
|
+
void fdndimblackscholesvanillaengine(py::module_&);
|
|
542
571
|
}
|
|
543
572
|
|
|
544
573
|
namespace ql_methods {
|