Section: New Software and Platforms


Participants : Antonino Zanette, Mathrisk Research Team, Agnès Sulem [correspondant] .

Premia: general description

Premia is a software designed for option pricing, hedging and financial model calibration. It is provided with it's C/C++ source code and an extensive scientific documentation. https://www-rocq.inria.fr/mathfi/Premia

The Premia project keeps track of the most recent advances in the field of computational finance in a well-documented way. It focuses on the implementation of numerical analysis techniques for both probabilistic and deterministic numerical methods. An important feature of the platform Premia is the detailed documentation which provides extended references in option pricing.

Premia is thus a powerful tool to assist Research & Development professional teams in their day-to-day duty. It is also a useful support for academics who wish to perform tests on new algorithms or pricing methods without starting from scratch.

Besides being a single entry point for accessible overviews and basic implementations of various numerical methods, the aim of the Premia project is:

  1. to be a powerful testing platform for comparing different numerical methods between each other;

  2. to build a link between professional financial teams and academic researchers;

  3. to provide a useful teaching support for Master and PhD students in mathematical finance.

  • AMS: 91B28;65Cxx;65Fxx;65Lxx;65Pxx

  • License: Licence Propriétaire (genuine license for the Consortium Premia)

  • Type of human computer interaction: Console, interface in Nsp, Web interface

  • OS/Middelware: Linux, Mac OS X, Windows

  • APP: The development of Premia started in 1999 and 15 are released up to now and registered at the APP agency. Premia 15 has been registered on 18/03/2013 and has the number IDDN.FR.001.190010.012.S.C.2001.000.31000

  • Programming language: C/C++ librairie Gtk

  • Documentation: the PNL library is interfaced via doxygen

  • Size of the software: 280580 lines for the Src part only, that is 11 Mbyte of code, 130400 lines for PNL, 105 Mbyte of PDF files of documentation.

  • interfaces : Nsp for Windows/Linux/Mac, Excel, binding Python, and a Web interface.

  • Publications: [12] , [58] , [68] , [79] , [84] , [40] , [18] .

Content of Premia

Premia contains various numerical algorithms (Finite-differences, trees and Monte-Carlo) for pricing vanilla and exotic options on equities, interest rate, credit and energy derivatives.

  1. Equity derivatives

    The following models are considered:

    Black-Scholes model (up to dimension 10), stochastic volatility models (Hull-White, Heston, Fouque-Papanicolaou-Sircar), models with jumps (Merton, Kou, Tempered stable processes, Variance gamma, Normal inverse Gaussian), Bates model.

    For high dimensional American options, Premia provides the most recent Monte-Carlo algorithms: Longstaff-Schwartz, Barraquand-Martineau, Tsitsklis-Van Roy, Broadie-Glassermann, quantization methods and Malliavin calculus based methods.

    Dynamic Hedging for Black-Scholes and jump models is available.

    Calibration algorithms for some models with jumps, local volatility and stochastic volatility are implemented.

  2. Interest rate derivatives

    The following models are considered:

    HJM and Libor Market Models (LMM): affine models, Hull-White, CIR++, Black-Karasinsky, Squared-Gaussian, Li-Ritchken-Sankarasubramanian, Bhar-Chiarella, Jump diffusion LMM, Markov functional LMM, LMM with stochastic volatility.

    Premia provides a calibration toolbox for Libor Market model using a database of swaptions and caps implied volatilities.

  3. Credit derivatives: Credit default swaps (CDS), Collateralized debt obligations (CDO)

    Reduced form models and copula models are considered.

    Premia provides a toolbox for pricing CDOs using the most recent algorithms (Hull-White, Laurent-Gregory, El Karoui-Jiao, Yang-Zhang, Schönbucher)

  4. Hybrid products

    A PDE solver for pricing derivatives on hybrid products like options on inflation and interest or change rates is implemented.

  5. Energy derivatives: swing options

    Mean reverting and jump models are considered.

    Premia provides a toolbox for pricing swing options using finite differences, Monte-Carlo Malliavin-based approach and quantization algorithms.

Premia design

Premia has managed to grow up over a period of fifteen years; this has been possible only because contributing an algorithm to Premia is subject to strict rules, which have become too stringent. To facilitate contributions, a standardized numerical library (PNL) has been developed by J. Lelong under the LGPL since 2009, which offers a wide variety of high level numerical methods for dealing with linear algebra, numerical integration, optimization, random number generators, Fourier and Laplace transforms, and much more. Everyone who wishes to contribute is encouraged to base its code on PNL and providing such a unified numerical library has considerably eased the development of new algorithms which have become over the releases more and more sophisticated. An effort is made to continue and stabilize the development of PNL. J. Ph Chancelier, B. Lapeyre and J. Lelong are using Premia and Nsp for Constructing a Risk Management Benchmark for Testing Parallel Architecture [18] .

