Class MCLDBarrierEngine
- Namespace
- NanoQL.PricingEngines
- Assembly
- NanoQL.dll
MCBarrierEngine on low-discrepancy draws with QuantLib's default statistics: QuantLib-Python's
MCLDBarrierEngine, QuantLib's MCBarrierEngine<LowDiscrepancy>, its calculations closed at
LowDiscrepancy and GeneralStatistics.
public static class MCLDBarrierEngine
- Inheritance
-
MCLDBarrierEngine
- Inherited Members
Methods
Calculate(BarrierOption, EvaluationContext, GeneralizedBlackScholesProcess, int?, int?, bool, bool, int?, double?, int?, bool, long)
Prices a barrier option by Monte Carlo.
public static OneAssetOptionResults Calculate(BarrierOption option, EvaluationContext context, GeneralizedBlackScholesProcess process, int? timeSteps, int? timeStepsPerYear, bool brownianBridge, bool antitheticVariate, int? requiredSamples, double? requiredTolerance, int? maxSamples, bool isBiased, long seed)
Parameters
optionBarrierOptionThe option.
contextEvaluationContextThe evaluation context.
processGeneralizedBlackScholesProcessThe Black-Scholes process.
timeStepsint?The number of time steps, or null for steps per year.
timeStepsPerYearint?The number of time steps per year, or null for a number of steps.
brownianBridgeboolWhether the draws are ordered by a Brownian bridge.
antitheticVariateboolWhether antithetic variates are used.
requiredSamplesint?The number of samples, or null.
requiredTolerancedouble?The absolute tolerance, or null; it takes precedence.
maxSamplesint?The most samples for a tolerance, or null for no limit.
isBiasedboolWhether the barrier is checked at the path's points only.
seedlongThe seed, in [1, 4294967295].
Returns
- OneAssetOptionResults
The option's results, the NPV and the error estimate; the expired results when it has expired.
Exceptions
- ArgumentNullException
The option, the context or the process is null.
- ArgumentException
The time steps are given neither or both ways, or aren't positive.
- ArgumentOutOfRangeException
A number of samples is negative, or the seed is outside its range.
- NanoQLException
The exercise isn't European, the spot isn't positive or lies beyond the barrier ("barrier touched"), the payoff isn't plain vanilla, neither a tolerance nor a number of samples is given, or the samples can't reach the tolerance.