aboutsummaryrefslogtreecommitdiffstats
path: root/src/projet.cpp
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@serenitascapital.com>2016-04-12 12:23:13 -0400
committerGuillaume Horel <guillaume.horel@serenitascapital.com>2016-04-12 12:23:13 -0400
commit4e5104a0186bd705b5ed1f57f73375ace60587f6 (patch)
tree7e0f0315631d243ea273080cbca0c4d681bb1d38 /src/projet.cpp
parentbcafe5e41698c44b6aa77b8ef150f4224613c38f (diff)
downloadprojet_C++-4e5104a0186bd705b5ed1f57f73375ace60587f6.tar.gz
Rename f_mu as exponential_tilt
and template it instead of having it depend on asian_option
Diffstat (limited to 'src/projet.cpp')
-rw-r--r--src/projet.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/projet.cpp b/src/projet.cpp
index b4fa5f9..c4bd6d8 100644
--- a/src/projet.cpp
+++ b/src/projet.cpp
@@ -6,6 +6,7 @@
#include <cmath>
#include <algorithm>
#include "opti.hpp"
+#include "option.hpp"
using namespace std;
@@ -49,8 +50,9 @@ void exemple1_stratified() {
vector<double> q = quantile_norm(100, 1);
vector<double> p(100, 0.01);
asian_option A(0.05, 1.0, 50, 0.1, d, 45);
- f_mu G(mu,A);
- std::vector<compose_t <f_mu, multi_gaussian_truncated> > X;
+ exponential_tilt<asian_option> G(mu, A);
+ typedef compose_t<exponential_tilt<asian_option>, multi_gaussian_truncated> tilted_option;
+ std::vector<tilted_option> 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)));
@@ -58,7 +60,7 @@ void exemple1_stratified() {
for(int i=0; i<100; i=i+10){
std::cout<<X[i]()<<endl;
}
- stratified_sampling<compose_t <f_mu, multi_gaussian_truncated> > S(p, X);
+ stratified_sampling<tilted_option> S(p, X);
S.draw(1000);
cout<<"l'estimateur de la moyenne est :"<<S.estimator().first<<endl;
}