Skip to content

1.9

Compare
Choose a tag to compare
@lballabio lballabio released this 01 Mar 12:47
· 5960 commits to master since this release

Changes for QuantLib 1.9:

QuantLib 1.9 includes 27 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/3?closed=1.

Portability

  • Dropped support for Visual C++ 8 (2005). As of April 2016, the compiler is no longer supported by Microsoft.
  • Allow the parallel test runner to work with Boost 1.62 (thanks to Klaus Spanderen for the fix and to Andrei Borodaenko for the heads-up).

Interest rates

  • Allow negative jumps in interest-rate curves. Previously, trying to pass one would result in an exception (thanks to Leanpub reader Jeff for the heads-up).
  • Added BBSW and Aonia indexes from Australia and BKBM and NZOCR indexes from New Zealand (thanks to Fabrice Lecuyer).

Volatility

  • Added normal implied-volatility calculation to caps/floors (thanks to Paolo Mazzocchi).

Instruments

  • Fix a scenario in which a CompositeInstrument instance would stop receiving notifications (thanks to Peter Caspers for the heads-up).
  • Added a few safety checks to the CVA swap engine (thanks to Andrea Maggiulli).
  • Auto-deactivate Boyle-Lau optimization for barrier options when not using a CRR tree (thanks to Riccardo Ghetta).

Date/time

  • Changed data type for Date serial numbers to int_fast_32t to improve performance of date calculations (thanks to Peter Caspers).
  • Added ECB maintenance period dates for 2017 (thanks to Paolo Mazzocchi).
  • Fixed rule for the Japanese Mountain Day holiday (thanks to Eisuke Tani).
  • Fixed United States holidays before 1971 (thanks to Nick Glass for the heads-up).
  • Added a missing Chinese holiday (thanks to Cheng Li).
  • Ensure correct formatting when outputting dates (thanks to Peter Caspers).

New opt-in features

These features are disabled by default and can be enabled by defining a macro or passing a flag to ./configure. Feedback is appreciated.

  • Enable thread-safe singleton initialization (thanks to GitHub user sdgit). The feature can be enabled by uncommenting the QL_ENABLE_SINGLETON_THREAD_SAFE_INIT macro in ql/userconfig.hpp on Visual C++ or by passing the --enable-thread-safe-singleton-init to ./configure on other systems.

Experimental folder

The ql/experimental folder contains code whose interface is not fully stable, but is released in order to get user feedback. Experimental classes make no guarantees of backward compatibility; their interfaces might change in future releases.

Changes and new contributions for this release were:

  • OIS with arithmetic average (thanks to Stefano Fondi). A corresponding bootstrap helpers is also available.
  • a function to calculate multi-curve sensitivities (thanks to Michael von den Driesch).