aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--option.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/option.cpp b/option.cpp
index e7a1fe6..7fb5ce3 100644
--- a/option.cpp
+++ b/option.cpp
@@ -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;
}