M2 MSA
2013/2014
Du mouvement brownien à la modélisation financière
TP no1
Travaux Pratiques : Marches aléatoires
Le but de ce TP sur ordinateur est d’étudier et de comparer quelques marches aléatoires.
1 Introduction
Une particule se déplace sur un axe en partant de l’origine. A chaque itération n, elle fait un pas dont
l’amplitude Xn(positive ou négative) est indépendante de sa position et de son histoire (chaîne de Markov). Sa
position Snà l’itération nest donc donnée par
Sn=Sn1+Xn
avec S0= 0. Dans la suite, on s’intéressera à des marches aléatoires de Npas et à la distribution P(SN)de
la position finale SNde la particule, dans les cas où les pas Xnsont distribués sur une loi f(Xn)uniforme,
binomiale, gaussienne et de Cauchy.
En Fortran et en C, la fonction rand() génère des nombres pseudo-aléatoires uniformément distribués
entre 0 et 1. Le générateur est initialisé par la fonction srand(s), où sest un entier appelé la “graine”. Changer s
permet donc de changer la séquence des nombres pseudo-aléatoires en appelant “call srand(s) avec une graine
sdifférente pour chaque marche aléatoire.
1-1 Proposer un moyen de changer la graine pour chaque marche aléatoire simulée.
2 Loi binomiale
Les pas de la marche aléatoire discrète valent Xn= 1 avec la probabilité pou Xn=1avec la probabilité
1p.
2-1 Comment générer la variable aléatoire Xnà partir de la fonction rand() ?
2-2 Générer quelques marches aléatoires de N= 10000 pas pour p= 0.4, 0.49 et 0.5. Tracer ces marches
aléatoires (Snen fonction de n). Quelle est la trajectoire moyenne < Sn>pour chaque valeur de p?
2-3 Observer l’aspect d’une marche aléatoire Msymétrique (p= 0.5) de N= 10000 pas. Soit Mla marche
aléatoire obtenue à partir des 1000 premiers pas de M. Tracer sur un même graphe Met Men multipliant la
taille des itérations (axe des abscisses) de cette dernière par 10. Par quel facteur faut-il multiplier la taille des
pas (axe des ordonnées) de Mpour que les deux marches aléatoires aient le même aspect ? Reprendre la même
procédure avec M′′ , la marche aléatoire obtenue à partir des 100 premiers pas de M.
2-4 Pour p= 0.5, générer M= 10q(d’abord pour q= 1, puis q= 2, 3 et 4) marches aléatoires de N= 10000
pas et calculer < Sn>qet pV ar(Sn)qpour nN. Calculer la distribution (ie les histogrammes) P(SN)qde la
dernière position SN. Tracer sur un même graphe < Sn>qet pV ar(Sn)qd’une part et P(SN)qd’autre part.
Quelle est la fonction qui ajuste cette distribution dans la limite M1? Pourquoi ?
3 Loi uniforme
Les pas de la marche aléatoire sont distribués sur une loi uniforme f(Xn)centrée entre 0.5et 0.5.
3-1 Comment générer la variable aléatoire Xnà partir de la fonction rand() ?
3-2 Générer quelques marches aléatoires de N= 10000 pas. Vérifier que f(Xn)est bien la distribution
uniforme souhaitée. Tracer une marche aléatoire (Snen fonction de n) et la comparer à une marche aléatoire
binomiale symétrique. Quelle est la différence entre ces deux marches aléatoires ?
3-3 Reprendre la question 2-4. Vers quelle fonction tend P(SN)quand M1? Pourquoi ?
1
4 Loi gaussienne
Les pas de la marche aléatoire sont distribués sur une loi gaussienne de paramètres met σ > 0:
f(Xn) = 1
2πσ2e(Xnm)2
2σ2
4-1 Générer la variable aléatoire Xnà partir de la fonction rand() en utilisant par exemple la méthode de
Box-Muller.
4-2 Générer quelques marches aléatoires de paramètres m= 0 et σ= 1 de N= 10000 pas. Tracer ces marches
aléatoires (Snen fonction de n). Vérifier que f(Xn)est bien la distribution gaussienne souhaitée. Quelle valeur
de σfaut-il choisir pour que la marche aléatoire gaussienne et la marche aléatoire binomiale symétrique aient
le même aspect ?
4-3 Reprendre la question 2-4. Vers quelle fonction tend P(SN)quand M1? Pourquoi ?
5 Loi de Cauchy
Les pas de la marche aléatoire sont distribués sur une loi de Cauchy de paramètres x0et a > 0:
f(Xn) = 1
πa(1 + (xx0
a)2)
5-1 Générer la variable aléatoire Xnà partir de la fonction rand() en utilisant par exemple la méthode de
la transformation inverse.
5-2 Générer quelques marches aléatoires de paramètres x0= 0 et a= 1 de N= 10000 pas. Tracer ces
marches aléatoires (Snen fonction de n). Vérifier que f(Xn)est bien la distribution de Cauchy souhaitée.
5-3 Générer deux marches aléatoires de N= 1000 pas, l’une gaussienne (m= 0,σ2= 1), l’autre de Cauchy
(x0= 0 et a=.8). Tracer et comparer pour ces deux marches aléatoires : i) les distributions f(Xn), ii) les
historiques des pas Xnet iii) les trajectoires Sn.
5-4 Reprendre la question 2-4. Vers quelle fonction tend P(SN)quand M1? Pourquoi ?
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !