예제 #1
0
 /// <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)
 {
 }
예제 #2
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;
 }
예제 #3
0
 /// <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())
 {
 }