Table of Contents

Struct MoroInverseCumulativeNormal

Namespace
NanoQL.Numerics
Assembly
NanoQL.dll

Moro's inverse cumulative normal distribution: given x between zero and one, the y whose cumulative normal probability, for average μ and standard deviation σ, is x. It uses the Beasley–Springer approximation in the central region, with an improved Moro approximation for the tails (Boris Moro, "The Full Monte", 1995, Risk Magazine).

public readonly struct MoroInverseCumulativeNormal : IInverseCumulative
Implements
Inherited Members

Remarks

It also turns a uniform distribution into a normal one, keeping a low-discrepancy sequence's low discrepancy. Peter J. Acklam's approximation, InverseCumulativeNormal, is better.

A configuration struct: its zero value (default, new MoroInverseCumulativeNormal(), an unassigned field or array element) is QuantLib's default construction, the standard normal (μ = 0, σ = 1).

Constructors

MoroInverseCumulativeNormal(double, double)

Initializes a new instance of the MoroInverseCumulativeNormal struct.

public MoroInverseCumulativeNormal(double average = 0, double sigma = 1)

Parameters

average double

The average μ.

sigma double

The standard deviation σ, positive.

Exceptions

ArgumentException

sigma isn't positive.

Methods

Evaluate(double)

The inverse at x.

public double Evaluate(double x)

Parameters

x double

The probability, in (0, 1).

Returns

double

The inverse.

Exceptions

ArgumentException

x isn't in (0, 1).