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