slider41
Messages postés1Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention 1 février 2008
-
1 févr. 2008 à 16:56
sergentgarcia666
Messages postés1Date d'inscriptionvendredi 9 juin 2006StatutMembreDernière intervention 2 avril 2008
-
2 avril 2008 à 22:41
Bonjour,
Voila je suis débutant en programmation et je cherche à programmer sous excel et donc en VBA une fonction pour pricer les options par la méthode de monte carlo. Or, pour cela j'ai besoin de tirer des nombres aléatoires suivant une loi normale, quelqu'un peut il me dire comment faire? J'ai penser a faire un truc du genre loi.nomale.standard (alea()) mais excel donne des nombres aléatoires compris entre 0 et 1 donc je ne pense pas que ce soit une méthode valable.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 2 févr. 2008 à 21:06
Si tu ne veux pas de nombre entre 0 et 1 mais plutôt entre 2 bornes, tu peux changer Alea() pour ALEA.ENTRE.BORNES(10;20), 10 et 20 étant les limites min et max
Sinon, tu peux modifier la fonction Alea comme ceci
=ENT(ALEA()*100)
qui retourne un entier résultant de la fonction Alea, mais aussi multiplié par 100 pour ne pas avoir de valeurs entre 0 et 1 mais plutôt entre 0 et 100
Et si tu veux le faire en VBA, regarde la fonction Rnd associée à Randomize
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 2 févr. 2008 à 22:01
Bonsoir,
La question de Slider, n'est pas comment obtenir un nb aléatoire entre deux bornes, mais comment obtenir un nb aléatoire suivant la loi normale... C'est très différent. Dans le premier cas, les nb ont une répartition équiprobable (tous les nb sortiront autant de fois à peu de chose près). Dans le second, les nb seront centrés sur une moyenne avec un écart type (à préciser)...
loi.nomale.standard (alea()) : n'est évidemment pas du tout la solution, puisque LOI.NORMALE.STANDARD est une fonction d'Excel, qui calcul l'aire sous la courbe de la loi normale... Rien à voir avec un nb aleatoire... D'ailleurs, Slider fait bien de douter de cette syntaxe, qui n'a aucun sens...
Je ne peux que conseiller mon modeste site, où j'ai programmé une fonction pour réaliser la génération d'un nb aléatoire suivant une loi plus complète (qui s'appelle L-Stable ou encore Lévy Stable ou Alpha Stable suivant le sens de Lévy) dont le cas particulier réalise un tirage suivant une loi normale...
http://fordom.free.fr/ cliquer sur ALEASTABLE
Amicalement,
Us.
Vous n’avez pas trouvé la réponse que vous recherchez ?
sergentgarcia666
Messages postés1Date d'inscriptionvendredi 9 juin 2006StatutMembreDernière intervention 2 avril 20081 2 avril 2008 à 22:41
Bonjour Slid41,
A priori, la solution est assez simple puisqu'il suffit :
1 - d'utiliser une fonction Random afin de simuler un tirage entre 0 et 1.
2 - d'uitliser une fonction intégrée correspondant à la loi normale inversée.