Releases: lballabio/QuantLib
1.42.1
Downloads:
Changes for QuantLib 1.42.1
This is a bug-fix release removing a regression in the Gsr class possibly leading to an infinite notification loop. Thanks to Aleksis Ali Raza for the heads-up.
What's Changed
- Avoid notification loop in GSR model by @lballabio in #2543
- Set version to 1.42.1 final by @lballabio-bot in #2545
Full Changelog: v1.42...v1.42.1
1.42
Downloads:
Changes for QuantLib 1.42
Removals and deprecations
Features deprecated in release 1.37 were removed in this release; see #2424 for a full list.
A number of features were deprecated in this release and will be removed in a future release (probably release 1.47):
- The overloads of
CashFlows::npv,BondFunctions::cleanPriceandBondFunctions::dirtyPricetaking a z-spread and a day-count convention; use the overload without a day counter. - The overloads of
CashFlows::zSpreadandBondFunctions::zSpreadtaking a day-count convention; use the overload without a day counter. - The
DefaultLogCubicandLogMixedLinearCubicinterpolators; useKrugerLogandKrugerLogMixedLinearCubicinstead. - The
NeumannBC,DirichletBC,CrankNicolson,DMinus,DPlus,DPlusDMinus,DZero,ExplicitEuler,ImplicitEulerandMixedSchemeclasses; use the new finite-difference framework instead. - The
ForwardRateStructureadapter class; inherit fromZeroYieldStructureinstead (you should implementzeroYieldImplanyway). - The
ql/experimental/volatility/zabr.hppheader; include<ql/termstructures/volatility/zabr.hpp>instead. - The
ql/experimental/volatility/zabrinterpolatedsmilesection.hppheader; include<ql/termstructures/volatility/zabrinterpolatedsmilesection.hpp>instead. - The
ql/experimental/volatility/zabrinterpolation.hppheader; include<ql/math/interpolations/zabrinterpolation.hpp>instead. - The
ql/experimental/volatility/zabrsmilesection.hppheader; include<ql/termstructures/volatility/zabrsmilesection.hpp>instead. - The now empty
ql/experimental/exoticoptions/kirkspreadoptionengine.hpp,ql/experimental/exoticoptions/spreadoption.hpp,ql/grid.hpp,ql/math/transformedgrid.hpp,ql/methods/finitedifferences/bsmoperator.hpp,ql/methods/finitedifferences/pde.hppandql/methods/finitedifferences/pdebsm.hppheaders.
What's Changed
- Set version to 1.42-dev by @lballabio-bot in #2423
- Remove features deprecated in version 1.37 by @lballabio in #2424
- Deprecate a last few unused parts of the old finite-difference framework by @lballabio in #2425
- Avoid storing references in GSR and Markov-functional state processes by @pcaspers in #2418
- Fix accrued amount calculation for simple-averaging overnight indexed coupon by @thrasibule in #2427
- Add constructor validation in
OvernightIndexedCouponto preventpaymentDate < accrualEndDateby @jay-jain in #2421 - Faster
skipTo()implementation in Burley's scrambled Sobol RNG by @pcaspers in #2431 - Fix
testCachedHullWhitefailure with -O3 optimization by @Vatsalpatni73 in #2435 - Avoid warning when copying a partially initialized struct by @lballabio in #2437
- Remove code duplication in
FuturesConvAdjustmentQuoteby @eltoder in #2436 - Add FX Forward instrument, engine, and tests by @chiragpdesai77 in #2414
- Update generated headers by @lballabio-bot in #2440
- Update copyright list in license by @github-actions[bot] in #2439
- Make all interpolation implementations final by @eltoder in #2438
- Adjust Bessel K tolerance for catastrophic cancellation by @pandashark in #2445
- Avoid underflow and out-of-bounds access in
SmileSectionUtilsby @pandashark in #2444 - Added Chinese holidays for the year 2026 by @wegamekinglc in #2446
- Add
fixingConventionparameter toFloatingRateCouponby @pandashark in #2442 - Add
ZabrSwaptionVolatilityCubefor ZABR-based swaption volatility cubes by @aaditya-panik in #2434 - Automated fixes by clang-tidy by @lballabio-bot in #2452
- Fix
calculate()implementation inFlatExtrapolator2Dby @eltoder in #2448 - Respect
AmericanExerciseearliest date in FD engines by @alienbrett in #2449 - Support matching first derivatives in
MixedLinearCubicInterpolationby @eltoder in #2450 - Use contract dates for fixed-leg year fraction in
ZeroCouponInflationSwapby @pandashark in #2451 - Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #2464
- Add 2025 and 2026 TWSE holidays to Taiwan calendar by @zippyg in #2462
- Fix pillar assignment in inflation-curve bootstrap for
CPI::Linearby @pandashark in #2456 - Deprecate classes using Kruger with
monotonic=trueby @eltoder in #2457 - Deprecate day-counter argument in z-spread functions by @zippyg in #2465
- Remove virtual destructor from
Extrapolatorby @eltoder in #2466 - Fix address sanitizer failure by @eltoder in #2467
- Add Singapore (SGX) trading holidays for 2026 by @GuillermoPL in #2468
- Fix call price accrued during ex-coupon period by @pandashark in #2455
- Add
PiecewiseBlackVarianceSurfacefor ragged vol grids by @pandashark in #2443 - Update copyright list in license by @github-actions[bot] in #2470
- Automated fixes by clang-tidy by @lballabio-bot in #2461
- Bump docker/login-action from 3 to 4 by @dependabot[bot] in #2477
- Fix
MakeOISandMakeVanillaSwapend-of-month handling by @pcaspers in #2459 - Add
operator==toFdmLinearOpIteratorby @quantales in #2472 - Add single-section constructor and tests to
PiecewiseBlackVarianceSurfaceby @quantales in #2478 - Bring
MakeCreditDefaultSwapup to date with CDS instrument by @lballabio in #2479 - Add
MultipleResetsSwapinstrument and rate helper by @zippyg in #2474 - Add
BlackVolatilitySurfaceDeltaclass for FX options by @paolodelia99 in #2368 - Fix
MakeVanillaSwapfixed-tenor inference with explicit termination date by @pandashark in #2480 - Update copyright list in license by @github-actions[bot] in #2482
- Automated fixes by clang-tidy by @lballabio-bot in #2486
- Add
withExerciseCalendartoMakeSwaptionby @pandashark in #2484 - Throw when both effective date and settlement days are set in
MakeVanillaSwap/MakeOISby @pandashark in #2481 - Use log interpolation for discount curves by @eltoder in #2491
- Avoid 0.0 in
Burley2020SobolRsgoutput by @zippyg in #2494 - Remove special initial guess for spread discount curves by @eltoder in #2495
- Support custom pillar date in interest-rate futures helpers by @Krishn1412 in #2415
- Deprecate
ForwardRateStructurein favor ofZeroYieldStructureby @eltoder in #2261 - Use variant to reduce duplication in
SofrFutureRateHelperconstructors by @lballabio in #2501 - Cache derived and composite quotes by @eltoder in #2499
- Add
MultiCompositeQuoteby @eltoder in #2500 - Use custom type aliases instead of raw
doubleby @wegamekinglc in #2503 - Update copyright list in license by @github-actions[bot] in #2502
- Replace Boost macros that might not work with AAD types by @lballabio-bot in #2508
- Check for negative rates in Barone-Adesi-Whaley engine by @pandashark in #2505
- Support OIS underlyings in
FdmAffineModelSwapInnerValueby @pandashark in #2488 - Forward notifications after failed calculations in
LazyObjectby @pandashark in #2504 - Support separate exercise date in MC arithmetic average-strike Asian engine by @pandashark in #2506
- Fix f...
1.41
Downloads:
Changes for QuantLib 1.41
Removals and deprecations
Features deprecated in release 1.36 were removed in this release; see #2348 for a full list.
A number of features were deprecated in this release and will be removed in a future release:
- The
ZeroInflationTermStructure::zeroRateandYoYInflationTermStructure::yoyRateoverloads taking an observation lag; if needed, use the other overloads instead (but you should go through the corresponding indexes anyway). - The constructors of
InterpolatedPiecewiseForwardSpreadedTermStructure,InterpolatedPiecewiseZeroSpreadedTermStructureandZeroSpreadedTermStructuretaking a day counter; use another constructor instead. - The
ContinuousArithmeticAsianLevyEngineconstructor taking a start date; use the other constructor and pass the start date to the option instead. - The
ql/functional.hppheader; use#include <functional>instead. - The
ql/tuple.hppheader; use#include <tuple>instead. - The now empty
ql/experimental/averageois/arithmeticaverageois.hpp,ql/experimental/averageois/arithmeticoisratehelper.hpp,ql/experimental/averageois/makearithmeticaverageois.hpp,ql/experimental/risk/creditriskplus.hppandql/experimental/risk/sensitivityanalysis.hppheaders.
What's Changed
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #2345
- Set version to 1.41-dev by @lballabio-bot in #2347
- Remove features deprecated in version 1.36 by @lballabio in #2348
- Enable rounding in Ultimate Forward Rate term-structure by @marcin-rybacki in #2342
- Update copyright list in license by @github-actions[bot] in #2349
- Automated fixes by clang-tidy by @lballabio-bot in #2352
- Make
PiecewiseSpreadYieldCurve::traits_typepublic by @eltoder in #2350 - Add constructors with fixed start and end dates for inflation swap helpers by @eltoder in #2351
- Add Vanna and Volga to Black-Scholes and Bachelier calculators by @kp9991-git in #2354
- Cleaned up extra semicolon in output loops by @BabarZKhan in #2355
- Automated fixes by clang-tidy by @lballabio-bot in #2357
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #2358
- Fixed misspelling in output of example by @BabarZKhan in #2359
- Small optimization for Vanna-Volga adjustment in barrier engine by @paolodelia99 in #2356
- Implement
ZeroCouponInflationSwap::fixedLegBPS()by @eltoder in #2360 - Allow crossed ranges in
holidayListandbusinessDayListmethods by @eltoder in #2362 - Remove unused day counter argument from spreaded curves by @eltoder in #2365
- Automated fixes by clang-tidy by @lballabio-bot in #2370
- Simplify implementation of internal
LogInterpolationImplandMixedInterpolationImplclasses by @eltoder in #2363 - Make it possible to use default setting for
includeSettlementDateFlowsinCashFlowsmethods by @lballabio in #2372 - Deprecate retrieval of lagged rates from inflation term structures by @lballabio in #2374
- Added semi-analytic European engine for a single asset with cash dividends by @klausspanderen in #2373
- Update generated headers by @lballabio-bot in #2376
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #2382
- Patch a few vector initialisations for AD compatibility by @auto-differentiation-dev in #2383
- Add Asian option example by @KookiesNKareem in #2380
- Add bootstrap helper for fixed-vs-floating const-notional cross-currency swaps by @uzi101 in #2367
- Update copyright list in license by @github-actions[bot] in #2384
- Consistent usage of
BOOST_ALL_NO_LIBandql/auto_link.hppby @francisduffy in #2385 - Update generated headers by @lballabio-bot in #2386
- Automated fixes by clang-tidy by @lballabio-bot in #2387
- Add global multi-curve bootstrap by @pcaspers in #2344
- Add initial support for seasoned continuous Asian options by @KookiesNKareem in #2381
- Update generated headers by @lballabio-bot in #2390
- Update old license links by @github-actions[bot] in #2389
- Update copyright list in license by @github-actions[bot] in #2388
- Avoid warning about implicit copy constructor by @lballabio in #2393
- Add natural cubic spline to fitting methods for bond curves by @Krishn1412 in #2378
- Automated fixes by clang-tidy by @lballabio-bot in #2397
- Relax check on helper maturities in
GlobalBootstrapby @pcaspers in #2395 - Patches for AD compatibility by @auto-differentiation-dev in #2402
- Use
quoteErrorinFittedBondDiscountCurveby @eltoder in #2401 - Bump peter-evans/create-pull-request from 7 to 8 by @dependabot[bot] in #2405
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #2404
- Add an accessor to
Instrumentfor the current pricing engine by @eltoder in #2400 - Add optional instrument weights to global bootstrap inputs by @pcaspers in #2398
- Add extra features from ORE to overnight-indexed coupons by @paolodelia99 in #2297
- Update old license links by @github-actions[bot] in #2406
- Automated fixes by clang-tidy by @lballabio-bot in #2407
- Prevent some deferred observers from being destroyed during updates by @francisduffy in #2409
- Fix GsrProcessCore crash when constructed with temporary arrays by @yashwantbezawada in #2410
- Better implementation of #2409 by @francisduffy in #2412
- Revert #2410 by @lballabio in #2417
- Automated fixes by clang-tidy by @lballabio-bot in #2416
- Fix typo in multi-curve error message by @pcaspers in #2419
- Set version to 1.41-rc by @lballabio-bot in #2420
- Set version to 1.41 final by @lballabio-bot in #2422
New Contributors
- @BabarZKhan made their first contribution in #2355
- @KookiesNKareem made their first contribution in #2380
- @uzi101 made their first contribution in #2367
- @Krishn1412 made their first contribution in #2378
- @yashwantbezawada made their first contribution in #2410
Full Changelog: v1.40...v1.41
1.40
Downloads:
Changes for QuantLib 1.40
Removals and deprecations
Features deprecated in release 1.35 were removed in this release; see
#2268 for a full list.
A number of features were deprecated in this release and will be
removed in a future release:
- The overload of the
RangeAccrualFloatersCouponconstructor taking ashared_ptrto a schedule; use the other overload instead. - The method
observationsScheduleof the same class; useobservationScheduleinstead. - The
<ql/experimental/fx/blackdeltacalculator.hpp>andql/experimental/fx/deltavolquote.hppheaders; use<ql/pricingengines/blackdeltacalculator.hpp>and<ql/quotes/deltavolquote.hpp>instead. - The overload of the
CPIBondandCPIBondHelperconstructors taking thegrowthOnlyparameter; use the other overload instead. - The methods
cumD1,cumD2,nD1andnD2of theBlackDeltaCalculatorclass; they are internal methods and will be moved to the private section. - The
BlackDeltaPremiumAdjustedSolverClassandBlackDeltaPremiumAdjustedMaxStrikeClass; they were used in the implementation ofBlackDeltaCalculatorbut are now obsolete. - The
BootstrapErrorclass template; use a lambda instead (see #2263 for an example). - The
PenaltyFunctionclass; useSimpleCostFunctioninstead. - The
Tonaindex was renamed toTonar; use the latter instead.
What's Changed
- Make
Nullconstexpr by @eltoder in #2260 - Remove features deprecated in version 1.35 by @lballabio in #2268
- Allow specifying business-day convention in
OISRateHelperby @eltoder in #2264 - Allow specifying business-day convention for floating leg in
SwapRateHelperby @eltoder in #2269 - Replace
BootstrapErrorclass with a lambda and deprecate it by @eltoder in #2263 - Cleanup includes in interpolated curves by @eltoder in #2274
- Expose swap on inflation swap bootstrap helpers by @eltoder in #2275
- Auto-enable extrapolation for
ForwardSpreadedTermStructureby @eltoder in #2273 - Replace and deprecate
LocalBootstrap'sPenaltyFunctionby @eltoder in #2272 - Replacing std::pow() with test-specific LUT implementation for rounding tests in quantlib benchmarking. by @vladimir-polin in #2270
- Support custom pillar dates after the latest relevant date in
IterativeBootstrapby @eltoder in #2262 - Renamed Tona index to Tonar by @lballabio in #2277
- Don't use
shared_ptr<Schedule>by @lballabio in #2280 - Automated fixes by clang-tidy by @github-actions[bot] in #2283
- Use
doublefor constexpr variable to maintain AAD compatibility by @auto-differentiation-dev in #2282 - Add soft-barrier options by @wday0507 in #2271
- Allow creating
PiecewiseZeroInflationCurvebefore the base date is known by @eltoder in #2279 - Update copyright list in license by @lballabio-bot in #2290
- Update generated headers by @lballabio-bot in #2291
- Deprecate
growthOnlyparameter in CPI bond and helper by @lballabio in #2287 - Refactor inflation helpers by @eltoder in #2293
- Add
cmake_runners-latest-matrix.ymlworkflow by @ralfkonrad in #2249 - Automated fixes by clang-tidy by @lballabio-bot in #2294
- Add
InterpolatedSpreadDiscountCurveandPiecewiseSpreadYieldCurveby @eltoder in #2292 - Fix typo in uniform1dmesher by @quantresearch1 in #2298
- Add BRL CDI index by @sophistis42 in #2295
- Update copyright list in license by @lballabio-bot in #2300
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #2299
- Fix consistent test macro usage for AAD compatibility by @auto-differentiation-dev in #2303
- Add checks in
Schedule'sstartDateandendDatemethods to avoid segfault by @davidizzle in #2304 - Update old license links by @lballabio-bot in #2308
- Better docs string BlackDeltaCalculator by @paolodelia99 in #2301
- Move
BlackDeltaCalculatorandDeltaVolQuotefrom experimental to core by @lballabio in #2309 - Bump actions/stale from 9 to 10 by @dependabot[bot] in #2313
- Replace
ImpliedVolatilityHelperwith lambda by @lballabio in #2318 - Add
BachelierCalculatorclass by @kp9991-git in #2316 - Update old license links by @lballabio-bot in #2322
- Update generated headers by @lballabio-bot in #2323
- Add perpetual futures by @drxyzw in #2315
- Update copyright list in license by @lballabio-bot in #2325
- Fixing naming and styles in pull request #2315 (perpetual futures) by @drxyzw in #2329
- Add Singapore public holidays for 2025 by @sergioUjo in #2330
- Speedup Sobol Sequence Generator by transposing directionIntegers_ matrix by @dmardavies in #2333
- Simplify and generalize the implementation of
inflationPeriodby @eltoder in #2334 - Removing trailing spaces in quantlibbenchmark.cpp by @vladimir-polin in #2335
- Improvement to Latent model execution time by @vladimir-polin in #2336
- Add explicit return type for lambdas to work with expression templates by @auto-differentiation-dev in #2338
- Add end-of-month date adjustment rules for 30/365 by @ragibson in #2337
- Fix potential dangling reference in MultiCubicSpline by @ipenas-cl in #2265
- Automated fixes by clang-tidy by @lballabio-bot in #2332
- Set version to 1.40-rc by @lballabio-bot in #2341
- Set version to 1.40 final by @lballabio-bot in #2343
New Contributors
- @vladimir-polin made their first contribution in #2270
- @wday0507 made their first contribution in #2271
- @lballabio-bot made their first contribution in #2290
- @quantresearch1 made their first contribution in #2298
- @davidizzle made their first contribution in #2304
- @drxyzw made their first contribution in #2315
- @sergioUjo made their first contribution in #2330
- @dmardavies made their first contribution in #2333
- @ragibson made their first contribution in #2337
- @ipenas-cl made their first contribution in #2265
Full Changelog: v1.39...v1.40
1.39
Downloads:
Changes for QuantLib 1.39:
QuantLib 1.39 includes 28 pull requests from several contributors.
Some of the most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt and at https://github.com/lballabio/QuantLib/milestone/37?closed=1.
Portability
- Bug in recent Visual C++ versions: a few recent versions of the Visual C++ 2022 compiler (from 17.14.2 to 17.14.8) had a known bug that, unfortunately, affected QuantLib heavily and made it basically unusable. A fix was released in version 17.14.9; if you’re compiling QuantLib on Windows, make sure you're using at least that version (or, if you can't upgrade, use the Visual C++ 2019 toolset; you can do that from VC++ 2022, as well).
- Change of default: as already announced, in this release we're switching the default for
ext::anyandext::optionalfrom the Boost implementation to the standard one. Usingboost::anyandboost::optionalis still possible for the time being but deprecated.
Dates, calendars and day-count conventions
- Fixed a corner case of
Calendar::advancewhen using EOM and the unadjusted business-day convention; thanks to Eugene Toder (@eltoder). - Fixed an error when asking for the serial number of a null date with intraday support enabled (@lballabio); thanks to @UnitedMarsupial for the heads-up.
- Added the SHIR fixing calendar (@lballabio).
- Fixed the order of operations in the 30/360 USA day-count convention; thanks to Eugene Toder (@eltoder).
Indexes
- Added the SARON index; thanks to Paolo D'Elia (@paolodelia99).
- Added a
CustomIborIndexclass that allows to create an IBOR-like index with custom calendars for value and maturity dates calculations; thanks to Eugene Toder (@eltoder).
Instruments and pricing engines
- The
MakeOISclass now knows the default number of settlement days for a few currencies; thanks to Zak Kraehling (@7astro7).
Interest rates
- The
FxSwapRateHelperclass can now be built specifying fixed dates instead of a tenor; thanks to Eugene Toder (@eltoder). - A number of helpers can now take quoted rates either as numbers or
Handle<Quote>via the use ofstd::variant; this reduces the number of overloaded constructors and in some cases allows the use of keyword arguments when exported to Python. Thanks to Paolo D'Elia (@paolodelia99) and Eugene Toder (@eltoder). - The
OISRateHelperclass can now specify a calendar for the overnight leg; thanks to Eugene Toder (@eltoder). - The
ZeroCouponInflationSwapHelperclass now doesn't need to be passed a nominal curve, which wouldn't affect the results anyway (@lballabio).
Volatility
- Optionlet strippers can now use overnight indexes; thanks to Paolo D'Elia (@paolodelia99).
- Added calculation of better guesses for SABR calibration as detailed in the Le Floc'h and Kennedy paper (@lballabio).
Deprecated features
- Removed features deprecated in version 1.34:
- the overloads of
Bond::yield,BondFunctions::atmRate,BondFunctions::yieldandBondFunctions::zSpreadtaking a price as aRealinstead of aBond::Priceinstance; - the
Swaption::underlyingSwapandSwaptionHelper::underlyingSwapmethods; - the constructors of
InflationTermStructure,ZeroInflationTermStructure,YoYInflationTermStructure,InterpolatedZeroInflationCurve,InterpolatedYoYInflationCurve,PiecewiseZeroInflationCurveandPiecewiseYoYInflationCurvetaking an observation lag; - the overload of
InflationTermStructure::setSeasonalitytaking no arguments; - the
InflationTermStructure::setBaseRatemethod; - the
fixedRateBondmethod andfixedRateBond_data member of theFixedRateBondHelperclass, and thecpiBondmethod andcpiBond_data member of theCPIBondHelperclass.
- the overloads of
- Deprecated the
observationLagandhasExplicitBaseDatemethods and theobservationLag_data member of theInflationTermStructureclass; inflation term structures always have an explicit base date now. - Deprecated the usage of
boost::anyandboost::optional; their standard counterparts are used by default now. - Deprecated the constructor of
ZeroCouponInflationSwapHelpertaking a nominal curve; use the other constructor instead.
Thanks go also to Imrane Amri (@raneamri), Ralf Konrad Eckel (@ralfkonrad), Joan Carlos Naftanaila (@MiDDiz), Eugene Toder (@eltoder), Paolo D'Elia (@paolodelia99) and Holger Rother (@hrother) for miscellaneous smaller fixes, improvements or reports.
New Contributors
Full Changelog: v1.38...v1.39
1.38
Downloads:
Changes for QuantLib 1.38:
QuantLib 1.38 includes 29 pull requests from several contributors.
Some of the most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt and at https://github.com/lballabio/QuantLib/milestone/36?closed=1.
Portability
- Future change of default: as already announced, in the next release we're going to switch the default for
ext::anyandext::optionalfrom the Boost implementation to the standard one. Usingboost::anyandboost::optionalis still possible for the time being but deprecated. - Possible future breaking change: in the next release, the
SimpleQuoteclass might be madefinal. If you're inheriting from it, drop us a line.
Dates and calendars
- The
Scheduleclass now honors the passed business day convention when end-of-month is enabled (@lballabio). Previously, enabling end-of-month caused it to always use the Modified Following convention. - Added Chinese holidays for 2025; thanks to Cheng Li (@wegamekinglc).
- Added Thailand holidays for 2025; thanks to Paolo D'Elia (@paolodelia99).
- Added Hong Kong holidays for 2025; thanks to Ka Wai Lee (@kawailee).
Indexes
- Year-or-year inflation indexes can (and should) now be built without an
interpolatedflag (@lballabio). As for zero inflation indexes, the interpolation was moved into the coupons using the indexes. - Fixed obsolete conventions for the (now discountinued) EUR LIBOR index; thanks to Eugene Toder (@eltoder).
Instruments and pricing engines
- Added implementation of partial-time barrier put options; thanks to Paolo D'Elia (@paolodelia99).
- The
OvernightIndexFutureclass would not receive notifications when the convexity quote or the evaluation date changed; this is now fixed. Thanks to Eugene Toder (@eltoder). - The experimental
BlackCallableFixedRateBondEnginewouldn't take discount correctly into account when evaluation the embedded option; this is now fixed. Thanks to @RobertS548 for the heads-up. - Moved a few instruments and engines from the experimental folder to the core library (@lballabio):
HolderExtensibleOptionandAnalyticHolderExtensibleOptionEngine;WriterExtensibleOptionandAnalyticWriterExtensibleOptionEngine;PartialTimeBarrierOptionandAnalyticPartialTimeBarrierOptionEngine;TwoAssetBarrierOptionandAnalyticTwoAssetBarrierEngine;TwoAssetCorrelationOptionand ``AnalyticTwoAssetCorrelationEngine`;ContinuousArithmeticAsianLevyEngine;AnalyticPDFHestonEngine.
Term structures
- The
DepositRateHelperandFraRateHelperclasses can now be built specifying fixed dates instead of a tenor; thanks to Eugene Toder (@eltoder). - The cross-currency basis-swap rate helpers can now be passed an overnight index and a corresponding payment frequency; it is also possible to pass a payment lag. Thanks to @kp9991-git.
- The additional penalty functions passed to the
GlobalBootstrapclass can now take the curve nodes as arguments; thanks to Eugene Toder (@eltoder). This makes it possible, for example, to penalize gradients to make the curve smoother. It is also possible to specify additional variables to be optimized, e.g., futures convexity adjustments. - Added a piecewise forward-spreaded term structure; thanks to Paolo D'Elia (@paolodelia99).
Deprecated features
- Removed features deprecated in version 1.33:
- the constructors of
CurrencyandCurrency::Datataking a format string, theformatmethod of theCurrencyclass and theformatStringdata member ofCurrency::Data.
- the constructors of
- Deprecated the constructors of year-on-year inflation indexes taking an
interpolatedargument; use the other constructors instead. - Deprecated the header files in
ql/experimental/exoticoptionsfor some classes moved to the core library (see above); use the corresponding new headers inql/instrumentsandql/pricingenginesinstead.
Thanks go also to Eugene Toder (@eltoder), Konstantin Novitsky (@novitk), Tomas Kalibera (@kalibera) and @raneamri for miscellaneous smaller fixes, improvements or reports.
New Contributors
- @paolodelia99 made their first contribution in #2142
- @kp9991-git made their first contribution in #2168
- @kalibera made their first contribution in #2179
- @kawailee made their first contribution in #2196
Full Changelog: v1.37...v1.38
1.37
Downloads:
Changes for QuantLib 1.37:
QuantLib 1.37 includes 27 pull requests from several contributors.
Some of the most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt and at https://github.com/lballabio/QuantLib/milestone/35?closed=1.
Portability
- Future change of default: as already announced, in the next release we're going to switch the default for
ext::anyandext::optionalfrom the Boost implementation to the standard one.
Dates and calendars
- Added closure for President Carter's funeral to the NYSE calendar; thanks to Dirk Eddelbuettel (@eddelbuettel).
- Added distinct Wellington and Auckland variants for New Zealand calendar (@lballabio).
Indexes
- Improved the performance of the
addFixingandaddFixingsmethod in theIndexclass; thanks to Peter Caspers (@pcaspers). - Added the KOFR index; thanks to Jongbong An (@jongbongan).
Instruments and pricing engines
- Added Choi pricing engine for Asian options; thanks to Klaus Spanderen (@klausspanderen).
- Passing a risk-free overnight index to an asset swap now implies using OIS-like coupons (@lballabio).
- Added Bjerksund-Stensland, Operator-Splitting, Deng-Li-Zhou, Choi and n-dim PDE engines for spread options; thanks to Klaus Spanderen (@klausspanderen).
- Deng-Li-Zhou, Choi and n-dim PDE engines for basket options; thanks to Klaus Spanderen (@klausspanderen).
Term structures
- Possibly breaking: better upper and lower bounds for global bootstrap; thanks to Eugene Toder (@eltoder). If you created your own bootstrap traits, you'll need to add
transformDirectandtransformInversemethods for them to work with theGlobalBootstrapclass. - Fitted bond curves can now be passed precomputed parameters without the need for bond helpers (@lballabio).
- Use correct guess in SABR swaption vol cube (@lballabio).
- OIS rate helpers can now be passed a date-generation rule; thanks to Sotirios Papathanasopoulos (@sophistis42).
- Swap rate helpers can now be passed explicit start and end dates; thanks to Eugene Toder (@eltoder).
- OIS rate helpers can now be passed explicit start and end dates, making a distinct
DatedOISRateHelperclass unnecessary; thanks to Eugene Toder (@eltoder).
Cash flows
- Added new
MultipleResetsCouponandMultipleResetsLegclasses to manage coupons with multiple resets (@lballabio). They fix and replaceSubPeriodsCouponandSubPeriodsLeg.
Deprecated features
- Removed features deprecated in version 1.32:
- the
FixedRateBondForwardclass; - the
SampledCurveandSampledCurveSetclasses; - the
StepConditionSetandBoundaryConditionSetclasses; - the
ParallelEvolverandParallelEvolverTraitsclasses; - the
FDVanillaEngineandFDMultiPeriodEngineclasses; - the
BSMTermOperator,StandardFiniteDifferenceModel,StandardSystemFiniteDifferenceModelandStandardStepConditiontypedefs; - the
QL_NULL_FUNCTIONmacro; - the overloads of
DigitalCmsLeg::withReplication,DigitalCmsSpreadLeg::withReplicationandDigitalIborLeg::withReplicationtaking no arguments; - the empty headers
analyticamericanmargrabeengine.hpp,analyticcomplexchooserengine.hpp,analyticcomplexchooserengine.hpp,analyticcompoundoptionengine.hpp,analyticeuropeanmargrabeengine.hpp,analyticsimplechooserengine.hpp,complexchooseroption.hpp,compoundoption.hpp,margrabeoption.hppandsimplechooseroption.hppin theql/experimental/exoticoptionsfolder; - the empty header
ql/experimental/termstructures/multicurvesensitivities.hpp; - the empty headers
pdeshortrate.hppandshoutcondition.hppin theql/methods/finitedifferencesfolder; - the empty header
ql/models/marketmodels/duffsdeviceinnerproduct.hpp; - the empty headers
fdconditions.hpp,fddividendengine.hppandfdstepconditionengine.hppin theql/pricingengines/vanillafolder.
- the
- Deprecated the
SubPeriodsCoupon,SubPeriodsPricer,AveragingRatePricerandCompoundingRatePricerclasses; renamed toMultipleResetsCoupon,MultipleResetsPricer,AveragingMultipleResetsPricerandCompoundingMultipleResetsPricer, respectively. - Deprecated the
SubPeriodsLegclass; useMultipleResetsLeginstead. - Deprecated the
MultipleResetsCouponconstructor without a reset schedule; use the other constructor. - Deprecated the
calendar,price,addQuote,addQuotes,clearQuotes,isValidQuoteDateandquotesmethods in theCommodityIndexclass; usefixingCalendar,fixing,addFixing,addFixings,clearFixings,isValidFixingDateandtimeSeriesinstead. - Deprecated the experimental
SpreadOptionandKirkSpreadOptionEngineclasses; useBasketOptionandKirkEngineinstead. - Deprecated the
TransformedGridandLogGridclasses and theCenteredGrid,BoundedGridandBoundedLogGridfunctions; use the new FD framework instead. - Deprecated the
PdeOperatorandBSMOperatorclasses; use the new FD framework instead. - Deprecated the
PdeSecondOrderParabolic,PdeConstantCoeff,PdeBSMandGenericTimeSetterclasses; use the new FD framework instead. - Deprecated the
hasHistory,getHistory,clearHistory,hasHistoricalFixingandsetHistoryin theIndexManagerclass; useIndex::hasHistoricalFixing,Index::timeSeries,Index::clearFixings,Index::hasHistoricalFixingandIndex::addFixingsinstead. - Deprecated the
notifiermethod in theIndexManagerclass; register with the relevant index instead. - Deprecated one of the
AssetSwapconstructors; use the other overload. - Deprecated the
fcnandjacFcnmethods in theLevenbergMarquardtclass; they are for internal use only. - Deprecated the
indexIsInterpolatedparameter in YoY inflation curve constructors; use another overload. Fixings will be interpolated by coupons instead, so curves and indexes will only be asked for fixing at the start of a month. - Deprecated the
indexIsInterpolatedmethod and theindexIsInterpolated_data member in theYoYInflationTermStructureclass. - Deprecated the
DatedOISRateHelperclass; useOISRateHelperinstead.
Thanks go also to Eugene Toder (@eltoder), Ben Watson (@sonben) and the XAD team (@auto-differentiation-dev) for miscellaneous smaller fixes, improvements or reports.
New Contributors
- @sophistis42 made their first contribution in #2107
Full Changelog: v1.36...v1.37
1.36
Downloads:
Changes for QuantLib 1.36:
QuantLib 1.36 includes 34 pull requests from several contributors.
Some of the most notable changes are included below. A detailed list of changes is available in ChangeLog.txt and at https://github.com/lballabio/QuantLib/milestone/34?closed=1.
Portability
- New minimum C++ standard: starting from this release, a compiler supporting C++17 is required. Passing
--enable-std-classestoconfigurenow causesstd::anyandstd::optionalto be used. - End of support: related to the above, and as announced since release 1.32, this release drops support Visual C++ 2015, g++ up to version 6.x, and clang up to version 4. Also, given the testing environments available on GitHub actions, clang 5 and 6 are no longer available to us for testing, and the same holds for g++ 7. Therefore, it is suggested to upgrade to a newer version if possible.
- End of support: this release also removes the configure switch that allowed to use
boost::tuple,boost::functionandboost::bindinstead of theirstdcounterparts; thestdclasses were already the default since release 1.32. The corresponding classes in theextnamespace are now deprecated. - Future change of default: in a couple of releases, we're going to switch the default for
ext::anyandext::optionalfrom the Boost implementation to the standard one.
Dates and calendars
- Added
startOfMonthandisStartOfMonthmethods to bothDateandCalendar; thanks to Francois Botha (@igitur). - Added specialized Warsaw Stock Exchange (WSE) calendar to Poland; thanks to Marcin Bogusz (@marcinfair).
- Added a new one-off holiday to South Korean calendar; thanks to Jongbong An (@jongbongan).
Cash flows
- Made
OvernightIndexedCouponPricerpublic and renamed toCompoundingOvernightIndexedCouponPricer, and movedArithmeticAveragedOvernightIndexedCouponPricerfrom experimental to core library; thanks to Ralf Konrad Eckel (@ralfkonrad).
Indexes
- Possibly breaking: inherited the
Indexclass fromObserverand added a virtualpastFixingmethod. If you inherited a class from bothIndexandObserver, change your code to avoid inheriting twice fromObserver. Thanks to Ralf Konrad Eckel (@ralfkonrad). - Added currency information to
EquityIndex; thanks to Ralf Konrad Eckel (@ralfkonrad).
Inflation
- Inflation indexes are now better at deciding when to forecast (@lballabio); also added a
needsForecastmethod that makes the information available. - Added
CPI::laggedYoYRate; also,YoYInflationCoupon,yoyInflationLeg,CappedFlooredYoYInflationCoupon,YearOnYearInflationSwap,MakeYoYInflationCapFloor,YearOnYearInflationSwapHelper,YoYOptionletHelperand the experimentalYoYCapFloorTermPriceSurfaceandInterpolatedYoYCapFloorTermPriceSurfacecan now take an explicitCPI::InterpolationTypeparameter instead of relying on the index being defined as interpolated or not (@lballabio). This is a first step in removing interpolation fromYoYInflationIndexand moving it into the coupons where it belongs. - Added method to YoY inflation index returning the date of the last available fixing (@lballabio).
Term structures
- Allow passing a pricer to the constructor of the
OISRateHelperandDatedOISRateHelperclasses (@lballabio); this makes it possible to use arithmetic averaging of overnight rates. - Allow custom constraint in non-linear fitting methods; thanks to Kai Lin (@klin333).
- Allow creating a swap helper with frequency "Once" (@lballabio).
- The
GlobalBootstrapconstructor can now take an optional optimizer and end criteria, allowing for better configuration; thanks to Eugene Toder (@eltoder).
Volatility
- Added exact Bachelier implied-vol formula from Jäckel's paper; thanks to Peter Caspers (@pcaspers).
Deprecated features
- Removed features deprecated in version 1.31:
- the
BlackVanillaOptionPricertypedef; - the constructors of
CPICoupontaking aspreadparameter, itsspreadmethod, and its protectedspread_data member; - the
withSpreadsmethod ofCPILeg; - the protected
adjustedFixingmethod andspread_data member ofCPICouponPricer; - the
YYAUCPIr,YYEUHICPr,YYFRHICPr,YYUKRPIr,YYUSCPIrandYYZACPIrindexes and the experimentalYYGenericCPIrclass; - the constructor of
YoYInflationIndextaking aratioparameter; - a couple of constructors of
ForwardRateAgreement; - the empty files
ql/math/curve.hpp,ql/math/lexicographicalview.hpp,ql/termstructures/yield/drifttermstructure.hppandql/patterns/composite.hpp; - the
const_iteratorandconst_value_iteratortypedefs in theGarch11class; - the
const_time_iterator,const_value_iterator,const_reverse_time_iteratorandconst_reverse_value_iteratortypedefs and thecbegin_values,cend_values,crbegin_values,crend_values,cbegin_time,cend_time,crbegin_timeandcrend_timemethods of theTimeSeriesclass; - the
base,increment,decrement,advanceanddistance_tomethod of thestep_iteratorclass.
- the
- Deprecated
ext::function,ext::bind,ext::ref,ext::cref,ext::placeholders,ext::tuple,ext::make_tuple,ext::getandext::tie; use the correspondingstd::classes and functions instead. - Deprecated the
ArithmeticAverageOIS,MakeArithmeticAverageOISandArithmeticOISRateHelperclasses; useOvernightIndexedSwap,MakeOISandOISRateHelperinstead. - Deprecated the
YoYInflationCoupon,yoyInflationLeg,CappedFlooredYoYInflationCoupon,YearOnYearInflationSwap,MakeYoYInflationCapFloor,YearOnYearInflationSwapHelper,YoYOptionletHelper,YoYCapFloorTermPriceSurfaceandInterpolatedYoYCapFloorTermPriceSurfaceconstructors that don't take an explicit CPI interpolation type. - Deprecated the
getInfomethod ofLevenbergMarquardt; inspect the result ofminimizeinstead. - Deprecated the
ql/experimental/averageois/averageoiscouponpricer.hppfile; includeql/cashflows/overnightindexedcouponpricer.hppinstead. - Deprecated the somewhat out-of-scope and experimental
CreditRiskPlus,SensitivityAnalysis,aggregateNPV,parallelAnalysisandbucketAnalysis.
Thanks go also to Jonathan Sweemer (@sweemer), Eugene Toder (@eltoder), Ralf Konrad Eckel (@ralfkonrad), Tony Wang (@twan3617) and the XAD team (@auto-differentiation-dev) for miscellaneous smaller fixes, improvements or reports.
New Contributors
- @raneamri made their first contribution in #2056
- @twan3617 made their first contribution in #2057
- @klin333 made their first contribution in #2059
- @marcinfair made their first contribution in #2063
- @jongbongan made their first contribution in #2086
Full Changelog: v1.35...v1.36
1.35
Downloads:
Changes for QuantLib 1.35:
QuantLib 1.35 includes 32 pull requests from several contributors.
Some of the most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt and at https://github.com/lballabio/QuantLib/milestone/33?closed=1.
Portability
- Future end of support: as announced since release 1.32, this release is the last to support Visual C++ 2015, g++ up to version 6.x, and clang up to version 4; support for those compilers will be dropped in next release, 1.36, about three months from now. From that point onwards, this will allows us to enable the use of C++17 in the code base. Also, given the testing environments available on GitHub actions, clang 5 and 6 are no longer available to us for testing, and the same holds for g++ 7. Therefore, it is suggested to upgrade to a newer version if possible.
- Future end of support: at the same time as the above, we'll also remove the configure switch that allows to use
boost::tuple,boost::functionandboost::bindinstead of theirstdcounterparts; thestdclasses are already the default since release 1.32. - The
config.hppgenerated by cmake now behaves like the one generated by autotools and provides values for the defines so that they can be used instatic_assert(@lballabio). Thanks to Tom Anderson (@tomwhoiscontrary) for the heads-up.
Calendars
- Some fixes for the Chilean calendar; thanks to Eugene Toder (@eltoder).
- Better NFP/SIFMA rule for Good Friday in U.S. government bond calendar; thanks to Eugene Toder (@eltoder).
- Updated Indian NSE holidays for 2024; thanks to Fredrik Gerdin Börjesson (@gbfredrik).
- Some fixes for the Mexican calendar; thanks to Lucas Dias (@lukedays).
Cash flows
- Added lookback days, lockout days and observation shift to overnight-indexed coupons; thanks to Marcin Rybacki (@marcin-rybacki). The same parameters were propagated to overnight-indexed swaps and to the corresponding helpers.
- Added the
hasFixedmethod to IBOR coupons that detects whether they have fixed or still need to be forecast; thanks to Tom Anderson (@tomwhoiscontrary).
Instruments
- Overnight index futures didn't manage a start date falling on a holiday; this is now fixed (@lballabio). Thanks to GitHub user @JustCallMeDavid for the heads-up.
- Callable bonds didn't account for nominal when calculating OAS; this is now fixed. Thanks to Hristo Raykov (@HristoRaykov).
- For European swaption, sometimes the price is quoted as a forward price to be paid at exercise time. Such a quoted price can now be used for implied-volatility calculation. The forward price is also returned by the Black and Bachelier swaption engines as an additional result (@lballabio).
Random numbers
- Added the fast
ZigguratGaussianRnggenerator; thanks to Ralf Konrad Eckel (@ralfkonrad).
Term structures
- Fix treatment of custom end date in
FuturesRateHelper(@lballabio). - Add possibility to reset guess in fitted bond curves (@lballabio). Thanks to GitHub user @klin333 for the suggestion.
Utilities
- Overloaded
HandleandRelinkableHandleconstructors on lvalue and rvalue references for performance; thanks to Jonathan Sweemer (@sweemer).
Tools
- Better benchmark utility; thanks to Jacques du Toit (@amd-jadutoit).
Examples
- Reworked bond example (@lballabio).
Deprecated features
- Removed features deprecated in version 1.30:
- the
DividendVanillaOptionandDividendBarrierOptionclasses; - the constructor of
AnalyticDividendEuropeanEnginetaking only a process and no dividends; - the
SwaptionVolCube1,SwaptionVolCube1a,SwaptionVolCube1xandSwaptionVolCube2typedefs and the empty headersql/experimental/volatility/swaptionvolcube1.hpp,ql/experimental/volatility/swaptionvolcube1a.hppandql/experimental/volatility/swaptionvolcube2.hpp; - the
setCommonmethod ofCappedFlooredYoYInflationCoupon.
- the
- Deprecated the constructor of
DatedOISRateHelpertaking a forward start; use the other overload instead. - Deprecated the specialized
Bibor9M,Euribor2W,Euribor3W,Euribor2M,Euribor4M,Euribor5M,Euribor7M,Euribor8M,Euribor9M,Euribor10M,Euribor11M,Euribor365_SW,Euribor365_2W,Euribor365_3W,Euribor365_1M,Euribor365_2M,Euribor365_3M,Euribor365_4M,Euribor365_5M,Euribor365_6M,Euribor365_7M,Euribor365_8M,Euribor365_9M,Euribor365_10M,Euribor365_11M,Euribor365_1Y,EURLiborSW,EURLibor2W,EURLibor2M,EURLibor4M,EURLibor5M,EURLibor7M,EURLibor8M,EURLibor9M,EURLibor10M,EURLibor11M; if needed, use the corresponding generic class and pass the tenor (for instance,Euribor(4 * Months)). - Renamed
EuriborSWtoEuribor1Wand deprecated the old name. - Deprecated the constructor of
RelinkableHandletaking a raw pointer.
Thanks go also to Dmitri Goloubentsev (@DmitriGoloubentsev), Eleanor Green (@eleanorTurintech), Tom Anderson (@tomwhoiscontrary), Peter Caspers (@pcaspers), Jonghee Lee (@nistick21), Ralf Konrad Eckel (@ralfkonrad) and the XAD team (@auto-differentiation-dev) for miscellaneous fixes, improvements or reports.
New Contributors
- @DmitriGoloubentsev made their first contribution in #1957
- @eleanorTurintech made their first contribution in #1965
- @amd-jadutoit made their first contribution in #1962
- @lukedays made their first contribution in #2018
Full Changelog: v1.34...v1.35
1.34
Downloads:
Changes for QuantLib 1.34:
QuantLib 1.34 includes 35 pull requests from several contributors.
Some of the most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt and at https://github.com/lballabio/QuantLib/milestone/32?closed=1.
Portability
- Future end of support: as announced in release 1.32, we're targeting next release (1.35) as the last to support Visual C++ 2015, g++ up to version 6.x, and clang up to version 4; support for those compilers will be dropped in release 1.36, about six months from now. From that point onwards, this will allows us to enable the use of C++17 in the code base. Also, given the testing environments available on GitHub actions, clang 5 is already no longer available to us for testing, and in a while the same will hold for clang 6 and g++ 7. Therefore, it is suggested to upgrade to a newer version if possible.
- Future end of support: at the same time as the above, we'll also remove the configure switch that allows to use
boost::tuple,boost::functionandboost::bindinstead of theirstdcounterparts; thestdclasses are already the default since release 1.32. - Generate and install pkg-config files in CMake builds; thanks to GitHub user @jez6.
Dates and calendars
- Prevent
Calendar::advancefrom returning the business end of month (instead of the calendar end) whenendOfMonthistrueandconventionisUnadjusted; thanks to GitHub user @DeimosXing. - Add good Friday holiday for SOFR fixing; thanks to GitHub user @PaulXiCao.
- Properly restrict São Paulo city holiday to years before 2022; thanks to Marco Bruno Ferreira Vasconcellos (@marcobfv).
- Update holidays for 2023 and 2024 in calendars for India, Thailand, Singapore and South Africa; thanks to Fredrik Gerdin Börjesson (@gbfredrik).
Cash flows
- Fixed a couple of cases in which notifications were not forwarded properly; thanks to GitHub user @djkrystul for the heads-up.
- Fixed past payment dates and added support for OIS in
LinearTsrPricer; thanks to Peter Caspers (@pcaspers).
Instruments
- Swaptions can now take an OIS as underlying; thanks to Guillaume Horel (@thrasibule) and Peter Caspers (@pcaspers). So far, only
BlackSwaptionEnginemanages OIS explicitly; other engines might work and return approximated values. - More methods in
MakeOISandMakeVanillaSwap; thanks to Eugene Toder (@eltoder). - More methods in the
BondFunctionsclass now support either clean or dirty prices; thanks to Francois Botha (@igitur). - The
basisPointValueandyieldValueBasisPointmethods inBondFunctionsdidn't always manage the settlement date correctly; this is now fixed (thanks to GitHub user @jez6). - Add
CustomtoFutures::Typeenumeration to allow passing custom dates to futures; thanks to Eugene Toder (@eltoder).
Term structures
- Inflation curves can now be built passing an explicit base date (corresponding to the last published fixing) instead of an observation lag (@lballabio).
- Fixed calculation of year fraction under Actual/365 Canadian convention in
FuturesRateHelper; thanks to GitHub user @PaulXiCao. - Fixed settlement date calculation in cross-currency basis-swap rate helpers in some cases; thanks to Marcin Rybacki (@marcin-rybacki) for the fix and to Aleksis Ali Raza for the heads-up.
Math
- Handle non-equidistant grids and arbitrary dimensions in Laplace interpolation; thanks to Peter Caspers (@pcaspers).
Deprecated features
- Removed features deprecated in version 1.29:
- The
argument_type,first_argument_type,second_argument_typeandresult_typetypedefs in several classes; - The overloads of zero-rate inflation index constructors taking an
interpolatedargument; - The
interpolatedmethod and the protectedinterpolated_data member inInflationIndex; - The overload of
CashFlows::npvbpstaking the result by reference; - The protected
rateCurve_method inInflationCouponPricer; - The
ThreadKeytypedef; - The empty header
ql/experimental/credit/riskybond.hpp.
- The
- Deprecated the constructors of
InflationTermStructure,ZeroInflationTermStructure,YoYInflationTermStructure,InterpolatedZeroInflationCurve,InterpolatedYoYInflationCurve,PiecewiseZeroInflationCurveandPiecewiseYoYInflationCurvetaking an observation lag; use the overloads taking an explicit base date instead. - Deprecated the
Bond::yield,BondFunctions::atmRate,BondFunctions::yieldandBondFunctions::zSpreadoverloads taking a clean price as a number; use the overloads taking aBond::Priceinstead. - Deprecated the
InflationTermStructure::setSeasonalityoverload taking no arguments; use the overload taking a pointer and pass an empty one to remove seasonality. - Deprecated the
InflationTermStructure::setBaseRatemethod; setbaseRate_directly if needed. - Deprecated the
Swaption::underlyingSwapandSwaptionHelper::underlyingSwapmethods; useunderlyinginstead. - Deprecated the broken
FixedRateBondHelper::fixedRateBondandCPIBondHelper::cpiBondmethods and the correspondingfixedRateBond_andcpiBond_data members.
Thanks go also to Isuru Fernando (@isuruf), Viktor Zhou (@yyuuhhjjnnmm), Stephen Dacek (@sdacek), Yi Jiang (@yjian012), Jonathan Sweemer (@sweemer), Eugene Toder (@eltoder), the XAD team (@auto-differentiation-dev) and GitHub user @PaulXiCao and @klin333 for miscellaneous fixes, improvements or reports.
New Contributors
- @isuruf made their first contribution in #1893
- @yyuuhhjjnnmm made their first contribution in #1895
- @jez6 made their first contribution in #1900
- @marcobfv made their first contribution in #1897
- @sdacek made their first contribution in #1906
- @DeimosXing made their first contribution in #1917
Full Changelog: v1.33...v1.34