Releases: quantales/pyquantlib
Releases · quantales/pyquantlib
PyQuantLib 0.7.0
Highlights
- QuantLib 1.41 -- upgraded from 1.40; requires 1.41+
- MultiCurve/GlobalBootstrap -- simultaneous multi-curve bootstrap with dependency cycles
- 21 new pricing engines -- Asian (8), barrier (9), basket (4) exotic engines
- 3 new instruments -- PartialTimeBarrierOption, SoftBarrierOption, TwoAssetBarrierOption
- Cash dividend support -- CashDividendEuropeanEngine and CashDividendModel enum
- Overnight coupon pricers -- BlackCompounding and BlackAveraging overnight indexed coupon pricers
See the changelog for the full list.
PyQuantLib 0.6.0
What's New
Math
- Integrators (10): Segment, Trapezoid, MidPoint, Simpson, GaussKronrod (2), GaussLobatto, TanhSinh, ExpSinh
- Gaussian quadrature (8 types + TabulatedGaussLegendre + 3 integrator subclasses)
- Optimizers: Simplex, ConjugateGradient, SteepestDescent, BFGS, DifferentialEvolution
- Interpolations: ForwardFlat, Lagrange, Bilinear, BicubicSpline, Chebyshev, Richardson
- Linear algebra: SVD, SymmetricSchurDecomposition
- AdaptiveRungeKutta ODE integrator
Cash Flows
- CappedFlooredCoupon (+ Ibor/CMS variants), DigitalCoupon (+ Ibor/CMS variants)
- CMS pricers: AnalyticHaganPricer, NumericHaganPricer
- Overnight pricers: CompoundingOvernightIndexedCouponPricer, ArithmeticAveragedOvernightIndexedCouponPricer
- AverageBMACoupon, AverageBMALeg
Processes
- GeometricBrownianMotionProcess, Merton76Process, SquareRootProcess, ExtendedOrnsteinUhlenbeckProcess
- G2Process, G2ForwardProcess, HybridHestonHullWhiteProcess
Term Structures
- ForwardSpreadedTermStructure, ImpliedTermStructure, UltimateForwardTermStructure, QuantoTermStructure
- FlatSmileSection, HestonBlackVolSurface, SpreadedSwaptionVolatility
- NoArbSabrModel, NoArbSabrSmileSection, NoArbSabrInterpolatedSmileSection
- KahaleSmileSection (arbitrage-free)
- AndreasenHugeVolatilityInterpl (+ adapters)
- CompositeZeroYieldStructure
Pricing Engines
- AnalyticDoubleBarrierBinaryEngine, FdBlackScholesRebateEngine
- MCBarrierEngine, MCDoubleBarrierEngine, MCEuropeanGJRGARCHEngine
- AnalyticCEVEngine, CEVCalculator
FDM
- Boundary conditions: FdmDirichletBoundary (3 variants)
- Solvers: FdmHestonSolver, FdmHullWhiteSolver, FdmG2Solver, Fdm2dBlackScholesSolver, FdmBatesSolver
- Meshers: ExponentialJump1dMesher, Glued1dMesher
- Step conditions: FdmArithmeticAverageCondition, FdmSimpleSwingCondition
- LocalVolRNDCalculator, NthOrderDerivativeOp
Indexes
- BMAIndex, SwapSpreadIndex
Full Changelog: v0.5.1...v0.6.0
PyQuantLib 0.5.1
Fixed
- Flaky
test_triplebandlinearop_solve_splittingcausing Windows wheel build failures
PyQuantLib 0.5.0
What's New
Math
- Statistics (RiskStatistics, IncrementalStatistics, SequenceStatistics)
- BlackCalculator and BachelierCalculator with full Greeks
Engines
- Heston ecosystem: COS, exponential fitting, piecewise time-dependent, PDF-based, Hull-White hybrid, H1-HW, expansion
- American: Ju quadratic approximation, QD+ with configurable solvers
- Digital: analytic knock-in/knock-out, Monte Carlo
- FD vanilla: Heston, Bates, SABR, CEV, shout, Ornstein-Uhlenbeck, Heston-Hull-White
- Gaussian 1-D: swaption, Jamshidian swaption, nonstandard swaption, float-float swaption, cap/floor
- Monte Carlo: European Heston, forward (BS + Heston)
- Analytic: dividend European, BSM-Hull-White, cap/floor, tree cap/floor
- GARCH, variance gamma (analytic + FFT)
- Extensible option engines (holder + writer), quanto forward
Models
- Gaussian 1-D framework: Gsr, MarkovFunctional (with ModelSettings and ModelOutputs)
- CoxIngersollRoss, ExtendedCoxIngersollRoss
- GJR-GARCH, Variance Gamma
- Heston SLV (FDM and MC calibration)
- CapHelper, HestonModelHelper calibration helpers
Processes
- HestonSLVProcess, OrnsteinUhlenbeckProcess, HullWhiteProcess, HullWhiteForwardProcess
- GJRGARCHProcess, ForwardMeasureProcess ABCs
Instruments
- HolderExtensibleOption, WriterExtensibleOption, QuantoForwardVanillaOption
- AmortizingCmsRateBond, TwoAssetCorrelationOption
Random Number Generators
- Mersenne Twister, Sobol, Halton, Burley 2020 (scrambled Sobol)
- Box-Muller, inverse cumulative Gaussian
- Uniform and Gaussian sequence generators
- Sobol Brownian bridge generators
Monte Carlo Infrastructure
- Path, MultiPath, BrownianBridge
- Gaussian and Sobol path/multi-path generators
- Brownian generator ABCs with MT, Sobol, and Burley 2020 families
Finite Differences
- Grid infrastructure: FdmLinearOpLayout, FdmLinearOpIterator, 9 one-dimensional meshers, FdmMesherComposite
- Operators: TripleBandLinearOp, first/second derivative, nine-point, 14 process-specific operators
- Time-stepping schemes: explicit/implicit Euler, Crank-Nicolson, Douglas, Craig-Sneyd, Hundsdorfer, modified Craig-Sneyd, method of lines
- Step conditions: American, Bermudan, dividend handler, snapshot, composite with vanilla factory
- Inner value calculators: cell-averaging, log-space, basket, zero
- Solvers: FdmBackwardSolver, Fdm1DimSolver, Fdm2DimSolver, Fdm3DimSolver, FdmBlackScholesSolver
- Risk-neutral density calculators: BSM, generalized BSM, Heston, CEV, square-root process
Full changelog: v0.4.0...v0.5.0
PyQuantLib 0.4.0
What's New
Instruments
- Callable bonds (CallableFixedRateBond, CallableZeroCouponBond) with OAS analytics
- Convertible bonds (zero-coupon, fixed-coupon, floating-rate) with BinomialConvertibleEngine
- Equity instruments (EquityIndex, EquityTotalReturnSwap)
- BondForward, NonstandardSwaption, FloatFloatSwaption
- Dividends (FixedDividend, FractionalDividend)
Exotic Options
- Lookback (4 variants: floating, fixed, partial floating, partial fixed)
- Cliquet, Compound, Simple/Complex Chooser
- Margrabe exchange options (European + American)
- Forward-start vanilla options
- Quanto vanilla options
Engines
- 4 lookback engines, cliquet, compound, 2 chooser, 2 Margrabe, 2 forward, quanto
- Callable bond engines (Tree + Black)
- BinomialConvertibleEngine (7 tree types)
Full changelog: v0.3.0...v0.4.0
PyQuantLib 0.3.0
What's New
Inflation support
- Inflation indexes (CPI, HICP, RPI) with zero-coupon and year-on-year variants
- Inflation term structures with bootstrapping and seasonality
- Inflation instruments: ZeroCouponInflationSwap, YearOnYearInflationSwap, YoYInflationCapFloor, CPIBond
- Inflation coupon pricers (Black, unit-displaced Black, Bachelier)
- YoY inflation cap/floor engines
Additional instruments
- VarianceSwap with ReplicatingVarianceSwapEngine
- NonstandardSwap and FloatFloatSwap
- AmortizingFixedRateBond, AmortizingFloatingRateBond, CmsRateBond
Experimental
- CdsOption with BlackCdsOptionEngine
See the full changelog for details.
PyQuantLib 0.2.0
Requires: QuantLib 1.40+ built as static library with std::shared_ptr
Added
Cash Flows
- CmsCoupon, CmsLeg for Constant Maturity Swap coupons
- MeanRevertingPricer ABC, CmsCouponPricer ABC
- LinearTsrPricer with LinearTsrPricerSettings and LinearTsrPricerStrategy
Indexes
- 12 concrete swap index subclasses (EuriborSwapIsdaFixA/B, EuriborSwapIfrFix, EurLiborSwap*, UsdLiborSwap*, JpyLiborSwap*, GbpLiborSwapIsdaFix, ChfLiborSwapIsdaFix)
Term Structures
- Fitted bond discount curves with 6 fitting methods (NelsonSiegel, Svensson, ExponentialSplines, CubicBSplines, SimplePolynomial, SpreadFittingMethod)
- Swaption volatility: SwaptionVolatilityStructure ABC, ConstantSwaptionVolatility, SwaptionVolatilityMatrix, SwaptionVolatilityCube, SabrSwaptionVolatilityCube
- Optionlet volatility: OptionletVolatilityStructure ABC, ConstantOptionletVolatility
- Cap/floor term volatility: CapFloorTermVolatilityStructure ABC, CapFloorTermVolSurface
- Optionlet stripping: OptionletStripper1, StrippedOptionletAdapter
Fixed
- Handle constructors use shared_ptr_from_python for safe extraction with diamond/virtual inheritance
- Compile-time check enforcing QL_USE_STD_SHARED_PTR
Full changelog: https://github.com/quantales/pyquantlib/blob/v0.2.0/docs/changelog.md
PyQuantLib 0.1.0
Initial release targeting QuantLib 1.40. See changelog for details.