## Section: Software

Keywords : pricing, hedging, calibration, pricer, options.

### Development of the software PREMIA for financial option computations

Participants : A. Alfonsi, V. Bally, S. Blunck, A. Cisse, M. Ciuca, B. Jourdain, A. Kohatsu Higa, J. Lelong, B. Lapeyre, M. Messaoud, A. Sulem, P. Tankov, E. Voltchkova, A. Zanette.

The development of Premia software is a joint activity of INRIA and CERMICS, undertaken within the MathFi project. Its main goal is to provide C/C++ routines and scientific documentation for the pricing of financial derivative products with a particular emphasis on the implementation of numerical analysis techniques rather than on the financial context. It is an attempt to keep track of the most recent advances in the field from a numerical point of view in a well-documented manner. The aim of the Premia project is threefold: first, to assist the R&D professional teams in their day-to-day duty, second, to help the academics who wish to perform tests of a new algorithm or pricing method without starting from scratch, and finally, to provide the graduate students in the field of numerical methods for finance with open-source examples of implementation of many of the algorithms found in the literature.

#### Consortium Premia.

Premia is developed in interaction with a consortium of financial institutions or departments presently composed of: IXIS CIB (Corporate & Investment Bank), CALYON, the Crédit Industriel et Commercial, EDF, Société générale and Summit Systems. The participants of the consortium finance the development of Premia (by contributing to the salaries of expert engineers hired by the MathFi project every year to develop the software) and help to determine the directions in which the project evolves. Every year, during a ``delivery meeting'', a new version of Premia is presented to the consortium by the members of the MathFi project working on the software. This presentation is followed by the discussion of the features to be incorporated in the next release. In addition, between delivery meetings, MathFi project members meet individual consortium participants to further clarify their needs and interests. After the release of each new version of Premia, the old versions become available on Premia web site http://www.premia.fr and can be downloaded freely for academic and evaluation purposes. At present, this is the case for releases 3 and 4.

#### Content of Premia.

The development of Premia started in 1999 and 8 are released up to now.

Releases 1, 2 and 4 contain finite difference algorithms, tree methods and Monte Carlo methods for pricing and hedging European and American options on stocks in the Black-Scholes model in one and two dimensions.

Release 3 is dedicated to Monte Carlo methods for American options in high dimension and is interfaced with the Scilab software [73] .

Releases 5 and 6 contain more sophisticated algorithms such as quantization methods for American options [4] , [65] and methods based on Malliavin calculus for both European and American options as well as pricing, hedging and calibration algorithms for some models with jumps, local volatility and stochastic volatility.

Premia7 implements routines for option pricing in interest rate models: (Vasicek, Hull-White, CIR, CIR++, Black-Karasinsky, Squared-Gaussian, Li, Ritchken, Sankarasubramanian HJM, Bhar Chiarella HJM, BGM). New calibration algorithms for various models (including stochastic volatility and jumps) were implemented and numerical methods based on Malliavin calculus for jump processes were further explored.

Premia8, the last release of the software developed in 2005 will be presented to the consortium members in February 2006. It is dedicated to the pricing of credit risk derivatives, pricing and calibration for interest rate derivatives and pricing and calibration algorithms in jump models (see detailed description below).

This year, J. Lelong has translated all the Premia documentation in the html format, translated some parts from C to C++ with A. Zanette, and settled a cvs protocol at ENPC to allow joint development. Credit risk algorithms have been developed by M. Ciuca and A. Cisse under the supervision of P. Tankov and A. Alfonsi. E. Voltchkova has implemented pricing methods for European and barrier options in discontinuous models. Two methods have been implemented and tested for all exponential Lévy models used in financial literature: Fast Fourier Transform method of Carr & Madan [72] and finite difference method developed in her PhD thesis. [76] , [107] . E. Voltchkova and P. Tankov proposed and implemented several algorithms for hedging options in models with jumps. The pricing part of the algorithms uses the finite difference method mentioned above. This work gave rise to the publications: [43] , [54] .

#### Detailed content of Premia Release 8 developped in 2005

- Pricing Interest Rate Derivatives
Affine models, CEV and Jump Diffusion Libor Market Model, Markov Functional Libor Market model.

- Pricing Credit Risk Derivatives
(Defaultable Bonds, Options on Defaultable Bonds, Credit Default Swaps, Credit linked notes, Credit spread options) The credit derivatives market has been growing rapidly and a credit derivative toolbox meets the need to value and analyze more credit derivative instruments. Reduced-form models can be used to price contingent claims subject to default risk, focusing on numerical methods for pricing and hedging most instruments in the credit derivatives asset class (Defaultable Bonds, Options on Defaultable Bonds, Credit Default Swaps, Credit linked notes, Credit spread options, CDS options, CDO). In particular we focus on numerical methods (tree methods, finite difference, Monte Carlo) for SSRD stochastic intensity model and on the valutation of large basket derivatives (Fourier transform, Quasi-Monte Carlo Integration)( [103] , [105] , [28] ).

- Pricing Equity in Black-Scholes and Heston models
- Pricing and Hedging Equity in Jump models.
Pricing and hedging European vanilla and Barrier options on stocks in exponential Lévy models with Fourier transform and finite differentce methods [72] , [75] , [76] , [93]

- Calibration in Jump models [104]