Skip to content

Tags: pcoelho00/QuantLib

Tags

QuantLib-v1.16

Toggle QuantLib-v1.16's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
lballabio Luigi Ballabio
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.

QuantLib-v1.15

Toggle QuantLib-v1.15's commit message
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`.

QuantLib-v1.14

Toggle QuantLib-v1.14's commit message
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-v1.13

Toggle QuantLib-v1.13's commit message
QuantLib release 1.13.

QuantLib-v1.12.1

Toggle QuantLib-v1.12.1's commit message
QuantLib release 1.12.1.

QuantLib-v1.12

Toggle QuantLib-v1.12's commit message

Unverified

This user has not yet uploaded their public signing key.
Update history and changelog.

QuantLib-v1.11

Toggle QuantLib-v1.11's commit message
QuantLib release 1.11.

QuantLib-v1.10.1

Toggle QuantLib-v1.10.1's commit message
QuantLib 1.10.1 release.

This is a bug-fix release for QuantLib 1.10.

QuantLib-v1.10

Toggle QuantLib-v1.10's commit message
QuantLib release 1.10.

QuantLib-v1.9.2

Toggle QuantLib-v1.9.2's commit message
Update changelog and news.