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