The Black-Scholes Equation

BLACK_SCHOLES is a C++ library which demonstrates several simple approaches to the valuation of a European call using the Black-Scholes equation, by Desmond Higham.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


BLACK_SCHOLES is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

COLORED_NOISE, a C++ library which generates samples of noise obeying a 1/f^alpha power law.

ORNSTEIN_UHLENBECK, a C++ library which approximates solutions of the Ornstein-Uhlenbeck stochastic differential equation (SDE) using the Euler method and the Euler-Maruyama method.

PCE_ODE_HERMITE, a C++ program which sets up a simple scalar ODE for exponential decay with an uncertain decay rate, using a polynomial chaos expansion in terms of Hermite polynomials.

PINK_NOISE, a C++ library which computes a "pink noise" signal obeying a 1/f power law.

SDE, a C++ library which illustrates the properties of stochastic differential equations (SDE's), and common algorithms for their analysis, by Desmond Higham;

STOCHASTIC_DIFFUSION, a C++ library which implements several versions of a stochastic diffusivity coefficient.

STOCHASTIC_RK, a C++ library which applies a Runge-Kutta scheme to a stochastic differential equation.


Original MATLAB version by Desmond Higham;
C++ version by John Burkardt.


  1. Desmond Higham,
    Black-Scholes for Scientific Computing Students,
    Computing in Science and Engineering,
    Volume 6, Number 6, November/December 2004, pages 72-79.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 18 February 2012.