QuantLib v1.20 Release NotesRelease Date: 2020-10-26 // 12 months ago
🔄 Changes for QuantLib 1.20:
QuantLib 1.20 includes 24 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/16?closed=1.
- 👌 Support for Visual C++ 2012 is being deprecated. It will be dropped after the next release in order to enable use of C++11 features.
- 👉 It is now possible to opt into using
boost::tuplewhen the compiler allows it. The default is still to use the Boost implementation. The feature can be enabled by uncommenting the
ql/userconfig.hppon Visual C++ or by passing the
./configureon other systems. The
--enable-std-tupleswitch is also implied by
--enable-std-classes. (Thanks to Joseph Wang.)
- ➕ Added mixing-factor parameter to Heston finite-differences barrier, rebate and double-barrier engines (thanks to Jack Gillett).
- ➕ Added a few additional results to Black swaption engine and to analytic European option engine (thanks to Peter Caspers and Marcin Rybacki).
- 👌 Improved calculation of spot date for vanilla swap around holidays (thanks to Paul Giltinan).
- ➕ Added ex-coupon feature to amortizing bonds, callable bonds and convertible bonds.
- ➕ Added optional first-coupon day counter to fixed-rate bonds (thanks to Jacob Lee-Howes).
- ➕ Added convenience classes
LogMixedLinearCubichiding a few default parameters (thanks to Andrea Maffezzoli).
- ➕ Added control variate based on asymptotic expansion for the Heston model (thanks to Klaus Spanderen).
- ➕ Added missing Hong Kong holiday (thanks to GitHub user
- ➕ Added a couple of one-off closing days to the Romanian calendar.
- ➕ Added a one-off holiday to South Korean calendar (thanks to GitHub user
- ➕ Added a missing holiday to Turkish calendar (thanks to Berat Postalcioglu).
- ➕ Added basic documentation to optimization methods (thanks to GitHub user
🗄 Deprecated features
- 🔋 Features deprecate in version 1.16 were removed: a constructor of the
FdmOrnsteinUhlenbeckOpclass and a constructor of the
Previous changes from v1.19
🔄 Changes for QuantLib 1.19:
QuantLib 1.19 includes 40 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/15?closed=1.
- 👌 Support for Visual C++ 2012 is being deprecated. It will be dropped around the end of 2020 or the beginning of 2021 in order to enable use of C++11 features.
- Avoided use in Makefiles of functions only available to GNU Make (thanks to GitHub user
UnitedMarsupialsfor the heads-up).
- 🏗 Automated builds on Travis and GitHub Actions were extended. We now have a build for Mac OS X, as well as a few builds that run a number of checks on the code (including clang-tidy) and automatically open pull requests with fixes.
- ➕ Added options for iterative bootstrap to widen the search domain or to keep the best result upon failure (thanks to Francis Duffy).
- ➕ Added flat-extrapolation option to fitted bond curves (thanks to Peter Caspers).
- ➕ Added finite-difference pricing engine for equity options under the Cox-Ingersoll-Ross process (thanks to Lew Wei Hao).
- ➕ Added Heston engine based on exponentially-fitted Laguerre quadrature rule (thanks to Klaus Spanderen).
- ➕ Added Monte Carlo pricing engines for lookback options (thanks to Lew Wei Hao).
- ➕ Added Monte Carlo pricing engine for double-barrier options (thanks to Lew Wei Hao).
- ➕ Added analytic pricing engine for equity options under the Vasicek model (thanks to Lew Wei Hao).
Bond::yieldmethod can now specify a guess and whether the passed price is clean or dirty (thanks to Francois Botha).
- 👌 Improved grid scaling for FDM Heston SLV calibration, and fixed drift and diffusion for Heston SLV process (thanks to Klaus Spanderen and Peter Caspers).
- ➕ Added mixing factor to Heston SLV process (thanks to Lew Wei Hao).
- 👌 Improved nodes/weights for the exponentially fitted Laguerre quadrature rule and added sine and cosine quadratures (thanks to Klaus Spanderen).
- 👌 Improved performance of the Calendar class (thanks to Leonardo Arcari).
- ⚡️ Updated holidays for Indian and Russian calendars (thanks to Alexey Indiryakov).
- ➕ Added missing All Souls Day holiday to Mexican calendar (thanks to GitHub user
phil-zxxfor the heads-up).
- ⏪ Restored New Year's Eve holiday to Eurex calendar (thanks to Joshua Engelman).
🗄 Deprecated features
- 🔋 Features deprecate in version 1.15 were removed: constructors of inflation swap helpers, inflation-based pricing engines and inflation coupon pricers that didn't take a nominal term structure.
- 🗄 The constructor of
BMAIndextaking a calendar was deprecated.
- 🗄 The constructors of several interest-rate term structures taking jumps without a reference date were deprecated.
- 🗄 The
CurveDependentStepConditionclass and related typedefs were deprecated.
- 🗄 The constructor of
BlackCalibrationHelpertaking an interest-rate structure was deprecated.
- 🗄 The constructors of several inflation curves taking a nominal curve were deprecated. The nominal curve should now be passed to the used coupon pricers.