Table of Contents

Class EndEulerDiscretization

Namespace
NanoQL.Processes
Assembly
NanoQL.dll

Euler end-point discretization for stochastic processes: over a time interval Δt, the drift μ(t0 + Δt, x0) Δt, the diffusion σ(t0 + Δt, x0) √Δt and the covariance σ(t0 + Δt, x0) σ(t0 + Δt, x0)ᵀ Δt.

public sealed class EndEulerDiscretization : StochasticProcess1DDiscretization
Inheritance
EndEulerDiscretization
Inherited Members

Remarks

QuantLib's class implements both of its process families' discretization interfaces. A C# class has one base, so this one is a StochasticProcess1DDiscretization, declares the multi-dimensional members too, and converts implicitly to a StochasticProcessDiscretization that forwards to them: a multi-dimensional process is given new EndEulerDiscretization() as QuantLib's is.

Constructors

EndEulerDiscretization()

public EndEulerDiscretization()

Methods

Covariance(StochasticProcess, double, Vector, double)

The covariance over the interval, σ(t0 + Δt, x0) σ(t0 + Δt, x0)ᵀ Δt.

public Matrix Covariance(StochasticProcess process, double t0, Vector x0, double dt)

Parameters

process StochasticProcess

The process.

t0 double

The start of the interval.

x0 Vector

The state at its start.

dt double

The interval's length.

Returns

Matrix

A new matrix.

Diffusion(StochasticProcess, double, Vector, double)

The diffusion over the interval, σ(t0 + Δt, x0) √Δt.

public Matrix Diffusion(StochasticProcess process, double t0, Vector x0, double dt)

Parameters

process StochasticProcess

The process.

t0 double

The start of the interval.

x0 Vector

The state at its start.

dt double

The interval's length.

Returns

Matrix

A new matrix.

Diffusion(StochasticProcess1D, double, double, double)

The diffusion over the interval, σ(t0 + Δt, x0) √Δt.

public override double Diffusion(StochasticProcess1D process, double t0, double x0, double dt)

Parameters

process StochasticProcess1D

The process.

t0 double

The start of the interval.

x0 double

The state at its start.

dt double

The interval's length.

Returns

double

The diffusion.

Drift(StochasticProcess, double, Vector, double)

The drift over the interval, μ(t0 + Δt, x0) Δt.

public Vector Drift(StochasticProcess process, double t0, Vector x0, double dt)

Parameters

process StochasticProcess

The process.

t0 double

The start of the interval.

x0 Vector

The state at its start.

dt double

The interval's length.

Returns

Vector

A new vector.

Drift(StochasticProcess1D, double, double, double)

The drift over the interval, μ(t0 + Δt, x0) Δt.

public override double Drift(StochasticProcess1D process, double t0, double x0, double dt)

Parameters

process StochasticProcess1D

The process.

t0 double

The start of the interval.

x0 double

The state at its start.

dt double

The interval's length.

Returns

double

The drift.

Variance(StochasticProcess1D, double, double, double)

The variance over the interval, σ(t0 + Δt, x0)² Δt.

public override double Variance(StochasticProcess1D process, double t0, double x0, double dt)

Parameters

process StochasticProcess1D

The process.

t0 double

The start of the interval.

x0 double

The state at its start.

dt double

The interval's length.

Returns

double

The variance.

Operators

implicit operator StochasticProcessDiscretization(EndEulerDiscretization)

The multi-dimensional discretization over this one's members.

public static implicit operator StochasticProcessDiscretization(EndEulerDiscretization d)

Parameters

d EndEulerDiscretization

The end-point Euler discretization.

Returns

StochasticProcessDiscretization