Changelog¶
All notable changes to PyQuantLib will be documented in this file.
See also
Building from Source for build requirements and setup instructions.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
0.7.0 - 2026-03-14¶
Changed¶
Upgraded QuantLib dependency from 1.40 to 1.41
FdBlackScholesVanillaEnginegains optionalcashDividendModelparameter (CashDividendModel.Spotor.Escrowed)
Added¶
Pricing Engines¶
CashDividendEuropeanEnginesemi-analytic European engine with cash dividends (Healy, 2021),CashDividendModelenum (Spot,Escrowed)ChoiAsianEngineChoi (2018) analytic discrete arithmetic Asian engineAnalyticDiscreteGeometricAverageStrikeAsianEngineanalytic discrete geometric average strike Asian engineContinuousArithmeticAsianLevyEngineLevy (1992) continuous arithmetic Asian engineFdBlackScholesAsianEnginefinite-difference Black-Scholes discrete Asian engineMCDiscreteArithmeticASEngineMonte Carlo discrete arithmetic average strike Asian engineMCDiscreteGeometricAPEngineMonte Carlo discrete geometric average price Asian engineMCDiscreteArithmeticAPHestonEngineMonte Carlo discrete arithmetic Asian engine under Heston dynamicsMCDiscreteGeometricAPHestonEngineMonte Carlo discrete geometric Asian engine under Heston dynamicsAnalyticBinaryBarrierEngineanalytic binary (one-touch) barrier option engineBinomialBarrierEnginebinomial tree barrier engine with configurable tree type and discretization (Derman-Kani)FdHestonBarrierEnginefinite-difference Heston barrier option engineFdHestonDoubleBarrierEnginefinite-difference Heston double barrier option engineFdHestonRebateEnginefinite-difference Heston rebate engine for barrier optionsAnalyticPartialTimeBarrierOptionEngineanalytic engine for partial-time barrier options (Heynen-Kat)AnalyticSoftBarrierEngineanalytic engine for soft barrier optionsAnalyticTwoAssetBarrierEngineanalytic engine for two-asset barrier optionsChoiBasketEngineChoi (2018) analytic engine for average and spread basket optionsSingleFactorBsmBasketEnginesingle-factor BSM approximation for average basket optionsMCAmericanBasketEngineMonte Carlo American basket engine (Longstaff-Schwartz)FdndimBlackScholesVanillaEngineN-dimensional finite-difference Black-Scholes basket engine
Cash Flows¶
BlackCompoundingOvernightIndexedCouponPricerBlack pricer for capped/floored compounded overnight couponsBlackAveragingOvernightIndexedCouponPricerBlack pricer for capped/floored averaged overnight coupons
Instruments¶
ContinuousAveragingAsianOptionseasoned constructor withstartDateparameterPartialTimeBarrierOptionpartial-time barrier option withPartialBarrierRangeenumSoftBarrierOptionsoft barrier option with proportional knock-in/out over barrier rangeTwoAssetBarrierOptionbarrier option monitored on a second correlated asset
Core¶
AmericanExercisepayoffAtExpiryparameter
Term Structures¶
MultiCurvefor simultaneous multi-curve bootstrap with dependency cycles (accuracy and optimizer constructors,addBootstrappedCurve,addNonBootstrappedCurve)PiecewiseLogLinearDiscountGlobal,PiecewiseLinearZeroGlobal,PiecewiseBackwardFlatForwardGlobalpiecewise yield curves usingGlobalBootstrap(reference-date and settlement-days constructors, instrument weights)
0.6.0 - 2026-03-07¶
Added¶
Math¶
Integratorabstract base class for 1-D numerical integration with__call__(f, a, b)interfaceSegmentIntegralfixed-interval trapezoid integrationTrapezoidIntegraladaptive trapezoid integration with default policyMidPointTrapezoidIntegraladaptive trapezoid integration with mid-point policySimpsonIntegraladaptive Simpson’s rule integrationGaussKronrodAdaptiveadaptive 15-point Gauss-Kronrod integrationGaussKronrodNonAdaptivenon-adaptive Gauss-Kronrod integration (10/21/43/87-point)GaussLobattoIntegraladaptive Gauss-Lobatto integrationTanhSinhIntegraltanh-sinh quadrature for smooth integrands (requires Boost >= 1.69)ExpSinhIntegralexp-sinh quadrature withintegrateHalfInfinite()for [0, inf)GaussianQuadratureabstract base for Gaussian quadrature methodsGaussLaguerreIntegration,GaussHermiteIntegration,GaussJacobiIntegration,GaussHyperbolicIntegration,GaussLegendreIntegration,GaussChebyshevIntegration,GaussChebyshev2ndIntegration,GaussGegenbauerIntegrationconcrete Gaussian quadrature classesTabulatedGaussLegendreprecomputed Gauss-Legendre quadrature (orders 6, 7, 12, 20)GaussLegendreIntegrator,GaussChebyshevIntegrator,GaussChebyshev2ndIntegratorGaussian quadrature-basedIntegratorsubclassesSimplexNelder-Mead simplex optimizerConjugateGradientconjugate gradient optimizerSteepestDescentsteepest descent optimizerBFGSBroyden-Fletcher-Goldfarb-Shanno quasi-Newton optimizerDifferentialEvolutionglobal optimizer withDEConfigurationbuilder,DEStrategyandDECrossoverTypeenumsInterpolation2DABC for 2-D interpolation (inpyquantlib.base)ForwardFlatInterpolationforward-flat step interpolationLagrangeInterpolationLagrange polynomial interpolation withvalue(y, x)for alternative y valuesBilinearInterpolationbilinear interpolation on 2-D gridsBicubicSplinebicubic spline interpolation with derivative methodsChebyshevInterpolationChebyshev polynomial interpolation on [-1, 1] withChebyshevPointsTypeenumRichardsonExtrapolationRichardson extrapolation for improving numerical convergenceSVDsingular value decomposition withU(),V(),singularValues(),solveFor()SymmetricSchurDecompositioneigenvalue decomposition for symmetric matricesAdaptiveRungeKuttaadaptive step-size Runge-Kutta ODE integrator (Cash-Karp method) with 1-D and N-D interfaces
Cash Flows¶
ReplicationTypeenum (Sub, Central, Super) for digital option replication strategyDigitalReplicationconfiguration class for digital replication parametersCappedFlooredCouponcapped/floored floating-rate coupon wrapperCappedFlooredIborCouponconvenience class for capped/floored Ibor couponsCappedFlooredCmsCouponconvenience class for capped/floored CMS couponsDigitalCouponfloating-rate coupon with digital call/put optionDigitalIborCoupondigital Ibor coupon withDigitalIborLegbuilderDigitalCmsCoupondigital CMS coupon withDigitalCmsLegbuilderYieldCurveModelenum for CMS convexity adjustment models (Standard, ExactYield, ParallelShifts, NonParallelShifts)HaganPricerABC for static replication CMS pricingAnalyticHaganPriceranalytic CMS coupon pricerNumericHaganPricernumeric CMS coupon pricer with integration parametersCompoundingOvernightIndexedCouponPricerpricer for compounded overnight ratesArithmeticAveragedOvernightIndexedCouponPricerpricer for arithmetically averaged overnight rates with optional convexity adjustmentAverageBMACouponcoupon paying the weighted average of BMA fixingsAverageBMALegbuilder for sequences of average BMA coupons
Processes¶
GeometricBrownianMotionProcessgeometric Brownian motion processMerton76ProcessMerton jump-diffusion processSquareRootProcessCIR-type square root mean-reverting processExtendedOrnsteinUhlenbeckProcessextended Ornstein-Uhlenbeck process with time-dependent level andDiscretizationenumG2Processtwo-factor Gaussian short-rate stochastic processG2ForwardProcessG2 forward-measure two-factor short-rate processHybridHestonHullWhiteProcessthree-factor hybrid Heston + Hull-White process withDiscretizationenum (Euler, BSMHullWhite)
Term Structures¶
ForwardSpreadedTermStructureyield curve with additive spread over forward ratesImpliedTermStructureimplied yield curve from a base curve and reference dateUltimateForwardTermStructureultimate forward rate extrapolationQuantoTermStructurequanto-adjusted dividend yield term structureFlatSmileSectionflat (constant) smile section for volatility modelingHestonBlackVolSurfaceBlack volatility surface implied by a Heston modelSpreadedSwaptionVolatilityswaption volatility surface with additive spreadNoArbSabrModelno-arbitrage SABR model (Doust, 2012) with option prices, density, and absorption probabilityNoArbSabrSmileSectionno-arbitrage SABR smile section wrappingNoArbSabrModelNoArbSabrInterpolatedSmileSectioncalibrated no-arbitrage SABR interpolated smile sectionKahaleSmileSectionarbitrage-free smile section using Kahale’s C^1 interpolation/extrapolationAndreasenHugeVolatilityInterplAndreasen-Huge local volatility calibration withInterpolationTypeandCalibrationTypeenumsAndreasenHugeVolatilityAdapterBlack volatility adapter for Andreasen-Huge interpolationAndreasenHugeLocalVolAdapterlocal volatility adapter for Andreasen-Huge interpolationCompositeZeroYieldStructurecomposite yield curve from two curves combined via a binary function (addition, subtraction, etc.)
Indexes¶
BMAIndexBond Market Association index (tax-exempt reference rate)SwapSpreadIndexspread between two swap rate indexes
Core¶
PositionTypeenum (Long,Short) now registered incoremodule (moved frominstrumentsfor earlier availability)
0.5.1 - 2026-03-02¶
Fixed¶
Flaky
test_triplebandlinearop_solve_splittingcausing Windows wheel build failures (useSecondDerivativeOpinstead of degenerate zero-band operator)
0.5.0 - 2026-03-01¶
Added¶
Time¶
Period.__radd__andPeriod.__rsub__enablingdatetime.date + ql.Periodanddatetime.date - ql.Periodarithmetic (returnsql.Date)
Math¶
Statistics(=RiskStatistics) with empirical-distribution risk measures, Gaussian-assumption analytics, and percentile/VaR/ES methodsIncrementalStatisticsfor online (streaming) statistics via boost accumulatorsSequenceStatisticsfor N-dimensional statistics with covariance and correlation matrices
Instruments¶
HolderExtensibleOptionextensible option with holder’s extension rightWriterExtensibleOptionextensible option with writer’s extension rightQuantoForwardVanillaOptionquanto forward-start vanilla option withqvega(),qrho(),qlambda()AmortizingCmsRateBondamortizing CMS-rate bond with vector notionals
Pricing Engines¶
BlackCalculatorfor Black 1976 option pricing with full Greeks (delta, gamma, theta, vega, rho, etc.)BachelierCalculatorfor normal-volatility option pricing with full GreeksFdHestonVanillaEngine+MakeFdHestonVanillaEnginebuilder for finite-differences Heston pricingFdBatesVanillaEnginefor finite-differences Bates (Heston + jumps) pricingFdSabrVanillaEnginefor finite-differences SABR pricingFdCEVVanillaEnginefor finite-differences CEV pricingFdBlackScholesShoutEnginefor finite-differences shout option pricingCOSHestonEnginefor Fourier-cosine series Heston pricing with cumulant accessorsExponentialFittingHestonEnginefor exponentially-fitted Gauss-Laguerre Heston pricingAnalyticPTDHestonEnginefor piecewise time-dependent Heston modelsAnalyticPDFHestonEnginefor PDF-based Heston pricing of arbitrary European payoffsAnalyticHestonHullWhiteEnginefor Heston + Hull-White stochastic ratesAnalyticH1HWEnginefor H1-HW approximation with equity-rate correlationHestonExpansionEnginewith LPP2, LPP3, and Forde expansion formulasJuQuadraticApproximationEnginefor Ju quadratic approximation of American optionsQdPlusAmericanEnginewith configurable solver types (Brent, Newton, Ridder, Halley, SuperHalley)AnalyticDigitalAmericanEnginefor analytic digital American option pricing (knock-in)AnalyticDigitalAmericanKOEnginefor analytic digital American option pricing (knock-out)MCDigitalEnginefactory function for Monte Carlo digital option pricing (pseudo-random and low-discrepancy)AnalyticDividendEuropeanEnginefor European options with discrete dividendsAnalyticBSMHullWhiteEnginefor BSM + Hull-White stochastic interest ratesGaussian1dSwaptionEnginefor Gaussian 1-D model swaption pricing (European/Bermudan)Gaussian1dJamshidianSwaptionEnginefor Jamshidian decomposition swaption pricingGaussian1dNonstandardSwaptionEnginefor nonstandard swaption pricing with OAS supportGaussian1dFloatFloatSwaptionEnginefor float-float swaption pricing with OAS supportGaussian1dCapFloorEnginefor Gaussian 1-D model cap/floor pricingAnalyticCapFloorEnginefor analytic cap/floor pricing with affine short-rate modelsTreeCapFloorEnginefor lattice-based cap/floor pricing with short-rate modelsAnalyticHolderExtensibleOptionEnginefor holder extensible option pricingAnalyticWriterExtensibleOptionEnginefor writer extensible option pricingAnalyticGJRGARCHEnginefor GJR-GARCH(1,1) option pricingMCForwardEuropeanBSEngineMonte Carlo forward-start option engine (BS)MCForwardEuropeanHestonEngineMonte Carlo forward-start option engine (Heston)QuantoForwardVanillaEnginequanto forward-start vanilla option engineFdHestonHullWhiteVanillaEnginefinite-differences Heston + Hull-White stochastic rates engineFdOrnsteinUhlenbeckVanillaEnginefinite-differences Ornstein-Uhlenbeck vanilla engineMCEuropeanHestonEngineMonte Carlo European Heston engine (pseudo-random and low-discrepancy)AnalyticDoubleBarrierBinaryEngineanalytic double barrier binary (one-touch) option engineFdBlackScholesRebateEnginefinite-differences rebate engine for barrier optionsMCBarrierEngineMonte Carlo barrier option engine (pseudo-random and low-discrepancy) with optional bias correctionMCDoubleBarrierEngineMonte Carlo double barrier option engine (pseudo-random and low-discrepancy)AnalyticCEVEngineanalytic CEV (constant elasticity of variance) option engineCEVCalculatorstandalone CEV option value calculatorMCEuropeanGJRGARCHEngineMonte Carlo European GJR-GARCH engine (pseudo-random and low-discrepancy)
Processes¶
HestonSLVProcessHeston stochastic local volatility process combining Heston dynamics with a leverage functionOrnsteinUhlenbeckProcessmean-reverting OU processHullWhiteProcessHull-White short-rate processForwardMeasureProcessandForwardMeasureProcess1DABCs for forward-measure processes (inpyquantlib.base)HullWhiteForwardProcessHull-White process under the T-forward measureGJRGARCHProcessGJR-GARCH(1,1) stochastic process with discretization schemes
Models¶
Gaussian1dModelABC for Gaussian 1-D short-rate models (inpyquantlib.base)GsrGaussian short-rate model with piecewise volatility and reversion, plus calibration methodsMarkovFunctionalMarkov-functional model withModelSettingsbuilder andModelOutputsdiagnosticsGaussian1dModelHandleandRelinkableGaussian1dModelHandlefor Gaussian1dModel referencesCoxIngersollRoss(CIR) short-rate model with Feller constraint supportExtendedCoxIngersollRossextended CIR model fitted to the initial term structureCapHelpercalibration helper for ATM caps (with handle and hidden-handle constructors)HestonModelHelpercalibration helper for the Heston model (Real and Handle spot variants)GJRGARCHModelGJR-GARCH(1,1) calibrated modelHestonSLVFDMModelHeston SLV model calibrated via Fokker-Planck FDM withHestonSLVFokkerPlanckFdmParamsconfiguration structHestonSLVMCModelHeston SLV model calibrated via Monte Carlo simulation
Methods¶
FdmHestonGreensFctAlgorithmenum for Heston Fokker-Planck Green’s function algorithms (ZeroCorrelation, Gaussian, SemiAnalytical)FdmSquareRootFwdOpTransformationTypeenum for square-root forward operator coordinate transformations (Plain, Power, Log)LsmBasisSystem/PolynomialTypeenum for Longstaff-Schwartz Monte Carlo basis systems (moved from MCAmericanEngine to its proper header location)SampleNumber(Sample<Real>) andSampleRealVector(Sample<vector<Real>>) weighted sample typesPathsingle-factor price path with time grid, indexing, and value/time accessorsMultiPathcorrelated multi-asset paths with per-asset indexingSamplePath(Sample<Path>) andSampleMultiPath(Sample<MultiPath>) weighted path samplesBrownianBridgevariance-reduction bridge construction from steps, times, or time gridGaussianPathGeneratorsingle-factor path generator using pseudo-random Gaussian variatesGaussianSobolPathGeneratorsingle-factor path generator using Sobol low-discrepancy variatesGaussianMultiPathGeneratormulti-factor path generator using pseudo-random Gaussian variatesGaussianSobolMultiPathGeneratormulti-factor path generator using Sobol low-discrepancy variatesBrownianGeneratorABC andBrownianGeneratorFactoryABC for Brownian motion generation (inpyquantlib.base)MTBrownianGeneratorandMTBrownianGeneratorFactoryMersenne-Twister Brownian generatorsSobolBrownianGeneratorandSobolBrownianGeneratorFactorySobol-based Brownian generatorsBurley2020SobolBrownianGeneratorandBurley2020SobolBrownianGeneratorFactoryscrambled Sobol Brownian generatorsFdmLinearOpIteratoriterator for FDM linear operator grid layoutFdmLinearOpLayoutmemory layout for multi-dimensional FDM grids with Python iteration supportFdm1dMesherbase class for one-dimensional FDM meshersUniform1dMesheruniform grid mesherConcentrating1dMeshergrid concentrating around critical points (single or multiple)Predefined1dMeshermesher from user-supplied grid pointsFdmBlackScholesMesherBlack-Scholes process mesher (in ln(S)) with optional quanto helperFdmHestonVarianceMesherHeston variance dimension mesher with volatility estimateFdmHestonLocalVolatilityVarianceMesherHeston variance mesher with local volatility leverageFdmCEV1dMesherCEV model mesherFdmSimpleProcess1dMeshergeneric 1D stochastic process mesherFdmMesherABC for multi-dimensional FDM meshersFdmMesherCompositecomposite multi-dimensional mesher built from 1D meshers (1D-4D convenience constructors)FdmQuantoHelperhelper for FDM quanto adjustment with scalar and Array overloadsFdmBoundaryConditionABC for FDM boundary conditions withBoundaryConditionSideenum (None_, Upper, Lower)FdmLinearOpABC withapply()for polymorphic operator callsFdmLinearOpCompositeABC withsize,setTime,apply_mixed,apply_direction,solve_splitting,preconditionerTripleBandLinearOptridiagonal operator withapply,solve_splitting,mult,multR,add,axpybFirstDerivativeOpcentral first-derivative operatorSecondDerivativeOpcentral second-derivative operatorNinePointLinearOpnine-point cross-derivative operator withapply,multSecondOrderMixedDerivativeOpsecond-order mixed partial derivative operatorFdmBlackScholesOpBlack-Scholes PDE operatorFdmBlackScholesFwdOpBlack-Scholes forward (Fokker-Planck) operatorFdm2dBlackScholesOptwo-dimensional correlated Black-Scholes operatorFdmHestonOpHeston stochastic volatility PDE operatorFdmHestonFwdOpHeston forward (Fokker-Planck) operatorFdmHestonHullWhiteOpthree-factor Heston + Hull-White operatorFdmBatesOpBates (Heston + jumps) PDE operatorFdmHullWhiteOpHull-White short-rate PDE operatorFdmG2Optwo-factor Gaussian short-rate (G2) PDE operatorFdmCEVOpConstant Elasticity of Variance PDE operatorFdmSabrOpSABR stochastic volatility PDE operatorFdmLocalVolFwdOplocal volatility forward (Fokker-Planck) operatorFdmSquareRootFwdOpsquare-root (CIR) forward operator withlowerBoundaryFactor,upperBoundaryFactor,vFdmOrnsteinUhlenbeckOpOrnstein-Uhlenbeck mean-reverting PDE operatorExplicitEulerSchemeforward Euler time steppingImplicitEulerSchemebackward Euler time stepping withImplicitEulerSolverTypeenum (BiCGstab, GMRES) andnumberOfIterationsCrankNicolsonSchemeCrank-Nicolson time stepping withnumberOfIterationsDouglasSchemeDouglas ADI time-stepping schemeCraigSneydSchemeCraig-Sneyd ADI time-stepping schemeHundsdorferSchemeHundsdorfer ADI time-stepping schemeModifiedCraigSneydSchemeModified Craig-Sneyd ADI time-stepping schemeMethodOfLinesSchememethod of lines (Runge-Kutta) time-stepping schemeFdmStepConditionABC for FDM step conditions (applyTowith copy semantics)FdmInnerValueCalculatorABC for FDM inner value calculators (innerValue,avgInnerValue)RiskNeutralDensityCalculatorABC for risk-neutral density calculators (pdf,cdf,invcdf)FdmCellAveragingInnerValuecell-averaging inner value calculator with optional grid mapping functionFdmLogInnerValuelog-space inner value calculatorFdmLogBasketInnerValuelog-space basket inner value calculatorFdmZeroInnerValuezero inner value calculator (returns 0 everywhere)FdmSnapshotConditionsnapshot step condition for capturing intermediate solution valuesFdmAmericanStepConditionAmerican early exercise step conditionFdmBermudanStepConditionBermudan exercise step condition with exercise timesFdmDividendHandlerdiscrete dividend handling step conditionFdmStepConditionCompositecomposite step condition withvanillaCompositeandjoinConditionsstatic factoriesFdmSolverDescsolver descriptor struct (mesher, boundary conditions, step conditions, calculator, maturity, time steps, damping steps)FdmBackwardSolverbackward PDE solver withrollback(copy semantics)Fdm1DimSolverone-dimensional FDM solver withinterpolateAt,derivativeX,derivativeXX,thetaAtFdm2DimSolvertwo-dimensional FDM solver with interpolation and cross-derivative GreeksFdm3DimSolverthree-dimensional FDM solver withinterpolateAtandthetaAtFdmBlackScholesSolverhigh-level Black-Scholes FDM solver withvalueAt,deltaAt,gammaAt,thetaAtFdmHestonSolver2D Heston FDM solver with Greeks including mean-variance delta/gammaFdmHullWhiteSolver1D Hull-White interest rate FDM solverFdmG2Solver2D G2++ two-factor interest rate FDM solverFdm2dBlackScholesSolver2D two-asset Black-Scholes solver with cross-gammaFdmBatesSolver2D Bates jump-diffusion FDM solverFdmDirichletBoundaryfixed-value Dirichlet boundary conditionFdmDiscountDirichletBoundarydiscounted Dirichlet boundary conditionFdmTimeDepDirichletBoundarytime-dependent Dirichlet boundary conditionExponentialJump1dMesher1D mesher for exponential jump-diffusion processesGlued1dMeshercombines two 1D meshers at their boundaryFdmArithmeticAverageConditionarithmetic average step condition for Asian FDMFdmSimpleSwingConditionsimple swing option step conditionNthOrderDerivativeOpNth-order finite difference derivative operatorLocalVolRNDCalculatorrisk-neutral density calculator using local vol and FDMBSMRNDCalculatorBlack-Scholes-Merton risk-neutral density calculatorGBSMRNDCalculatorgeneralized BSM risk-neutral density calculator (spot space)HestonRNDCalculatorHeston risk-neutral density calculatorCEVRNDCalculatorCEV risk-neutral density calculator withmassAtZeroSquareRootProcessRNDCalculatorsquare-root (CIR) process RND calculator with stationary distribution methods
Random Number Generators¶
MersenneTwisterUniformRng(MT19937) with seed and vector-seed constructorsSobolRsglow-discrepancy sequence generator withDirectionIntegersenum (10 direction integer sets) andskipTo()HaltonRsgHalton low-discrepancy sequence generatorBurley2020SobolRsgscrambled Sobol sequence generator (Burley 2020 hash-based Owen scrambling) withskipTo()BoxMullerGaussianRngBox-Muller Gaussian random number generatorGaussianRandomGeneratorinverse cumulative normal Gaussian RNGUniformRandomSequenceGeneratorMT-based uniform random sequence generatorGaussianRandomSequenceGeneratorMT-based Gaussian random sequence generator (inverse cumulative)GaussianLowDiscrepancySequenceGeneratorSobol-based Gaussian low-discrepancy sequence generatorSobolBrownianBridgeRsgSobol quasi-random with Brownian bridge orderingBurley2020SobolBrownianBridgeRsgscrambled Sobol with Brownian bridge orderingOrderingenum (Factors, Steps, Diagonal) for Sobol Brownian generator ordering
Experimental¶
TwoAssetCorrelationOptiontwo-asset correlation option with analytic engineAnalyticTwoAssetCorrelationEnginefor two-asset correlation option pricingVarianceGammaProcessVariance Gamma stochastic processVarianceGammaModelVariance Gamma calibrated modelVarianceGammaEngineanalytic Variance Gamma option pricingFFTVarianceGammaEngineFFT-based Variance Gamma option pricing
Fixed¶
Autodoc class population on Read the Docs by installing the built wheel and removing
sys.pathhacks that shadowed the installed package
0.4.0 - 2026-02-27¶
Added¶
Core¶
ForwardABC for forward contracts (inpyquantlib.base) with inspectors (settlementDate,forwardValue,spotValue,spotIncome,impliedYield)ForwardTypePayofffor long/short forward payoffsFloatingTypePayofffor floating-strike lookback options
Indexes¶
EquityIndexwith minimal, full Handle, and hidden-handle constructors
Instruments¶
BondForwardforward contract on a bond withforwardPrice()andcleanForwardPrice()NonstandardSwaptionoption to enter into a nonstandard swapFloatFloatSwaptionoption to enter into a float-float swapCallabilityandCallabilityTypeenum for call/put schedulesCallableFixedRateBondandCallableZeroCouponBondEquityTotalReturnSwapwith IborIndex and OvernightIndex variantsSoftCallabilitywith trigger level for soft-call provisionsConvertibleBondbase class withconversionRatio()andcallability()ConvertibleZeroCouponBond,ConvertibleFixedCouponBond,ConvertibleFloatingRateBondLookback options:
ContinuousFloatingLookbackOption,ContinuousFixedLookbackOption,ContinuousPartialFloatingLookbackOption,ContinuousPartialFixedLookbackOptionCliquetOptioncliquet (ratchet) option with periodic resetsCompoundOptionoption on an option (mother/daughter)SimpleChooserOptionandComplexChooserOptionchooser optionsMargrabeOptionexchange option withdelta1(),delta2(),gamma1(),gamma2()ForwardVanillaOptionforward-start vanilla optionQuantoVanillaOptionquanto option withqvega(),qrho(),qlambda()
Cash Flows¶
DividendABC (inpyquantlib.base) for custom dividend implementationsFixedDividendfixed cash dividendFractionalDividendproportional dividend (rate * nominal)DividendVectorhelper to build a sequence of fixed dividends
Pricing Engines¶
BinomialConvertibleEngineTsiveriotis-Fernandes lattice engine for convertible bonds (7 tree types: jr, crr, eqp, trigeorgis, tian, lr, joshi)Lookback engines:
AnalyticContinuousFloatingLookbackEngine,AnalyticContinuousFixedLookbackEngine,AnalyticContinuousPartialFloatingLookbackEngine,AnalyticContinuousPartialFixedLookbackEngineAnalyticCliquetEngineanalytic cliquet option engineAnalyticCompoundOptionEngineanalytic compound option engineAnalyticSimpleChooserEngineandAnalyticComplexChooserEnginechooser option enginesAnalyticEuropeanMargrabeEngineandAnalyticAmericanMargrabeEngineexchange option enginesForwardEuropeanEngineandForwardPerformanceEuropeanEngineforward-start option enginesQuantoVanillaEnginequanto European option engine with hidden handle constructors
Experimental¶
CallableBondABC (inpyquantlib.base) with OAS, effective duration/convexity, implied volatilityCallableBondVolatilityStructureABC (inpyquantlib.base),CallableBondConstantVolatilityTreeCallableFixedRateBondEngine,TreeCallableZeroCouponBondEngineBlackCallableFixedRateBondEngine,BlackCallableZeroCouponBondEngine
0.3.0 - 2026-02-22¶
Added¶
Indexes¶
Regionbase class with concrete regions (AustraliaRegion,EURegion,FranceRegion,UKRegion,USRegion,ZARegion) andCustomRegionInflationIndexABC,ZeroInflationIndexABC,YoYInflationIndexABC (inpyquantlib.base)CPIinterpolation struct (AsIndex,Flat,Linear)Concrete inflation indexes:
USCPI,YYUSCPI,EUHICP,EUHICPXT,YYEUHICP,YYEUHICPXT,UKRPI,YYUKRPI,AUCPI,YYAUCPI,FRHICP,YYFRHICP,ZACPI,YYZACPI
Term Structures¶
InflationTermStructure,ZeroInflationTermStructure,YoYInflationTermStructureABCs (inpyquantlib.base)ZeroInflationTermStructureHandle,RelinkableZeroInflationTermStructureHandle,YoYInflationTermStructureHandle,RelinkableYoYInflationTermStructureHandleinflationPeriodfree functionSeasonality:
SeasonalityABC (inpyquantlib.base),MultiplicativePriceSeasonality,KerkhofSeasonalityInflation bootstrap helpers:
ZeroInflationHelper,YoYInflationHelperABCs (inpyquantlib.base),ZeroCouponInflationSwapHelper,YearOnYearInflationSwapHelperInterpolated inflation curves:
ZeroInflationCurve,YoYInflationCurve(Linear interpolation)Piecewise inflation curves:
PiecewiseZeroInflationCurve,PiecewiseYoYInflationCurve(Linear interpolation)setSeasonality()andseasonality()onInflationTermStructureYoY inflation optionlet volatility:
YoYOptionletVolatilitySurfaceABC (inpyquantlib.base),ConstantYoYOptionletVolatility,YoYOptionletVolatilitySurfaceHandle,RelinkableYoYOptionletVolatilitySurfaceHandle
Cash Flows¶
InflationCouponABC (inpyquantlib.base)ZeroInflationCashFlowfor zero-coupon inflation legsYoYInflationCouponandyoyInflationLegbuilderCappedFlooredYoYInflationCouponfor capped/floored YoY couponsInflationCouponPricerABC (inpyquantlib.base),YoYInflationCouponPricer,BlackYoYInflationCouponPricer,UnitDisplacedBlackYoYInflationCouponPricer,BachelierYoYInflationCouponPricersetCouponPriceroverload for inflation legs
Instruments¶
AmortizingFixedRateBondamortizing fixed-rate bond withsinkingScheduleandsinkingNotionalshelper functionsAmortizingFloatingRateBondamortizing floating-rate bondCmsRateBondCMS-rate bond linked to a swap indexCPIBondCPI inflation-linked bondZeroCouponInflationSwapzero-coupon inflation swapYearOnYearInflationSwapyear-on-year inflation swapYoYInflationCapFloorwithYoYInflationCap,YoYInflationFloor,YoYInflationCollarconvenience classesMakeYoYInflationCapFloorbuilder (C++ binding and Python kwargs wrapper)VarianceSwapvariance swap instrumentNonstandardSwapswap with period-dependent nominal and strikeFloatFloatSwapswap exchanging two floating legs with caps and floors
Pricing Engines¶
YoYInflationBlackCapFloorEngine,YoYInflationUnitDisplacedBlackCapFloorEngine,YoYInflationBachelierCapFloorEnginefor YoY inflation cap/floor pricingReplicatingVarianceSwapEnginevariance swap engine using replicating portfolio
Experimental¶
CdsOptionoption on a credit default swapBlackCdsOptionEngineBlack-formula CDS option engine
0.2.0 - 2026-02-15¶
Added¶
Cash Flows¶
CmsCoupon,CmsLegfor Constant Maturity Swap couponsMeanRevertingPricerABC,CmsCouponPricerABC (inpyquantlib.base)LinearTsrPricerwithLinearTsrPricerSettingsandLinearTsrPricerStrategy
Indexes¶
Concrete swap index subclasses:
EuriborSwapIsdaFixA,EuriborSwapIsdaFixB,EuriborSwapIfrFix,EurLiborSwapIsdaFixA,EurLiborSwapIsdaFixB,EurLiborSwapIfrFix,UsdLiborSwapIsdaFixAm,UsdLiborSwapIsdaFixPm,JpyLiborSwapIsdaFixAm,JpyLiborSwapIsdaFixPm,GbpLiborSwapIsdaFix,ChfLiborSwapIsdaFix
Term Structures¶
Fitted bond discount curves:
FittedBondDiscountCurve,FittingMethodABCFitting methods:
NelsonSiegelFitting,SvenssonFitting,ExponentialSplinesFitting,CubicBSplinesFitting,SimplePolynomialFitting,SpreadFittingMethodSwaption volatility:
SwaptionVolatilityStructureABC,ConstantSwaptionVolatility,SwaptionVolatilityDiscrete,SwaptionVolatilityMatrix,SwaptionVolatilityCube,SabrSwaptionVolatilityCube, handlesOptionlet volatility:
OptionletVolatilityStructureABC,ConstantOptionletVolatility, handlesCap/floor term volatility:
CapFloorTermVolatilityStructureABC,CapFloorTermVolSurfaceOptionlet stripping:
StrippedOptionletBaseABC,OptionletStripperABC,OptionletStripper1,StrippedOptionletAdapter
Fixed¶
Handle constructors now use
shared_ptr_from_pythonfor safeshared_ptrextraction frompy::classhtypes with diamond/virtual inheritanceCompile-time check enforcing
QL_USE_STD_SHARED_PTR; building against QuantLib withboost::shared_ptrcaused heap corruption at runtime
0.1.0 - 2026-02-08¶
Initial release targeting QuantLib 1.40.
Added¶
Core Infrastructure¶
pybind11-based bindings with scikit-build-core
Cross-platform support (Windows, macOS, Linux)
Type stub files (
.pyi) for IDE supportCI with GitHub Actions and cibuildwheel
Sphinx documentation with API reference
Patterns and Utilities¶
Observable,Observer,LazyObjectbase classesObservableValue,Nullsentinels
Time Module¶
Date,Period,TimeUnit,Weekday,Month,FrequencyCalendarwith implementations (TARGET, UnitedStates, UnitedKingdom, etc.)DayCounterwith implementations (Actual365Fixed, Actual360, Thirty360, etc.)BusinessDayConventionenumDateGeneration::RuleenumScheduleandMakeSchedulefor date generation
Core Module¶
Settingssingleton for global evaluation dateInterestRatewith compounding conversionsCompoundingenumMathematical and financial constants
TimeGridfor discretizationQuoteABC,QuoteHandle,RelinkableQuoteHandleCashFlowandEventABCsIndexABCCurrency,Money,ExchangeRateTermStructureABCExercisestyles (European, American, Bermudan)PricingEngineABC,InstrumentABCOptionABC with Greeks resultsPayoffABCStochasticProcess,StochasticProcess1DABCsProtection::Side(Buyer, Seller) enumCreditDefaultSwap::PricingModel(Midpoint, ISDA) enum
Math Module¶
ArrayandMatrixwith NumPy interoperabilityRoundingimplementationsOptimization:
EndCriteria,Constraint,LevenbergMarquardt,Problem,CostFunctionInterpolation:
LinearInterpolation,LogLinearInterpolation,BackwardFlatInterpolation,CubicInterpolationDistributions:
NormalDistribution,CumulativeNormalDistribution,InverseCumulativeNormal,BivariateCumulativeNormalDistribution1-D root-finding solvers:
Brent,Bisection,Secant,Ridder,FalsePosition,Newton,NewtonSafe
Market Data¶
SimpleQuote,DerivedQuote,CompositeQuote
Currencies¶
Major currency definitions (USD, EUR, GBP, JPY, CHF, AUD, CAD, etc.)
ExchangeRateManager
Cash Flows¶
CashFlow,Coupon,FloatingRateCouponbase classesSimpleCashFlow,Redemption,AmortizingPaymentFixedRateCoupon,FixedRateLegFloatingRateCouponPricerABC,BlackIborCouponPricerIborCoupon,IborLegOvernightIndexedCoupon,OvernightLegRateAveragingenum (Simple, Compound)Duration::Typeenum (Simple, Macaulay, Modified)setCouponPricerutility
Indexes¶
InterestRateIndexbase classIborIndexwith Euribor family (1W through 1Y)Overnight indices:
Sofr,Eonia,Estr,SoniaSwapIndex,EuriborSwapIsdaFixA
Term Structures¶
Yield curves:
YieldTermStructure,FlatForwardInterpolated yield curves:
ZeroCurve,DiscountCurve,ForwardCurveBootstrapped yield curves:
PiecewiseCubicDiscount,PiecewiseLinearDiscount,PiecewiseLogLinearDiscount,PiecewiseLinearZero,PiecewiseCubicZero,PiecewiseLinearForward,PiecewiseFlatForward(alias forPiecewiseBackwardFlatForward)Rate helpers:
DepositRateHelper,FraRateHelper,SwapRateHelper,OISRateHelperPillar date choices for bootstrap
ZeroSpreadedTermStructureBlack vol:
BlackVolTermStructure,BlackConstantVol,BlackVarianceSurfaceLocal vol:
LocalVolTermStructure,LocalConstantVol,LocalVolSurface,FixedLocalVolSurface,NoExceptLocalVolSurfaceSmile sections:
SmileSectionABC,SabrSmileSection,SabrInterpolatedSmileSectionVolatilityTypeenum (ShiftedLognormal, Normal)Credit:
DefaultProbabilityTermStructure,FlatHazardRateCredit helpers:
SpreadCdsHelper,UpfrontCdsHelperBootstrapped default curves:
PiecewiseLogLinearSurvival,PiecewiseFlatHazardRate,PiecewiseBackwardFlatHazardAll handle types (relinkable and non-relinkable)
Processes¶
GeneralizedBlackScholesProcess,BlackScholesProcess,BlackScholesMertonProcessHestonProcess,BatesProcessStochasticProcessArrayEulerDiscretization
Models¶
CalibratedModelABC,AffineModelABCHestonModel,HestonModelHandle,PiecewiseTimeDependentHestonModelBatesModelShort-rate models:
Vasicek,HullWhite,BlackKarasinskiTwo-factor models:
G2SwaptionHelperfor model calibration
Instruments¶
Bonds:
Bond,FixedRateBond,ZeroCouponBond,FloatingRateBondSwaps:
Swap,FixedVsFloatingSwap,VanillaSwap,OvernightIndexedSwap,ZeroCouponSwapSwap builders:
MakeVanillaSwap,MakeOISOptions:
VanillaOption,EuropeanOption,BasketOptionBarrier options:
BarrierOption,DoubleBarrierOptionwith type enumsAsian options:
AsianOptionwithAverageTypeenumSwaptions:
Swaption,MakeSwaptionCap/Floor:
CapFloor,MakeCapFloorCredit:
CreditDefaultSwap,cdsMaturityhelperForwardRateAgreementAssetSwapCompositeInstrumentPayoffs:
PlainVanillaPayoff,CashOrNothingPayoff,AssetOrNothingPayoff, basket payoffs
Pricing Engines¶
European:
AnalyticEuropeanEngine,MCEuropeanEngine,IntegralEngineAmerican:
BaroneAdesiWhaleyApproximationEngine,BjerksundStenslandApproximationEngine,FdBlackScholesVanillaEngine,BinomialVanillaEngine,MCAmericanEngine,QdFpAmericanEngineHeston/Bates:
AnalyticHestonEngine,BatesEngineStochastic rates:
AnalyticBlackVasicekEngineSpread:
KirkEngine,BjerksundStenslandSpreadEngine,OperatorSplittingSpreadEngineBasket:
MCEuropeanBasketEngine,DengLiZhouBasketEngine,StulzEngine,Fd2dBlackScholesVanillaEngineBarrier:
AnalyticBarrierEngine,AnalyticDoubleBarrierEngine,FdBlackScholesBarrierEngineAsian:
AnalyticContinuousGeometricAveragePriceAsianEngine,AnalyticDiscreteGeometricAveragePriceAsianEngine,MCDiscreteArithmeticAPEngine,TurnbullWakemanAsianEngineSwaption:
TreeSwaptionEngine,JamshidianSwaptionEngine,G2SwaptionEngine,FdHullWhiteSwaptionEngine,FdG2SwaptionEngine,BlackSwaptionEngine,BachelierSwaptionEngineCap/Floor:
BlackCapFloorEngine,BachelierCapFloorEngineBond:
DiscountingBondEngine,BondFunctions(static analytics)Swap:
DiscountingSwapEngineCredit:
MidPointCdsEngine,IsdaCdsEngineUtility:
blackFormula,blackFormulaImpliedStdDev,GenericModelEngine
Methods¶
Finite difference infrastructure (
FdmBackwardSolver)
Experimental¶
SviSmileSection(SVI volatility smile parameterization)
Python Extensions¶
ModifiedKirkEngine(pure Python spread option engine)SviSmileSection(pure Python SVI implementation)
Notes¶
Requires QuantLib 1.40+ built as static library with
std::shared_ptrAPI is subject to change during beta period
QdFpAmericanEnginehas a known issue on Windows (access violation duringcalculate())