Skip to content

1.5

Compare
Choose a tag to compare
@lballabio lballabio released this 01 Mar 10:41
· 7120 commits to master since this release

Changes for QuantLib 1.5:

QuantLib 1.5 includes about 60 pull requests from several contributors, ranging from small bug fixes to relevant new additions to the library.

The most notable changes are included below. A detailed list of changes is available in ChangeLog.txt.

Portability

  • Unified project files for Visual Studio 10 and above. Different solutions are still provided for Visual Studio 10, 11 and 12.

Date/time

  • Added China Inter-Bank calendar (thanks to Cheng Li).
  • Added half-month modified following convention (thanks to Paolo Mazzocchi).
  • Added a few more historical closings for NYSE.
  • Updated the Hong Kong and China calendar for 2015.
  • Updated list of ECB dates up to the first two dates for 2016 (thanks to Paolo Mazzocchi).

Instruments

  • Improved Storage and Swing engine (thanks to Klaus Spanderen).
  • Fixed behavior of the Bjerksund Stensland engine for very small volatilities (thanks to Klaus Spanderen).
  • Add Heston expansion engine for European options (thanks to Fabien Le Floc'h).
  • Caps, floors and swaptions can use a displacement in implied-volatility calculation.
  • Added partial-time fixed and floating strike lookback options (thanks to Francois Botha).
  • Added binary barrier options (thanks to Riccardo Ghetta).
  • Added binomial engine for barrier options (thanks to Riccardo Ghetta).
  • Added Vecer engine for continuous-averaging Asian options (thanks to Bernd Lewerenz).

Cash flows

  • Added ex-coupon feature to fixed-rate bonds, CPI bonds and bond helpers (thanks to Francois Botha).
  • Fix calculation of sinking notionals when the coupon rate is very near 0 (thanks to Cheng Li).

Indexes

  • Added Shanghai Inter-bank Offering Rate index (thanks to Cheng Li).
  • Added Fed Fund index.
  • Added South-African CPI (thanks to Francois Botha).

Term structures

  • Improvement to CMS market calibration: enabled use of general coupon pricers, added calibration to a term structure of betas (thanks to Peter Caspers).
  • InterpolatedZeroCurve can be passed rates with any compounding convention and frequency (thanks to Alexandre Radicchi).
  • Bond helpers can now use quotes for either clean or dirty prices (thanks to Francois Botha).
  • Added CPI bond helper (thanks to Francois Botha).
  • Better handling in rate helpers of evaluation dates which are not business dates.
  • Spreaded curves allow extrapolation if their underlying curve does (thanks to Peter Caspers).
  • Fixed inflation-rate interpolation (thanks to Amine Ifri).

Math

  • Added generation of student-t distributed random numbers (thanks to Jose Aparicio).
  • Added Folin's integration methods (thanks to Klaus Spanderen).
  • Added mixed backward-flat/linear interpolation (thanks to Peter Caspers).
  • Improved performance of matrix multiplication (thanks to Peter Caspers).
  • Fixed wrong primitive calculation in mixed interpolation (thanks to Peter Caspers).
  • Fixed corner case for finite-difference Newton solver leading to infinite derivative (thanks to Peter Caspers).
  • Added Maddock's cumulative normal distribution (thanks to Klaus Spanderen).
  • Added bivariate cumulative student t distribution (thanks to Michal Kaut).

Lattices

  • Calculate option delta/gamma on binomial trees using Hull formulas (thanks to Riccardo Ghetta).

Miscellanea

  • A number of small performance improvements (thanks to Michael Sharpe).

Examples

  • Added example for Gaussian 1-D models (thanks to Peter Caspers).
  • Added examples for latent models and basket losses (thanks to Jose Aparicio).
  • Added example for multi-dimensional integral (thanks to Jose Aparicio).

Deprecated classes

  • Removed deprecated Domain and Surface classes.

Experimental folder

The ql/experimental folder contains code which is still not fully integrated with the library or even fully tested, but is released in order to get user feedback. Experimental classes are considered unstable; their interfaces might change in future releases.

Changes and new contributions for this release were:

  • Extended credit risk plus model (thanks to Peter Caspers).
  • No-arbitrage Sabr model with corresponding volatility-cube, smile section and interpolation classes (thanks to Peter Caspers).
  • A number of latent models for basket losses (thanks to Jose Aparicio).
  • Complex chooser option (thanks to Nathan Kruck, Ahmed Ayadi and Nolan Potier from the IMAFA program at Polytech'Nice Sophia).
  • Holder-extensible option (thanks to Nathan Kruck, Ahmed Ayadi and Nolan Potier from the IMAFA program at Polytech'Nice Sophia).
  • Partial-time barrier option (thanks to Nathan Kruck, Ahmed Ayadi and Nolan Potier from the IMAFA program at Polytech'Nice Sophia).
  • Two-asset correlation option (thanks to Ilyas Rahbaoui and Driss Aouad from the IMAFA program at Polytech'Nice Sophia).