Table of Contents

Class MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

Namespace
NanoQL.PricingEngines
Assembly
NanoQL.dll

QuantLib's builder of MCDiscreteGeometricAPHestonEngine: named settings, QuantLib's defaults (no antithetic variate, the grid the fixing times alone), then ToEngine().

public sealed record MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> : IEquatable<MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>> where TRng : IRngTraits where TStats : IStatistics, new()

Type Parameters

TRng

The random-number traits.

TStats

The statistics accumulator.

Inheritance
MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
Implements
Inherited Members

Remarks

An immutable record: each setting returns a new builder. The seed is required, where QuantLib's defaults to 0, a clock-derived seed.

Constructors

MakeMCDiscreteGeometricAPHestonEngine(HestonProcess, long)

Initializes a new instance of the MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> class.

public MakeMCDiscreteGeometricAPHestonEngine(HestonProcess process, long seed)

Parameters

process HestonProcess

The Heston process.

seed long

The seed, in [1, 4294967295].

Exceptions

ArgumentNullException

process is null.

ArgumentOutOfRangeException

seed is outside its range.

Methods

Equals(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?)

public bool Equals(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? other)

Parameters

other MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToEngine()

The engine, QuantLib's conversion to a pricing engine: a delegate pricing an option.

public Func<DiscreteAveragingAsianOption, EvaluationContext, OneAssetOptionResults> ToEngine()

Returns

Func<DiscreteAveragingAsianOption, EvaluationContext, OneAssetOptionResults>

The engine.

ToString()

public override string ToString()

Returns

string

WithAbsoluteTolerance(double)

Sets the absolute tolerance.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithAbsoluteTolerance(double tolerance)

Parameters

tolerance double

The tolerance.

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

Exceptions

NanoQLException

A number of samples is already set, or the generator allows no error estimate.

WithAntitheticVariate(bool)

Sets whether antithetic variates are used.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithAntitheticVariate(bool b = true)

Parameters

b bool

Whether they are.

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

WithMaxSamples(int)

Sets the most samples for a tolerance.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithMaxSamples(int samples)

Parameters

samples int

The number of samples.

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

Exceptions

ArgumentOutOfRangeException

samples is negative.

WithSamples(int)

Sets the number of samples.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithSamples(int samples)

Parameters

samples int

The number of samples.

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

Exceptions

NanoQLException

A tolerance is already set.

ArgumentOutOfRangeException

samples is negative.

WithSeed(long)

Sets the seed.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithSeed(long seed)

Parameters

seed long

The seed, in [1, 4294967295].

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

Exceptions

ArgumentOutOfRangeException

seed is outside its range.

WithSteps(int)

Sets the number of time steps.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithSteps(int steps)

Parameters

steps int

The number of steps.

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

Exceptions

NanoQLException

A number of steps per year is already set.

ArgumentOutOfRangeException

steps is negative.

WithStepsPerYear(int)

Sets the number of time steps per year.

public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithStepsPerYear(int steps)

Parameters

steps int

The number of steps per year.

Returns

MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

The new builder.

Exceptions

NanoQLException

A number of steps is already set.

ArgumentOutOfRangeException

steps is negative.

Operators

operator ==(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?)

public static bool operator ==(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? left, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? right)

Parameters

left MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
right MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

Returns

bool

operator !=(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?)

public static bool operator !=(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? left, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? right)

Parameters

left MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
right MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>

Returns

bool