1.9
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 toint_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 inql/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).