/*@@@@@@@@@@@@@@@@@@@@@@@@ LocalMC.h @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 Random Option Pricing
 Summer 2002
 Authors: A. Korobchevsky
          S. Ferrando
 Ryerson University ALL RIGHTS RESERVED
 
 Purpose: Discrete Binomial implementation of Local Monte Carlo Algorithm
 Instance Variables: S - Initial asset value
                     M - Number of simulations
							shift - times the path is shifted
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/

#ifndef LOC_MC_H__
#define LOC_MC_H__

#include "Algorithm.h"

struct LocalMC : public Algorithm
{ double S; 
  int shift;
 
  LocalMC(double S = 100.0, int M = 10000, int M0 = 100, int gap = 10, int shift = 1) 
  { this->S = S; this->M = M; this->M0 = M0; this->gap = gap;
    this->shift = shift; 
  }

  void calcResults(Underlying*, Derivative*, vector<double>&, vector<double>&);
};

#endif
