All the Gauss code provided in this web page may be used under the MIT License:
Copyright (c) 2016 Thierry Roncalli
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
PF is a Gauss library written with Guillaume Weisang for computing particle filters using the numerical algorithms described in
S. Arulampalam, S. Maskell, N.J. Gordon and T. Clapp , A tutorial on particle filters for online nonlinear/non-Gaussian
Bayesian tracking, IEEE Transaction on Signal Processing, 50:2, pp. 174-188.
2008 (the first version of this library was written in 1998 when I worked in FERC. I have added some new procedures based on SABR and Durrleman models.)
This library contains procedures:
for the following models: Black and Scholes , Merton , Cox, Ross and Rubinstein ,
Barone-Adesi and Whaley , Bates , Rubinstein et Reiner , Heston , Dupire ,
Chang, Chang and Lim [1998), Hagan et al.  (SABR model).
for the following payoff functions: European, American, Barrier (DIC, DIP, DOC, DOP, KIC, KIP, KOC, KOP, UIC, UIP, UOC, UOP), Binary,
Asian (Fixed and Floating stike), Lookback, Spread, Corridor, Partial Barrier, Window Barrier, Bermudean.
for computing greeks and implied volatility.
for estimating local volatility.
for estimating density (Breeden and Litzengerber , Durrleman ).
for solving backward PDE, forward PDE and variational inequalities.
for simulating SDE (GBM, OU, CIR, jump-diffusion processes, mGBM, SDE, mSDE and local volatility processes).
for performing Monte-Carlo (LCG, Park-Miller, L'Ecuyer) and Quasi-Monte-Carlo (Sobol, Faure) methods using reduction variance techniques (antithetic variables).
for computing option prices using numerical integrations (Gauss-Legendre, Gauss-Laguerre, Gauss-Hermite and Gauss-Jacobi quadrature methods, Simpson approximation).
for estimating multi-assets option prices and Asset/Time-sorted options using Monte-Carlo simulations
(BestOf, WorstOf, Bermudean, Rainbow, Average, Himalaya, etc.)
SKEW is a Gauss library for computing pdf, cdf and inverse of the cdf and simulating random numbers for the
SN, ST, MSN and MST distribution functions described in Azzalini, A. and Capitanio A., Distributions generated by
perturbation of symmetry with emphasis on a multivariate skew t distribution, JRSS B, 65, pp. 367-389.
MVT is a Gauss library for computing multivariate t cdf. It is based on the Fortran packages mvt.f and mvtdstpack.f written by Alan Genz.
The Fortran source code and the corresponding articles are available from his web page
PDE2D is a Gauss library for solving Parabolic and Elliptic Partial Differential Equations (PDE) in a 2 space dimensions.
It includes Hopscotch and theta-schemes algorithms with finite difference methods.
The working paper "Hopscotch methods for two-state financial models" describes the Hopscotch methods (problem definition,
algorithm, mixed boundary, computational considerations, band and sparse algorithms). It shows also how to apply them
to two-state financial models (2D Feynman-Kac problems, European stochastic volatility pricing, variational
inequalities problems, American stochastic volatility pricing, Term structure modelling with two states, financial
elliptic problems, Perpetual options, McDonald-Siegel-Dixit-Pyndick (irreversible investment) model, equity-based credit
This is an implementation of the envelopment problems of Seiford, L.M. and R.M. Thrall , Recent Developments in DEA,
The mathematical Programming Approach to Frontier Analysis, Journal of Econometrics, 46, pp. 7-38
The procedure Linear_Programming solves the linear programming problem whereas the proceduress Input_Oriented and
Output_Oriented solve the input-oriented and output-oriented envelopment problems.
This is an implementation of the fitting procedures of Friedman, J.H. , Multivariate Adaptive Regression Splines,
Annals of Statistics, 19, pp. 1-141
Contains procedures for polynomial spline regression, one and two-dimensional projection index optimization and
projection pursuit regression. The precedure for multivaraite adaptative regression spline is not yet available because it was based
on a dll of the fortran code developped by Jerome Friedman which is now not available in the public domain.
Procedures for computing functions of matrices (matrix cosine, matrix exponential, general matrix function and matrix sine)
and tridiagonal matrices (dense matrix to tridiagonal matrix form, inverse of a tridiagonal matrix, tridiagonal matrix form to dense matrix
and solve Xy=d with tridiagonal X matrix)
AGF Asset Management (1 et 2 juillet 2003, Paris), CDC IXIS (15, 16 et 17 avril 2002, Paris), INSEE (18, 19, 20 mars 2002 et 8 novembre 2002, Paris),
Banque Worms (19 et 20 juillet 2001, Paris), INRA (27 et 28 septembre 1999, Rennes)