diff options
| -rw-r--r-- | option.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -45,11 +45,13 @@ struct quasi_option : public generator<double> double operator()() { std::vector<double> X(d); double sum =0; + for(int i=0; i<d; i++){ + seed[i]=U(); + } for (int i=0; i<n; i++){ X=s(); //std::cout<<X[i]<<std::endl; for(int i=0; i<d; i++){ - seed[i]=U(); X[i] = gsl_cdf_gaussian_Pinv(frac_part(seed[i]+X[i]), 1); } sum += payoff(X); @@ -75,8 +77,11 @@ int main(){ int d =16; typedef asian_option payoff_type; + + std::vector<double> result(3); + result = monte_carlo(100, quasi_option<payoff_type> (N, d, A)); for(int i =0; i<3; i++){ - std::cout<<monte_carlo(100, quasi_option<payoff_type> (N, d, A))[i]<<std::endl; + std::cout<<result[i]<<std::endl; } |
