Tags: pcoelho00/QuantLib
Tags
Changes for QuantLib 1.16: ========================== QuantLib 1.16 includes 34 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/12?closed=1>. Portability ----------- - Added support for Visual Studio 2019 (thanks to Paul Giltinan). Configuration ------------- - As announced in past release, the compile-time switch to force non-negative rates was removed. Pricing engines --------------- - Added constant elasticity of variance (CEV) pricing engines for vanilla options. Analytic, FD and SABR engines are available (thanks to Klaus Spanderen). - Added quanto pricing functionality to a couple of FD engines for DividendVanillaOption (thanks to Klaus Spanderen). Cash flows ---------- - Digital coupons can now optionally return the value of the naked option (thanks to Peter Caspers). Date/time --------- - Updated Taiwan holidays for 2019 (thanks to Hank Liu). - Added two newly announced holidays to Chinese calendar (thanks to Cheng Li). - Updated Japan calendar (thanks to Eisuke Tani). - Fixed New Year's day adjustment for Canadian calendar (thanks to Roy Zywina). - Added a couple of exceptions for UK bank holidays (thanks to GitHub user Vililikku for the heads-up). - Added French calendar (thanks to GitHub user NJeanray). - Added public methods to expose a calendar's added and removed holidays (thanks to Francois Botha). - Allow the stub date of a schedule to equal the maturity. Deprecated features ------------------- - Deprecated a constructor of the SwaptionVolatilityMatrix class that didn't take a calendar. - Removed typedefs GammaDistribution, ChiSquareDistribution, NonCentralChiSquareDistribution and InverseNonCentralChiSquareDistribution, deprecated in version 1.12. Use CumulativeGammaDistribution, CumulativeChiSquareDistribution, NonCentralCumulativeChiSquareDistribution and InverseNonCentralCumulativeChiSquareDistribution instead. - Removed Actual365NoLeap class, deprecated in version 1.11. It was folded into Actual365Fixed. Term structures --------------- - Take payment days into account when calculating the nodes of a bootstrapped curve based on overnight swaps.
Changes for QuantLib 1.15: ========================== QuantLib 1.15 includes 32 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/11?closed=1>. Portability ----------- - This release drops support for Boost version 1.43 to 1.47; the minimum required version is now Boost 1.48, released in 2011. - Added a `.clang-format` file to the repository. The format is not going to be enforced, but the style file is provided as a convenience in case you want to format new code according to the conventions of the library. - `boost::function`, `boost::bind` and a few related classes and functions were imported into the new namespace `QuantLib::ext`. This allows them to be conditionally replaced with their `std::` versions (see the "opt-in features" section below). The default is still to use the Boost implementation. Client code using the `boost` namespace explicitly doesn't need to be updated. Models ------ - Added an experimental volatility basis model for caplet and swaptions (thanks to Sebastian Schlenkrich). Pricing engines --------------- - It is now possible to specify polynomial order and type when creating a `MCAmericanBasketEngine` instance (thanks to Klaus Spanderen). Term structures --------------- - Inflation curves used to store the nominal curve used during their construction. This is still supported for backward compatibility, but is deprecated. You should instead pass the nominal curve explicitly to objects that need one (e.g., inflation helpers, engines, or cashflow pricers). - Added experimental helpers to bootstrap an interest-rate curve on SOFR futures (thanks to Roy Zywina). Indexes ------- - It is now possible to choose the fixing calendar for the BMA index (thanks to Jan Ladislav Dussek). Cash flows ---------- - Fixed broken observability in CMS-spread coupon pricer (thanks to Peter Caspers). Date/time --------- - Fix implementation of Actual/Actual (ISMA) day counter in case a schedule is provided (thanks to Philip Stephens). - Fix implementation of `Calendar::businessDaysBetween` method when the initial and final date are the same (thanks to Weston Steimel). - Added day of mourning for G.H.W. Bush to the list of United States holidays (thanks to Joshua Engelman). - Updated list of Chinese holidays for 2019 (thanks to Cheng Li). - Added basic unit tests for the `TimeGrid` class (thanks to Kai Striega). Math ---- - Prevent solver failure in Richardson extrapolation (thanks to Klaus Spanderen). Examples -------- - Added multi-curve bootstrapping example (thanks to Jose Garcia). This examples supersedes the old swap-valuation example, that was therefore removed. Deprecated features ------------------- - Up to this release, it has been possible to force interest rates to be non-negative by commenting the `QL_NEGATIVE_RATES` macro in `ql/userconfig.hpp` on Visual C++ or by passing the `--disable-negative-rates` switch to `./configure` on other systems. This possibility will no longer be supported in future releases. New opt-in features ------------------- - It is now possible to use `std::function`, `std::bind` and their related classes instead of `boost::function` and `boost::bind`. The feature can be enabled by uncommenting the `QL_USE_STD_FUNCTION` macro in `ql/userconfig.hpp` on Visual C++ or by passing the `--enable-std-function` switch to `./configure` on other systems. This requires using at least the C++11 standard during compilation. - A new `./configure` switch, `--enable-std-classes`, was added as a shortcut for `--enable-std-pointers` `--enable-std-unique-ptr` `--enable-std-function`.
Changes for QuantLib 1.14: ========================== QuantLib 1.14 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/10?closed=1>. Portability ----------- - In April 2018, Microsoft ended its support for Microsoft Visual C++ 2008. As previously announced, this release drops support for it. - Fixed generation of RPM from QuantLib.spec (thanks to Simon Rees). - Avoided uses of some features removed in C++17 so that the library can be compiled under the latest standard if needed. - `boost::shared_ptr` and a few related classes and functions were imported into the new namespace `QuantLib::ext`. This allows them to be conditionally replaced with their `std::` versions (see the "opt-in features" section below). The default is still to use the boost implementation. Client code using the boost namespace explicitly doesn't need to be updated. - Fixed build and tests on FreeBSD-11 (thanks to Klaus Spanderen and to Mikhail Teterin for the heads-up). - Fixed tests with the `-ffast-math` compilation flag enabled (thanks to Klaus Spanderen and to Jon Davies for the heads-up). Instruments and pricing engines ------------------------------- - Add different settlement methods for swaptions (thanks to Peter Caspers). - Take into account distinct day-count conventions for different curves in the analytic barrier-option engine (thanks to GitHub user cosplay-raven). - Extract the correct constant coefficients to use in finite-difference vanilla-option engine when using a time-dependent Black-Scholes process (thanks to GitHub user Grant6899 for the analysis). Cash flows and interest rates ----------------------------- - Added Bibor and THBFIX indices (thanks to Matthias Lungwitz). Models ------ - Added a hook for using a custom smile model in the Markov functional model (thanks to Peter Caspers). - Added a base class `CalibrationHelperBase` to the hierarchy of calibration helpers in order to allow for helpers not using the Black model. - Return underlying dynamics from Black-Karasinski model (thanks to Fanis Antoniou). Finite differences ------------------ - Added higher-order spatial operators (thanks to Klaus Spanderen). - Added TR-BDF2 finite-difference scheme (thanks to Klaus Spanderen). Term structures --------------- - Allow swap helpers to specify end-of-month convention (thanks to Matthias Lungwitz). Date/time --------- - Prevented division by zero in Actual/365 Canadian day counter (thanks to Ioannis Rigopoulos for the heads-up). - Added Children's Day to the list of Romanian holidays (thanks to Matthias Lungwitz). - Added new calendar for Thailand (thanks to Matthias Lungwitz). - Added 30/360 German day counter (thanks to Peter Caspers and Alexey Indiryakov). Math ---- - Fixed bug in convex-monotone interpolation (thanks to Peter Caspers for the fix and to Tom Anderson for finding the bug). New opt-in features ------------------- - It is now possible to use `std::shared_ptr` and its related classes instead of `boost::shared_ptr`. Note that, unlike its boost counterpart, `std::shared_ptr` doesn't check for null pointers before access; this can lead to crashes. The feature can be enabled by uncommenting the `QL_USE_STD_SHARED_PTR` macro in `ql/userconfig.hpp` on Visual C++ or by passing the `--enable-std-pointers` to `./configure` on other systems. This requires using at least the C++11 standard during compilation. - It is now possible to use `std::unique_ptr` instead of `std::auto_ptr`; this makes it possible to compile the library in strict C++17 mode and to avoid deprecation warnings in C++11 and C++14 mode. The feature can be enabled by uncommenting the `QL_USE_STD_UNIQUE_PTR` macro in `ql/userconfig.hpp` on Visual C++ or by passing the `--enable-std-unique-ptr` to `./configure` on other systems. Thanks go also to Sam Danbury, Barry Devlin, Roland Kapl, and GitHub user todatamining for smaller fixes, enhancements, and bug reports.
QuantLib 1.10.1 release. This is a bug-fix release for QuantLib 1.10.
PreviousNext