/// <summary> /// Initialize a new MonteCarloModel without using control variate techniques. /// </summary> /// <param name="pathGenerator">The <see cref="PathGenerator"/> generating single or multiple random walks.</param> /// <param name="pathPricer">The <see cref="PathPricer"/> calculating the option price on each sample.</param> /// <param name="sampleAccumulator">A sample accumulator to record statistics.</param> public MonteCarloModel(PathGenerator pathGenerator, PathPricer pathPricer, RiskStatistics sampleAccumulator) : this(pathGenerator, pathPricer, sampleAccumulator, null, 0.0) { }
/// <summary> /// Initializes a new instance of the <see cref="MonteCarloModel"/> class. /// </summary> /// <param name="pathGenerator">The path generator.</param> /// <param name="pathPricer">The path pricer list.</param> /// <param name="sampleAccumulatorList">The sample accumulators.</param> public MonteCarloModel(PathGenerator pathGenerator, MultiVarPathPricer pathPricer, List <RiskStatistics> sampleAccumulatorList) { _pathGenerator = pathGenerator; _multiVarPathPricer = pathPricer; _sampleAccumulatorList = sampleAccumulatorList; }
/// <overloads> /// Initialize a new MonteCarloModel. /// </overloads> /// <summary> /// Initialize a new MonteCarloModel without using control variate techniques /// and using the default <see cref="RiskStatistics"/> accumulator. /// </summary> /// <param name="pathGenerator">The <see cref="PathGenerator"/> generating single or multiple random walks.</param> /// <param name="pathPricer">The <see cref="PathPricer"/> calculating the option price on each sample.</param> public MonteCarloModel(PathGenerator pathGenerator, PathPricer pathPricer) : this(pathGenerator, pathPricer, new RiskStatistics()) { }