From 95ee7fca4b4a30cc8e381b09c963b94512630521 Mon Sep 17 00:00:00 2001 From: Bertrand Date: Mon, 11 Apr 2016 14:17:21 +0000 Subject: début nettoyage et description dans README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.txt | 13 +++++++++++++ src/option.cpp | 3 --- src/option.hpp | 2 -- src/rqmc.cpp | 30 ------------------------------ src/test.cpp | 26 -------------------------- src/test_rtnorm.cpp | 45 --------------------------------------------- 6 files changed, 13 insertions(+), 106 deletions(-) delete mode 100644 src/test.cpp delete mode 100644 src/test_rtnorm.cpp diff --git a/README.txt b/README.txt index db39268..ed9d710 100644 --- a/README.txt +++ b/README.txt @@ -1 +1,14 @@ Projet C++ Monte-Carlo + +low_discrepancy.hpp : implémentation des séquences à discrépance faible +mt19937.c/.h : générateur de nombres aléatoires +opti.cpp/.hpp : résolution du problème d'optimisation pour l'exemple d'asian_option, formule 3.2 article Etoré-Jourdain +option.cpp/.hpp : déclaration de la structure d'asian option et calcul du pay-off (dans.cpp exemple à virer) +p_adic.cpp : pour la séquence de Halton +projet.cpp : exemple 1 (stratified sampling sur normale), exemple 2 (stratified sampling sur asian option) +rqmc.hpp : déclaration des template pour faire du quasi monte carlo +stratified_sampling.cpp : fonction de générations de quantiles +stratified_sampling.hpp : déclaration des structures de gaussiennes tronquées, puis l'implémentation de l'algorithme +de stratified_sampling sous forme de classe, et f_mu la fonction de l'exponential tilt (f_mu à changer qui doit prendre unary function en argument) +var_alea : fichier pris sur la page du cours de déclaration de variables aléatoires + diff --git a/src/option.cpp b/src/option.cpp index b8c2799..918e735 100644 --- a/src/option.cpp +++ b/src/option.cpp @@ -5,9 +5,6 @@ double pos (double x){ return x>0?x:0; } -double frac_part(double x){ - return x - floor(x); -} int main(){ init_alea(1); diff --git a/src/option.hpp b/src/option.hpp index d104bd6..1a3733c 100644 --- a/src/option.hpp +++ b/src/option.hpp @@ -1,7 +1,5 @@ #include "rqmc.hpp" -double frac_part(double x); - double pos (double x); struct asian_option : public std::unary_function, double> diff --git a/src/rqmc.cpp b/src/rqmc.cpp index 7109d82..4c804e1 100644 --- a/src/rqmc.cpp +++ b/src/rqmc.cpp @@ -6,33 +6,3 @@ double frac_part(double x){ } -double mean_rqmc(int N, double X) { - sobol s(1); - double sum = 0; - for(int i=0; i -#include "var_alea.hpp" - -int main() { - init_alea(); - - uniform U(0,1); - std::cout << U() << std::endl; - - expo E(1); - std::cout << E() << std::endl; - - gaussian G(0,1); - std::cout << G() << std::endl; - - chi_deux X(1); - std::cout << X() << std::endl; - - inverse_gaussian Y(0.5,1); - std::cout << Y() << std::endl; - - normal_inverse_gaussian Z(0.8,0.1,0,2); - std::cout << Z() << std::endl; - - return 0; -}; diff --git a/src/test_rtnorm.cpp b/src/test_rtnorm.cpp deleted file mode 100644 index 48ce933..0000000 --- a/src/test_rtnorm.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// Example for using rtnorm -// -// Copyright (C) 2012 Guillaume Dollé, Vincent Mazet (LSIIT, CNRS/Université de Strasbourg) -// Licence: GNU General Public License Version 2 -// see http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt -// -// Depends: LibGSL -// OS: Unix based system - - -#include -#include - -#include "rtnorm.hpp" - - -int main() -{ - double a = 1; // Left bound - double b = 9; // Right bound - double mu = 2; // Mean - double sigma = 3; // Standard deviation - std::pair s; // Output argument of rtnorm - int K = 1e5; // Number of random variables to generate - - //--- GSL random init --- - gsl_rng_env_setup(); // Read variable environnement - const gsl_rng_type* type = gsl_rng_default; // Default algorithm 'twister' - gsl_rng *gen = gsl_rng_alloc (type); // Rand generator allocation - - //--- generate and display the random numbers --- - //std::cout<<"# x p(x)"<