Development of the PNL in 2014 (J. Lelong) - Release 1.70. and 1.7.1 of the PNL library (http://pnl.gforge.inria.fr/ ).

  1. Sampling from new distributions: non central Chi squared, Poisson, Bernoulli.

  2. When using quasi Monte Carlo sequences, sampling from any distribution resorts to using the inverse of the cumulative distribution function technique.

  3. A CMake module is provided to automatically detect the library when used by third party codes.

  4. Add a sparse matrix object with advanced functionalities provided by Blas & Lapack. This new object is handled by the MPI binding.

  5. Complete refactoring of the Basis object to considerably speedup the evaluation functions. Multivariate polynomials are represented as tensor products of one variate polynomials. The matrix holding the tensor product now uses a sparse storage which avoids many operations leading to a zero value thus leading to an impressive reduction the computational time.

  6. All random number generators are thread–safe.

Algorithms implemented in Premia in 2014

Premia 16 has been delivered to the Consortium Premia in March 2014. In this release we have developed the Haar Wavelets-based approach for quantifying credit portfolio losses, Monte Carlo simulations of Credit Value Adjustment (CVA) using Malliavin techniques, asymptotic and exact pricing options on variance and importance sampling, and multilevel methods for jump models.

It contains the following new algorithms:

Commodities, Forex (FX), Insurance, Credit Risk
  • Pricing and hedging gap risk. P. Tankov.

    Journal of Computational Finance. Volume 13 Number 3, Spring 2010.

  • An Optimal Stochastic Control Framework for Determining the Cost of Hedging of Variable Annuities. P. A. Forsyth K.Vetzal

  • Haar Wavelets-Based Approach for Quantifying Credit Portfolio Losses.

    J. J. Masdemont, L. O. Gracia. Quantitative Finance, to appear

  • Cutting CVA’s complexity. P. Henry-Labordère. Risk Magazine 04 Jul 2012

  • Towards a coherent Monte Carlo simulation of CVA. L. Abbas Turki, A.Bouselmi, M.Mikou, hal-00873200

  • Stochastic local intensity loss models with interacting particle system.

    A. Alfonsi, C. Labart, J. Lelong Mathematical Finance, to appear

  • Repricing the Cross Smile: An Analytic Joint Density. P. Austing.

Equity Derivatives
  • On the Fourier cosine series expansion (COS) method for stochastic control problems. R.F.T. Aalber, C.W. Oosterlee and M.J. Ruijter.

  • A multifactor volatility Heston model. J.Da Fonseca M. Grasselli C. Tebaldi.

    Quant. Finance 8 (2008), no. 6, 591–-604.

  • General approximation schemes for option prices in stochastic volatility models. K.Larsson, Quantitative Finance Volume 12, Issue 6, 2012

  • A robust tree method for pricing American options with the Cox-Ingersoll-Ross interest rate model. E. Appolloni, L. Caramellino and A. Zanette

    IMA Journal of Management Mathematics 2014, to appear.

  • A hybrid tree-finite difference approach for the Heston and Bates model model. M. Briani, L. Caramellino and A. Zanette Preprint ArXiv 1307.7178

  • A Closed-Form Exact Solution for Pricing Variance Swaps with Stochastic Volatility. S. Zhu and G. Lian, Mathematical Finance, Volume 21, Issue 2, April 2011

  • Asymptotic and exact pricing options on variance. M.Keller-Ressel J.Muhle-Karbe.

    Finance & Stochastics, Volume 17 (2013), issue 1

  • Importance sampling and Statistical Romberg Method for jump models.

    M.B. Alaya, A. Kebaier and K. Hajji

  • Smart expansion and fast calibration for jump diffusions E. Benhamou, E. Gobet and M. Miri, Finance Stochastics Volume 13, Number 4, September, 2009

  • Scaling and multiscaling in financial series: a simple model.

    Andreoli, A., Caravenna, F, Dai Pra, P. Posta, G., Advances in Applied Probability. (2012), 44(4), 1018-1051.

  • Smooth convergence in the binomial model.

    L.B. Chang, K. Palmer.Finance Stochastics Volume 11, Number 1,2007.