From 69ef15f06495b92bd619963eb543cb098bab479c Mon Sep 17 00:00:00 2001 From: Bertrand Date: Tue, 1 Mar 2016 14:32:31 +0000 Subject: on n'utilise plus rtnorm --- src/projet.cpp | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/projet.cpp (limited to 'src/projet.cpp') diff --git a/src/projet.cpp b/src/projet.cpp new file mode 100644 index 0000000..fb6df08 --- /dev/null +++ b/src/projet.cpp @@ -0,0 +1,87 @@ +#include +#include +#include +#include +#include +#include "stratified_sampling.hpp" +#include +#include +#include "opti.hpp" + +using namespace std; +//--génération quantiles-- +vector quantile_norm(int n, double sigma){ + vector q(n); + for (int i=0; i q = quantile_norm(10, 1); +vector p(10, 0.1); +vector rvar; +rvar.push_back(gaussian_truncated(GSL_NEGINF, q[0],0,1,0)); +for (int i=1; i<10; i++){ + rvar.push_back(gaussian_truncated(q[i-1], q[i],0,1,i)); +}; +stratified_sampling S(p,rvar); +S.draw(100); +double x = 1.64*S.estimator().second; + cout<<"l'estimateur de la moyenne est :"< mu(d); + mu = argmax(0.05, 1.0, 50, 0.1, 45, d); + double norm_mu = 0; + std::vector u(d); + for(int i=0; i q = quantile_norm(100, 1); + vector p(100, 0.01); + asian_option A(0.05, 1.0, 50, 0.1, d, 45); + f_mu G(mu,A); + std::vector > X; + X.push_back(compose(G, multi_gaussian_truncated(GSL_NEGINF,q[0], u))); + for(int i=1; i<100; i++) { + X.push_back(compose(G, multi_gaussian_truncated(q[i-1],q[i], u))); + } + for(int i=0; i<100; i=i+10){ + std::cout< > S(p, X); + S.draw(1000); + cout<<"l'estimateur de la moyenne est :"< X = compose(G,MG); + //~ for(int i=0; i<10; i++){ + //~ std::cout<