black_scholes, a C++ code 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++ code which generates samples of noise obeying a 1/f^alpha power law.

ORNSTEIN_UHLENBECK, a C++ code 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++ code 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++ code which computes a "pink noise" signal obeying a 1/f power law.

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

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

STOCHASTIC_RK, a C++ code 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:

Last revised on 08 February 2020.