From d637151c4acae4a06ffef927bf7ececd77d67a44 Mon Sep 17 00:00:00 2001 From: Bertrand Date: Sun, 21 Feb 2016 16:39:57 +0000 Subject: réorganisation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/option.hpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/option.hpp (limited to 'src/option.hpp') diff --git a/src/option.hpp b/src/option.hpp new file mode 100644 index 0000000..d104bd6 --- /dev/null +++ b/src/option.hpp @@ -0,0 +1,53 @@ +#include "rqmc.hpp" + +double frac_part(double x); + +double pos (double x); + +struct asian_option : public std::unary_function, double> +{ + asian_option(double r, double T, double S0, double V, int d, double K) + : r(r), T(T), S0(S0), V(V), d(d), K(K) {}; + + double operator()(std::vector X) const { + std::vector S(d); + S[0]= S0*exp((r-V*V/2)*(T/d)+V*sqrt(T/d)*X[0]); + for(int i=1;i +struct quasi_option : public generator +{ + quasi_option(int n, int d, Fct payoff) : n(n), d(d), payoff(payoff), G(d) {}; + + typename Fct::result_type operator()() { + double sum =0; + for(int i=0; i G; + }; + -- cgit v1.2.3-70-g09d2