Skip to content

Releases: quantales/pyquantlib

PyQuantLib 0.7.0

14 Mar 14:29

Choose a tag to compare

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

07 Mar 20:07

Choose a tag to compare

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

02 Mar 20:36

Choose a tag to compare

Fixed

  • Flaky test_triplebandlinearop_solve_splitting causing Windows wheel build failures

PyQuantLib 0.5.0

01 Mar 23:22

Choose a tag to compare

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

27 Feb 01:49

Choose a tag to compare

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

22 Feb 10:04

Choose a tag to compare

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

15 Feb 14:15

Choose a tag to compare

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

09 Feb 19:43

Choose a tag to compare

Initial release targeting QuantLib 1.40. See changelog for details.