There is a newer version of the record available.

Published October 19, 2021 | Version QuantLib-v1.24

QuantLib: a free/open-source library for quantitative finance

Authors/Creators

Description

Downloads Changes for QuantLib 1.24:

QuantLib 1.24 includes 25 pull requests from several contributors.

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/20?closed=1.

Portability
  • Overhauled the CMake build system (thanks to @pkovacs). Among other things, it now allows to specify the available configuration options from the cmake invocation and adds the required Boost libraries accordingly.
Instruments
  • Avoid callable-bond mispricing when a call date is close but not equal to a coupon date (thanks to @ralfkonrad for the fix and to @aichao for the analysis). See https://github.com/lballabio/QuantLib/issues/930 for details.
  • A new RiskyBondEngine is available for bonds (thanks to @w31ha0). It prices bonds based on a risk-free discount cure and a default-probability curve used to assess the probability of each coupon payment. It makes accessible to all bonds the calculations previously available in the experimental RiskyBond class.
Cashflows
  • The choice between par and indexed coupons was moved to IborCouponPricer (thanks to @pcaspers). This also made it possible to override the choice locally when building a VanillaSwap or a SwapRateHelper, so that coupons with both behaviors can now be used at the same time.
Term structures
  • Cross-currency basis swap rate helpers now support both constant-notional and marked-to-market swaps (thanks to @marcin-rybacki).
Date/time
  • Added Chilean calendar (thanks to @anubhav-pandey1).
  • Added new ThirdWednesdayInclusive date-generation rule that also adjusts start and end dates (thanks to @w31ha0).
Patterns
  • Overhauled Singleton implementation (thanks to @pcaspers). Singletons are now initialized in a thread-safe way when sessions are enabled, global singletons (that is, independent of sessions) were made available, and static initialization was made safer.
Test suite
  • Sped up some of the longer-running tests (thanks to @mshojatalab).
Deprecated features
  • Deprecated default constructor for the U.S. calendar; the desired market should now be passed explicitly.
  • Deprecated the nominalTermStructure method and the corresponding data member in inflation term structures. Any object needing the nominal term structure should have it passed explicitly.
  • Deprecated the termStructure_ data member in BlackCalibrationHelper. It you're inheriting from BlackCalibrationHelper and need it, declare it in your derived class.
  • Deprecated the createAtParCoupons, createIndexedCoupons and usingAtParCoupons methods of IborCoupon, now moved to a new IborCoupon::Settings singleton (thanks to @pkovacs).
  • Deprecated the conversionType and baseCurrency static data members of Money, now moved to a new Money::Settings singleton (thanks to @pkovacs).
  • Removed features deprecated in version 1.19: the BMAIndex constructor taking a calendar, the AmericanCondition and ShoutCondition constructors taking an option type and strike, the CurveDependentStepCondition class and the StandardCurveDependentStepCondition typedef, the BlackCalibrationHelper constructor taking a yield term structure, the various inflation term structure constructors taking a yield term structure, the various yield term constructors taking a vector of jumps but not specifying a reference date.

Thanks go also to @lballabio, @laaouini, @jackgillett101, @bnalgo and @klausspanderen for smaller fixes, enhancements and bug reports.

New Contributors

Notes

If you use this software, please cite it using these metadata.

Files

lballabio/QuantLib-QuantLib-v1.24.zip

Files (10.8 MB)

Name Size Download all
md5:d263aef55737000b4dab7cd5e6c21d33
10.8 MB Preview Download

Additional details