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
TRngThe random-number traits.
TStatsThe statistics accumulator.
- Inheritance
-
MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
- Implements
-
IEquatable<MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>>
- 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
processHestonProcessThe Heston process.
seedlongThe seed, in [1, 4294967295].
Exceptions
- ArgumentNullException
processis null.- ArgumentOutOfRangeException
seedis outside its range.
Methods
Equals(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?)
public bool Equals(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? other)
Parameters
otherMakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
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
WithAbsoluteTolerance(double)
Sets the absolute tolerance.
public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithAbsoluteTolerance(double tolerance)
Parameters
tolerancedoubleThe 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
bboolWhether 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
samplesintThe number of samples.
Returns
- MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
The new builder.
Exceptions
- ArgumentOutOfRangeException
samplesis negative.
WithSamples(int)
Sets the number of samples.
public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithSamples(int samples)
Parameters
samplesintThe number of samples.
Returns
- MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
The new builder.
Exceptions
- NanoQLException
A tolerance is already set.
- ArgumentOutOfRangeException
samplesis negative.
WithSeed(long)
Sets the seed.
public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithSeed(long seed)
Parameters
seedlongThe seed, in [1, 4294967295].
Returns
- MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
The new builder.
Exceptions
- ArgumentOutOfRangeException
seedis outside its range.
WithSteps(int)
Sets the number of time steps.
public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithSteps(int steps)
Parameters
stepsintThe number of steps.
Returns
- MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
The new builder.
Exceptions
- NanoQLException
A number of steps per year is already set.
- ArgumentOutOfRangeException
stepsis negative.
WithStepsPerYear(int)
Sets the number of time steps per year.
public MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats> WithStepsPerYear(int steps)
Parameters
stepsintThe number of steps per year.
Returns
- MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
The new builder.
Exceptions
- NanoQLException
A number of steps is already set.
- ArgumentOutOfRangeException
stepsis negative.
Operators
operator ==(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?)
public static bool operator ==(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? left, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? right)
Parameters
leftMakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>rightMakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>
Returns
operator !=(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>?)
public static bool operator !=(MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? left, MakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>? right)
Parameters
leftMakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>rightMakeMCDiscreteGeometricAPHestonEngine<TRng, TStats>