44
Exercices sur la méthode de Monte-Carlo Rémi Peyre Février 2016

Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Embed Size (px)

Citation preview

Page 1: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices sur la méthode de Monte-Carlo

Rémi Peyre

Février 2016

Page 2: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application
Page 3: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Fondements de la méthode de Monte-Carlo

EXERCICE 1 — Le moment quatrièmeSoit P la loi normale standard. Le but de cet exercice est de déterminer le moment

quatrième de P , càd. la quantité∫R x

4dP (x), notée M4 dans la suite. Pour ce faire, nousallons nous laisser guider par des considérations “expérimentales” reposant sur la méthodede Monte-Carlo.

1. Reformuler M4 comme l’espérance d’une variables aléatoire Y que l’on sait simulerfacilement (en supposant qu’on sait déjà simuler P ). Écrire une fonction loi_de_Y simulantla loi de Y .

2. Écrire un programme MC_simple évaluantM4 par la méthode de Monte-Carlo (à partirde l’écriture comme espérance vue à la question 1), en utilisant 5 000 000 simulations. Ceprogramme ne prendra aucun argument, affichera la valeur estimée avec une précision de 6chiffres après la virgule, et ne renverra rien.Indication : La loi normale standard peut être simulée à l’aide de la fonction randn de Matlab.Consulter « doc randn » pour plus de détails.

3. Justifier que la loi de la variable aléatoire Y de la question 1 est de classe L2.

4. Modifier le programme MC_simple en un programme MC_IC qui, outre l’estimation deM4, calcule et affiche aussi la marge d’erreur (au risque 1 %) associée à cette estimation.Lancer MC_IC ; et au vu du résultat obtenu, émettre une conjecture sur la valeur exacte deM4.

5. Écrire aussi une variante du programme MC_IC appelée MC_sup dans laquelle, au lieude calculer un intervalle de confiance pour M4, on cherche à en donner un majorant aussi finque possible, sachant qu’on s’autorise là encore un risque d’erreur (asymptotique) de 1 %.

6. Écrire aussi une autre variante du programme MC_IC appelée MC_homogene_IC danslaquelle, au lieu de donner un intervalle de confiance pour M4, on donne un intervalle deconfiance pour M1/4

4 .

7. Chronométrer le temps pris par l’exécution du programme MC_IC. En déduire com-bien de simulations vous pouvez demander si vous disposez de 2 minutes pour faire tournervotre programme ; et modifier MC_IC en une variante MC_IC_2min procédant à ce nombre desimulations. Prévoir la marge d’erreur qu’on devrait obtenir avec cette variante. Lancer etchronométrer MC_IC_2min et vérifier que le temps mis et la marge d’erreur trouvée sont co-hérentes avec vos prédictions. Les résultats de MC_IC_2min renforcent-ils la conjecture émiseà la question 4 ?

8. (H) Démontrer rigoureusement la conjecture émise à la question 4.

EXERCICE 2 — Autour de la génération pseudo-aléatoireLe but de cet exercice est de procéder à quelques expérimentations concrètes pour mieux

appréhender les problématiques liées à la génération pseudo-aléatoire. On s’appuiera dans cetexercice sur un programme de base MC procédant à une estimation par Monte-Carlo assortie

Page 4: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

de sa marge d’erreur : il pourra s’agir, par exemple, du programme MC_IC de l’exercice 1 ;mais tout autre programme de même nature conviendrait aussi bien.

1. Lancer trois fois de suite le programme MC. Les résultats obtenus sont-ils identiques ?Était-ce prévisible ? Pourquoi ce comportement est-il essentiel vis-à-vis de la méthode deMonte-Carlo ?

2. Redémarrer Matlab ; lancer le programme MC ; noter le résultat sur un papier ; redé-marrer encore Matlab ; lancer à nouveau le programme MC. Que constate-t-on ? Commentcela s’explique-t-il ?

3. Reprendre la question 2, à ceci près qu’avant de lancer MC la première fois on exécuterala commande rng ('tartempion'), alors qu’avant de lancer MC la deuxième fois on exécuteraplutôt la commande rng ('trucmuche'). Que constate-t-on ? Expliquer.

4. Expliquer comment on peut forcer Matlab à adopter un comportement pseudo-aléatoire prévisible sans avoir à redémarrer le logiciel ; et tester expérimentalement votreméthode.

5. Expliquer quel peut être l’intérêt d’avoir un comportement pseudo-aléatoire prévisiblepour un enseignant qui souhaite illustrer expérimentalement auprès de ses élèves qu’il peutarriver qu’un intervalle de confiance à 99,99 % ne contienne pas la bonne valeur.

6. Trouver un autre intérêt que peut avoir un comportement pseudo-aléatoire prévisible.Indication : On pourra penser, par exemple, à la problématique suivante : « Comment se défendred’une accusation de fraude lorsqu’on réalise une expérience aléatoire ? ». Une autre application seraitpour transférer des données de simulation aléatoire très volumineuses malgré une connexion de faibledébit...

On se pose maintenant la question de savoir quelle est la relation entre les suite pseudo-aléatoires générées depuis deux graines différentes.

7. Écrire une fonction rand999 qui simule un nombre pseudo-aléatoire entier uniformé-ment réparti entre 0 et 999. Écrire une fonction echantillon_pseudoaleatoire qui appelle3 000 fois la fonction rand999 et renvoie un tableau contenant le nombre d’occurrences dechaque valeur entre 0 et 999. Appeler deux fois la fonction echantillon_pseudoaleatoire,une fois après avoir invoqué rng (0), et la seconde fois après avoir invoqué rng (1). Lesrésultats obtenus vous semblent-ils compatibles avec l’idée que les suites pseudo-aléatoiresissues des graines 0 et 1 seraient indépendantes ? En quoi cela est-il intéressant ?

EXERCICE 3 — ParallélisationLe but de cet exercice est s’exercer à l’utilisation des procédés de parallélisation que permet

la méthode de Monte-Carlo. On s’appuiera dans cet exercice sur un programme de base MCprocédant à une estimation par Monte-Carlo assortie de sa marge d’erreur : il pourra s’agir,par exemple, du programme MC_IC de l’exercice 1 ; mais tout autre programme de mêmenature conviendrait aussi bien.

1. En chronométrant le temps que met votre programme de base MC, estimez la précisionque vous pouvez espérer obtenir pour votre estimation si vous disposez d’une heure pourfaire tourner votre calcul.

2. Supposons que vous soyez 20 élèves dans la classe, chacun muni de son propre ordi-nateur. Comment mettre en commun vos capacités de calcul pour obtenir un résultat plusprécis qu’à la question précédent, tout en respectant la limite de temps impartie d’une heure ?

Page 5: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

3. Quel piège convient-il d’éviter lors de cette procédure de parallélisation ? Comment yremédier ?Indication : Confer exercice 2...

4. La procédure de parallélisation mise en place à la question 2 améliore-t-elle l’efficacitédu calcul si l’on considère que le cout du calcul correspond au temps mis ? Et si on considèreque le cout de calcul correspond au nombre d’instructions exécutées par le ou les processeurs ?

5. Imaginons maintenant qu’on vous demande de faire un calcul de haute précision parla méthode de Monte-Carlo, qui prendrait une journée entière à votre processeur. Nous ima-ginerons que vous ne puissiez pas vous permettre de faire tourner votre processeur pendant24 heures d’affilée ; mais qu’en revanche, comme le résultat demandé n’est exigé que pourdans un mois, vous pouvez sans souci le faire tourner une heure par jour chaque jour. Ex-pliquer comment vous pouvez utiliser une procédure de parallélisation “dans le temps” pouratteindre votre objectif. Mettre cette technique en pratique sur un exemple simplifié.

EXERCICE 4 — Vérification des propriétés énoncées en coursDans cet exercice, nous allons vérifier expérimentalement quelques-unes des propriétés

énoncées dans le cours au sujet de la méthode de Monte-Carlo. On s’appuiera dans cetexercice sur un programme de base MC procédant à une estimation par Monte-Carlo assortiede sa marge d’erreur, interfacé de sorte que le programme prenne en entrée le nombre desimulations demandées et le niveau de risque demandé, et renvoie en sortie l’estimationcalculée, la variance efficace (estimée) de l’estimateur, la marge d’erreur associée, les limitesinférieure et supérieure de l’intervalle de confiance, le temps mis par le calcul, et le produittemps-variance.

1. Lorsqu’on exécute indépendamment plusieurs fois le programme MC avec les mêmes jeuxde paramètres, sommes-nous censés trouver (à peu près) les mêmes estimateurs ? la mêmevariance de l’estimateur ? les mêmes marges d’erreur ? les mêmes intervalles de confiance ?le même temps de calcul ? le même produit temps-variance ? Vérifier expérimentalement vosprévisions.

2. Lorsqu’on fait varier le nombre de simulations demandé (à niveau de risque égal),lesquelles des quantités ci-dessus sont-elles censées rester (à peu près) les mêmes ? Lesquellessont censées varier, et de quelle façon en fonction du nombre de simulations ? Vérifier expé-rimentalement vos prévisions.

3. Lorsqu’on fait varier le niveau de risque demandé (à nombre de simulations égal),lesquelles des quantités ci-dessus sont-elles censées rester (à peu près) les mêmes ? Lesquellessont censées varier, et de quelle façon en fonction du niveau de risque ? Vérifier expérimen-talement vos prévisions.

4. Vérifier la compatibilité des intervalles de confiance d’un calcul à l’autre, qu’onconserve les mêmes jeux de paramètres ou non.

5. En supposant connue la valeur exacte de la quantité qu’on estime, vérifier par laméthode de Monte-Carlo que l’intervalle de confiance à 80 % de la méthode de Monte-Carlocontient effectivement la valeur exacte environ 80 % du temps.

EXERCICE 5 — Probabilité d’un brelanAu poker (variante dite « fermée »), le joueur reçoit 5 cartes au sein d’un sabot contenant

4 cartes de chacun des 13 « hauteurs » possibles. Puis il décide d’échanger entre 0 et 3

Page 6: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

cartes en vue d’améliorer sa main. Une combinaison intéressante est d’obtenir un brelan,c’est-à-dire (au moins) trois cartes de même hauteur. Le but de cet exercice est d’évaluerla probabilité qu’un joueur dont le seul but serait d’obtenir un brelan atteigne son objectif.Dans cet exercice, l’identité de chaque carte sera codée par un nombre entier compris entre0 et 51, les hauteurs des cartes seront codées par un nombre entier compris entre 2 et 14 (defaçons que les cartes 0, 1, 2 et 3 aient la hauteur 2, les cartes 4, 5, 6 et 7 aient la hauteur3, etc.), et la main d’un joueur par un 5-vecteur de telles hauteurs.

1. Écrire une fonction hauteur qui prenne en entrée l’identité d’une carte et renvoie ensortie la hauteur associée.

2. Écrire une fonction sabot qui simule l’ordre des cartes dans un sabot parfaitementmélangé, càd. qui renvoie un 52-vecteur contenant une fois exactement l’identité de chaquecarte, distribué aléatoirement uniformément selon toutes les combinaisons possibles.Indication : Il est demandé aux élèves de répondre à cette question par eux-mêmes, sans s’appuyersur des recherches sur internet... Je mentionne néanmoins que, pour implémenter la fonction sabotd’une façon particulièrement efficace, on peut utiliser l’algorithme de mélange de Fisher–Yates, surlequel vous trouverez facilement de la documentation sur le web.

3. (H) Démontrer que lorsqu’un joueur se voit servir une double paire (càd. deux cartesde même hauteur, deux cartes d’une même deuxième hauteur, et une troisième carte d’unetroisième hauteur), son intérêt est de ne garder qu’une des deux paires et de jeter les troisautres cartes.

4. Écrire une fonction decision qui prend en entrée le 5-vecteur des hauteurs des cartesreçues par le joueur, et qui renvoie en sortie un autre 5-vecteur de valeurs booléennes, le iebooléen valant vrai si le joueur choisit de changer cette carte, et faux sinon. Rappelons qu’envertu de la question précédente, la décision du joueur doit suivre la règle suivante :

• Si trois (au moins) des cartes dans la main du joueur sont de hauteurs identiques, ilen change pas sa main ;

• Sinon, si le joueur a en main une (ou deux) paire de cartes de hauteurs identiques, ilconserve cette paire (attention ; il ne doit conserver qu’une seule paire dans tous lescas) et change toutes ses autres cartes ;

• Sinon, le joueur change trois cartes arbitraires de sa main.

5. Écrire une fonction simulation_bavarde qui décrit l’ensemble du processus par lequelnotre joueur tente d’atteindre son brelan. Cette fonction affichera successivement les hauteursdes huit cartes du haut du sabot, la main initialement reçue par le joueur, la sélection decartes que notre joueur décide de changer, la main qu’il a à l’issue de son changement, et lefait que cette main corresponde ou pas à un brelan ; et renverra vrai si le joueur a obtenuun brelan, et faux sinon. On écrire aussi une variante simulation de cette fonction qui faitla même chose, mais sans rien afficher.

6. Évaluer la probabilité qu’un joueur dont le seul but est d’obtenir un brelan atteigneson objectif. On exprimera le résultat sous la forme d’un intervalle de confiance à 95 %.

EXERCICE 6 — Volume d’une boule

1. Évaluer le volume de la boule unité de dimension 6[1] par la méthode de Monte-Carlo(en prenant la loi d’échantillonnage la plus évidente), en précisant un intervalle de confianceà 90 %. Comparer avec la valeur théorique, égale à π3/6.

[1]Càd. l’ensemble des points de R6 dont la distance euclidienne à l’origine est inférieure ou égale à 1.

Page 7: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

On veut maintenant utiliser la méthode de Monte-Carlo avec une autre loi d’échantillon-nage. Soit Q la loi sur R6 caractérisée par la densité

dQ

dx(x) = Z−1e−4‖x‖`1 ,

où ‖x‖`1 := |x1| + |x2| + · · · + |x6|, et où Z est la constante qui fait de (6) une densité deprobabilité.

2. Écrire une fonction simulant Q.

3. Calculer la valeur de Z.

4. Reprendre la question 1 en utilisant Q comme loi d’échantillonnage.

5. Comparer l’efficacité de la méthode de Monte-Carlo selon qu’on utilise la méthode debase où l’échantillonnage selon Q.

EXERCICE 7 — Manque d’intégrabilité L2

On considère une loi P sous laquelle la variable X suit une loi Pareto(1,5), c’est-à-direque X est une variable aléatoire sur [1,∞) telle que pour tout x > 1, P(X > x) = x−1,5.

1. Calculer la densité de la loi Pareto(1,5) par rapport à la mesure de Lebesgue. Endéduire que X est L1 mais pas pas L2, et calculer (théoriquement) E(X).

2. Écrire un programme Matlab qui tente d’évaluer un intervalle de confiance à 80 %de X en faisant comme si celle-ci était de classe L2. À l’aide de la méthode de Monte-Carlo,établit dans quelle proportion de cas est-ce que cet intervalle contient effectivement E(X).Qu’en concluez-vous ?

3. En faisant varier le nombre de simulations, regarder comment évolue la variance inversepar simulation. Que remarque-t-on ? Commenter.

EXERCICE 8 — Contrôle de la fonction rand

La documentation de Matlab nous dit que la fonction rand est censée fournir desnombres pseudo-aléatoires indépendants uniformément répartis entre 0 et 1. Mais est-ce bienvrai ?... C’est ce que nous allons tester dans cet exercice !

1. Écrire un programme test_rand_1 qui lance 10 000 000 fois la fonction rand et quicompte le nombre de fois où le résultat obtenu est tombé entre 0 et 0,1, resp. entre 0,1 et0,2, etc. (Le résultat sera renvoyé sous la forme du 10-vecteur des nombres d’occurrences dechaque cas).

2. En admettant que les productions successives de rand sont bien indépendantes, endéduire les intervalles de confiance respectifs de la probabilité réelle que la fonction randfournisse un résultat compris entre 0 et 0,1, resp. entre 0,1 et 0,2, etc. Ces résultats sont-ilscompatibles avec ce qu’annonce la documentation de Matlab ?

3. Maintenant, on souhaite tester si les valeurs successives fournies par Matlab se com-portent bien de façon indépendante. Si r1, r2, r3 sont trois valeurs successives de la fonctionrand fournies par Matlab, quelle est censée être la probabilité que deux ou plus de cesvaleurs soient distinctes ? Que r1 > r2 > r3 ? que r1 > r3 > r2 ? etc.

4. Écrire un programme test_rand_2 qui simule 1 000 000 triplets successif de variablesgaussiennes, regarde pour chacun de ces triplets dans quel ordre les valeurs se classent, en

Page 8: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

compte le nombre d’occurrences de chaque cas. En déduire l’intervalle de confiance pour lavraie probabilité de chaque classement. Ces résultats sont-ils compatibles avec ce qu’affirmela documentation ?

EXERCICE 9 — Estimation du kurtosisSupposons qu’on dispose d’une fonction WXYZ permettant de simuler la loi jointe d’un

quadruplet de variables aléatoires réelles (W,X, Y, Z) (de façon indépendante à chaque appelde la fonction). On suppose qu’on a effectué une boucle de la simulation au cours de laquelleon a simulé N quadruplets indépendants (Wi, Xi, Yi, Zi)06i<N suivant cette loi.

1. Pour α, β, γ, δ quatre coefficients réels, exprimer l’espérance et la variance de la variableαW + βX + γY + δZ en fonction de α, β, γ, δ et de E(W ), E(X), E(Y ), E(Z), E(W 2),E(X2), E(Y 2), E(Z2), E(WX), E(WY ), E(WZ), E(XY ), E(XZ) et E(Y Z).Indication : Il est conseillé d’introduire les notations vectorielles ~X := (W,X, Y, Z) et ~α := (α, β, γ, δ),et de procéder aux calculs à l’aide du formalisme matriciel.

2. Écrire un programme calculs_preliminaires dans lequel, en recourant à N simu-lations du quadruplet (X,Y, Z, T ) (N étant le paramètre d’entrée de notre programme), onestime toutes les espérances listées ci-dessus.Indication : Là encore, le formalisme matriciel pourra alléger les notations, même s’il rend les chosesun peu plus obscures...

3. Écrire le développement limité au premier ordre des fonctions suivantes au voisinagede (w, x, y, z) = (E(W ),E(X),E(Y ),E(Z)) :

f2(w, x, y, z) = x− w2,

f3(w, x, y, z) =y − 3wx+ 2w3

(x− w2)3/2,

f4(w, x, y, z) =z − 3x2 − 4wy + 12w2x− 6w4

(x− w2)2.

Pour (w, x, y, z) proche de (w, x, y, z), en déduire un développement limité au premier ordrede(f2(w, x, y, z) − f2(w, x, y, z)

), resp. des expressions analogues pour f3 et f4, comme

fonction linéaire de (w− w, x− x, y − y, z − z) — les coefficients de ce développement étantautorisés à être des fonctions de (w, x, y, z).

4. Notant w, x, y, z les estimateurs de Monte-Carlo respectifs de E(W ), E(X), E(Y ),E(Z) obtenus à partir de N simulations du quadruplet (W,X, Y, Z), en déduire les intervallesde confiance lorsqu’on cherche à estimer f2(w, x, y, z) à partir de f2(w, x, y, z), resp. lesestimations analogues pour f3 et f4.

5. Application : si X est une variable aléatoire de classe L8 qu’on sait simuler, écrireun programme calculant, par la méthode de Monte-Carlo, les estimations et intervalles deconfiance des quantités suivantes :

Var(X) (variance);E((X − E(X))3)

Var(X)3/2(coefficient d’asymétrie);

E((X − E(X))4)

Var(X)2− 3 (kurtosis normalisé).

Page 9: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

EXERCICE 10 — Fluctuations d’un estimateurCet exercice concerne un champ d’application essentiel de la méthode de Monte-Carlo,

à savoir la détermination d’intervalles de confiance en statistique dans des contextes où leslois exactes sont trop compliquées à calculer. Nous ferons en l’occurrence cette applicationdans le cadre d’un exemple précis, mais les idées évoquées sont très générales et marchentdans n’importe quel cadre.

On suppose qu’on est en train d’observer des réalisations indépendantes successivesX1, X2, . . . , XN de la loi Pθ uniforme sur [0, θ], où le paramètre θ est inconnu ; et que notrebut est de fournir une estimation ainsi qu’un intervalle de confiance pour θ à partir de lagrandeur X∗ := max16i6nXi.

1. (H) Justifier que X∗ est un estimateur convergent de θ.

Dans la suite de l’exercice, nous admettrons (ce qui sera bien le cas ici) que la loi Pθchange de façon suffisamment régulière lorsque θ varie pour qu’on puisse assimiler les élé-ments du comportement de Pθ qui nous intéresseront aux éléments correspondants du com-portement de Pθ, où θ est un estimateur convergent de θ.

2. Écrire un programme fluctuations qui prend en entrée les valeurs de θ et N , ainsiqu’un nombre de simulations Nsim au choix de l’utilisateur, et affiche en sortie un histo-gramme (estimé) de la loi de (X∗ − θ), cet histogramme étant calculé par une méthode deMonte-Carlo.Indication : La fonction histogram de Matlab permet de tracer des histogrammes.

3. Écrire une fonction fluctuations_compact, variante du programme fluctuationsqui, plutôt que d’afficher l’histogramme de la variable aléatoire (X∗ − θ), renvoie (une esti-mation de) les quantiles à 5 % et 95 % de sa loi, ainsi que son espérance.

4. À l’aide de la fonction fluctuations_compact, écrire un programme estimateur qui,à partir de la donnée de X∗ et θ, calcule un estimateur θ essentiellement sans biais de θ[2],ainsi qu’un intervalle de confiance à 90 % pour θ, le risque étant réparti à 5 % de chaquecôté de l’intervalle.

EXERCICE 11 — Une petite astuceLe programme ci-dessous est destiné à estimer par la méthode de Monte-Carlo l’espérance

d’une variable aléatoire que l’on sait simuler par la fonction externe simulation, ainsi qu’àcalculer un intervalle de confiance à 95 % pour cette estimation. Son code est le suivant :

function MonteCarlo (N)Qsomme = zeros (1, 4);Qsomme2 = zeros (1, 4);calculer_variance = true;for i = 1 : (N / 400)

for j = 1 : 100for k = 1 : 4x = simulation ();Qsomme (k) = Qsomme (k) + x;Qsomme2 (k) = Qsomme2 (k) + x * x;end

end

[2]Par « essentiellement sans biais », j’entends que l’estimateur θ se comporte asymptotiquement comme unestimateur sans biais (quand N tend vers l’infini, uniformément en la valeur de Nsim), c.-à-d. que l’espérancede la variable aléatoire (θ − θ) est négligeable devant les valeurs typiques que cette variable prend.

Page 10: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Qvariance_estimee = Qsomme2 / (100 * i) - (Qsomme / (100 * i)) .^ 2;varmax = max (Qvariance_estimee);varmin = min (Qvariance_estimee);if (varmax / varmin) < 1.001

calculer_variance = false;break;

endendsomme = sum (Qsomme);somme2 = sum (Qsomme2);if (calculer_variance)

for j = (400 * i + 1) : Nx = simulation ();somme = somme + x;somme2 = somme2 + x * x;

endN_variance = N;

elseN_variance = 400 * ifor j = (400 * i + 1) : N

x = simulation ();somme = somme + x;

endendestimateur = somme / N;variance_estimee = somme2 / N_variance - (somme / N_variance) .^ 2;variance_estimateur = variance_estimee / N;fprintf ('L''esperance de la loi est estimee a %f, ');fprintf ('avec une marge d''erreur a 95 %% de ');fprintf ('+/- %f\n', estimateur, 1.96 * sqrt (variance_estimateur));

end

Page 11: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Réduction de la variance

EXERCICE 12 — Grandes déviations d’un tirage à pile ou faceDans cet exercice, on considère 100 lancers successifs d’une pièce de monnaie équilibrée ;

la probabilité correspondant à cette situation aléatoire est notée P. On note X la variablealéatoire correspondant au nombre de « pile » obtenus ; et f := (X − 60)+

[1]. Le but de cetexercice est d’estimer E(f) aussi précisément que possible.

1. Écrire un algorithme “naïf” de Monte-Carlo pour estimer E(f), appelé PF60_naif.Cette fonction prendra en argument le nombre de simulations demandées ; affichera la valeurestimée ainsi que sa marge d’erreur à 95 % de confiance ; et ne renverra rien.

On peut imaginer la même expérience, mais où la pièce de monnaie serait pipée et aurait60 % de chances de tomber sur « pile » à chaque fois. La probabilité correspondant à cettesituation est notée P′.

2. Justifier qu’il est légitime de considérer que les probabilités P et P′ portent sur unmême espace mesurable Ω ; proposer ce que pourrait être cet Ω ainsi la façon d’interpréterses éventualités[2].Indication : Pour la suite de l’exercice, le compositeur de la question a en tête qu’on propose unchoix de Ω qui soit naturel, et qui constitue en un ensemble fini de grand cardinal.

3. Quelle est la densité de P par rapport à P′ ?Indication : La réponse est (5/6)X(5/4)100−X ; encore faut-il le justifier...

4. En déduire un algorithme d’échantillonnage préférentiel PF60_pref pour le calcul deE(f). (Cet algorithme utilisera la même interface que PF60_naif ; seule la structure internesera différente).

EXERCICE 13 — La grande suite (I)Nous considérons dans cet exercice la situation d’un joueur de yahtzee[3] qui cherche à

obtenir une grande suite, càd. la séquence des chiffres de ‘2’ à ‘6’[4]. Notant A cet évènementet p sa probabilité, p peut être estimée par la méthode de Monte-Carlo à l’aide du programme“naïf” suivant :

% "Nsim" est le nombre de simulations demandees.function GS_naif (Nsim)succes = 0;% Boucle de Monte-Carlo.

[1]Pour a ∈ R, a+ désigne la partie positive de a, càd. a+ := max(a, 0).[2]Càd. de dire à quels phénomène correspondrait chaque ω ∈ Ω.[3]Le yahtzee est un jeu très connu, qui se joue avec 5 dés. Après avoir lancés les dés une première fois, le

joueur choisit les dés qu’il souhaite relancer (cela peut éventuellement être aucun, ou tous) et les relance ; puisrecommence une fois cette étape de relancer partiel (en changeant, s’il le veut, le choix des dés à relancer).Le but est d’obtenir une certaine combinaison sur les chiffres affichés par les dés à l’issue de ce protocole.(Les dés sont interchangeables : savoir quel dé est tombé sur quel chiffre n’importe pas pour la combinaison).

[4]À noter que cette définition de la « grande suite » n’est pas celle de la variante standard du yahtzee(pour laquelle la séquence des chiffres de ‘1’ à ‘5’ compte aussi).

Page 12: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

for i = 1: Nsim% "lesdes" est ce qu'affichent les des.lesdes = ceil (6 * rand (1, 5));% Premiere etape de relancer.dejavu = zeros (1, 5);for j = 1: 5

if lesdes(j) == 1 || dejavu(lesdes(j) - 1)lesdes(j) = ceil (6 * rand ());

elsedejavu(lesdes(j) - 1) = true;

endend% Seconde etape de relancer.dejavu = zeros (1, 5);for j = 1: 5

if lesdes(j) == 1 || dejavu(lesdes(j) - 1)lesdes(j) = ceil (6 * rand ());

elsedejavu(lesdes(j) - 1) = true;

endend% L'objectif est-il atteint ?dejavu = zeros (1, 6);for j = 1:5

dejavu(lesdes(j)) = true;endif (all (dejavu(2: 6)))

succes = succes + 1;end

endp = succes / Nsim;fprintf ('Probabilite de succes : ')fprintf ('%f +/- %f.\n', p, 1.96 * sqrt (p * (1 - p) / Nsim));returnend

1. Expliquer à quelle stratégie du joueur correspond le code ci-dessus. (Nous admettronsque cette stratégie est effectivement la meilleure possible).Indication : La stratégie en question n’a rien que de très intuitif ; la question est plutôt de comprendrecomment fonctionne le programme et en quoi il suit bien la stratégie naturelle...

2. Notons n(k)i le nombre de fois que le chiffre ‘i’ apparait parmi les dés à l’issue de

k étapes de relancers[5]. Montrer que, conditionnellement à tout ce qui s’est passé jusqu’àl’issue de la première relance, la probabilité que le joueur atteigne finalement son objectifest égale à

(5− Z1)!

65−Z1,

Z1 :=6∑i=2

1n

(1)i >1

.

3. En déduire un algorithme GS_cond (ayant la même interface que GS_naif) évaluantla probabilité de succès à l’aide d’une technique de conditionnement.

EXERCICE 14 — Histoire grecque[5]Avec cette notation, le joueur atteint son objectif lorsque n(2)

i = 126i66 ∀i ∈ 1, . . . , 6.

Page 13: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

On considère un actif financier dont le cours vaut 0 € au jour 0. Chaque jour, le cours del’actif financier augmente ou diminue indépendamment, d’une quantité aléatoire N (−0,2; 1)(exprimée en €). On note P0 la loi de probabilité correspondant à cette situation. On appellep0 la probabilité, sous P0, qu’il existe au moins un jour j ∈ 1, . . . , 5 pour lequel le cours del’actif dépasse 2 €.

1. Écrire un programme grecque_base pour évaluer p0 par la méthode de Monte-Carlo[6].

La question qu’on se pose est maintenant de savoir comment changerait la valeur p0 si ons’était trompé dans notre modélisation, et qu’en fait, la loi que suit la variation quotidiennede notre actif financier était N (−0,18; 1,1)[7]. On note P1 la loi associée à cette nouvellesituation aléatoire, et p1 la probabilité correspondante que l’actif dépasse 2 €.

2. Comment réaliser un couplage naturel entre P0 et P1[8] ?

3. À l’aide du couplage trouvé à la question précédente, écrire un algorithmegrecque_coupl[9] qui évalue la différence p1 − p0 par la méthode de Monte-Carlo avec tech-nique de couplage.

4. Comparer l’efficacité à celle qu’on aurait obtenue en l’absence de couplage.

EXERCICE 15 — La grande suite (II)On reprend le paradigme de la grande suite vu dans l’exercice 13 ; mais cette fois-ci,

c’est une technique d’échantillonnage préférentiel qu’on va essayer d’utiliser pour améliorerl’efficacité. Notre nouvelle loi d’échantillonnage est définie en considérant que les dés sontpipés, et ce de la façon suivante : le premier dé a (à chaque lancer) 1/3 chance de tomber sur‘2’ et 2/15 chance de tomber sur n’importe quel autre chiffre ; le deuxième dé a 1/3 chancede tomber sur ‘3’ et 2/15 chance de tomber sur n’importe quel autre chiffre ; etc. On appelleP′ la probabilité correspondant à cette situation de dés pipés.

1. Modifier le code présenté à l’exercice 13 pour que :

• Le tirage des dés ait lieu selon la loi P′ ;

• Outre l’obtention ou non d’une grande suite, on calcule aussi la densité de probabilitédP/dP′ ;

• Mais c’est toujours p := P(A) qu’on évalue (en utilisant donc la technique d’échan-tillonnage préférentiel).

Indication : Attention ! La stratégie du joueur dans ce nouveau code doit-elle tenir compte du faitque les dés sont pipés, et s’adapter en conséquence ; ou le joueur doit-il continuer à jouer comme s’ilignorait que les dés sont pipés ?...

2. (H) Exécutez le code obtenu à la question précédente. Normalement vous constaterezque le résultat est mauvais, voire incompatible avec le précédent... Les soupçons se portent

[6]La fonction grecque_base prendra en argument le nombre de simulations demandées, affichera la valeurestimée de p0 ainsi que la marge d’erreur (au risque 5 %), et ne renverra rien.

[7]Attention : le second paramètre d’une loi normale exprime sa variance, pas son écart-type... ![8]Rappelons qu’un tel « couplage » consiste à construire une situation aléatoire dans laquelle chaque

éventualité fournit deux trajectoires (X(0)i )i∈1,...,5 et (X

(1)i )i∈1,...,5, qui soient telles que (X

(0)i )i suive la

loi P0 et que (X(1)i )i suive la loi P1, et que les trajectoires de X(0) et X(1) “se ressemblent” dans la mesure

du possible.[9]Dont l’interface sera essentiellement la même que pour grecque_base.

Page 14: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

naturellement un problème de sous-échantillonnage, et c’est effectivement le cas. D’où vientce sous-échantillonnage, à votre avis... ?

Pour éviter le problème de sous-échantillonnage, on considère un nouvel évènement desuccès, noté B, défini par « Le premier dé finit sur ‘2’ (conformément à son pipage), leseconde dé finit sur ‘3’, etc. ». On note q la probabilité de cet évènement sous P.

3. Justifier sommairement qu’on devrait avoir q = p / 120.

4. En déduire un algorithme d’échantillonnage préférentiel pour évaluer p, mais qui neprésente pas le problème de sous-échantillonnage.Indication : Notre algorithme calculera de prime abord un estimateur de q ; mais puisqu’on sait quep = 120q, on peut en déduire un estimateur de p. Attention ! Il faudra penser à tenir compte de lamultiplication par 120 pour transporter la marge d’erreur de l’estimateur de q vers l’estimateur dep...Indication : Attention ! Le joueur doit-il tenir compte du fait que le succès consistera en fait à obtenirl’évènement B, et donc adapter sa stratégie en conséquence ; ou devra-t-il continuer à jouer commes’il cherchait à obtenir l’évènement A ?...

5. (H) Exécuter cet algorithme. Normalement ça ne marche toujours pas ; et même,c’est pire encore : l’algorithme converge clairement vers une valeur erronée... ! Sauriez-vousexpliquer ce qui s’est passé ; et comment y remédier ?Indication : En fait, le problème est qu’avec la stratégie suivie par notre joueur, on n’a pas q =p / 120... ! Un élément essentiel manque en effet à la stratégie pour que cette identité soit valide :lequel... ? Rajoutez cet élément pour réparer l’erreur !

EXERCICE 16 — Le retour de la financeOn revient dans cet exercice sur le contexte de l’exercice 14. Notre objectif est d’utili-

ser la technique de conditionnement pour améliorer l’estimation de p0. Pour ce faire, nousconsidérons la sous-tribu engendrée par le couple (X2, X4), notée A.

1. Justifier que, conditionnellement à la tribu A, les v.a. X1, X3, X5 sont indépendantes,et suivent respectivement les lois

N (X2 / 2, 1/2), N((X2 +X4) / 2, 1/2

), N (X4, 1).

2. Calculer la probabilité que, conditionnellement à la tribu A, le cours de l’actif dépasse2 €.Indication : Dans cette question, on considère que nous avons à notre disposition la fonction d’erreurerf [10].

3. En déduire un algorithme de Monte-Carlo utilisant la technique de conditionnementpour évaluer p0 plus finement.

EXERCICE 17 — ÉpidémieOn considère une population de 625 personnes, représentées par un carré de dimensions

25×25 (qu’on représentera dans Matlab sous la forme d’une matrice), parmi lequelles uneépidémie est suceptible de se propager. Les règles de propagation sont les suivantes[11] :[10]Qui est implémentée (sous ce nom) dans Matlab.[11]On peut démontrer que l’ordre dans lequel on effectue les différentes opérations importe peu, pourvuqu’on aille jusqu’au bout de la simulation en s’assurant qu’il ne reste plus aucune personne exposée à la fin.

Page 15: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

• Initialement, seule la personne centrale de coordonnées (13, 13) (que nous appelleronspatient zéro) est exposée (on représentera cet état par le nombre 1) ; les autres sontpures (état représenté par le nombre 0).

• Lorsqu’une personne est exposée, on tire une variable aléatoire de Bernoulli de pa-ramètre 0,55 pour savoir ce qu’elle devient. Si la variable aléatoire tirée est positive,la personne devient infectée (état représenté par le nombre 2) ; si elle est nulle, lapersonne devient immunisée (état représenté par le nombre −1).

• Lorsqu’une personne est infectée, chacune de ses quatre voisines (ou trois, resp. deux,si on est sur le bord du carré, resp. dans un coin), si elle était pure, devient exposée.

1. (H) Simuler la propagation de l’épidémie.Indication : Une façon de simuler rapidement l’épidémie est de maintenir à jour la liste des personnesexposées, et de traiter[12] les personnes exposées dans l’ordre de cette liste. Techniquement, on utiliseratrois variables : une matrice exposees de taille 2 × 625 destinée à contenir les coordonnées despersonnes exposées (initialisée de sorte que sa première colonne soit (13, 13)T) ; et deux indicesindiquant quelle sont les colonnes de exposees correspondant à la première, resp. à la dernièrepersonne exposée encore à traiter (initialisés tous les deux à 1). Chaque fois qu’on tire la variablede Bernoulli d’une personne exposée, on incrémente le premier compteur, puis si la personne s’avèreinfectée, on rend exposés ses voisines encore pures ; et chaque fois qu’une nouvelle personne devientexposée, on incrémente le second compteur et on met à jour la colonne correspondante de la matriceexposees.

2. Déterminer par la méthode de Monte-Carlo le nombre moyen de personnes qui serontinfectées par l’épidémie (en incluant le patient zéro le cas échéant).

On s’intéresse maintenant à la possibilité de vacciner une personne prise au hasard. Celasignifie que cette personne démarrera la simulation avec le statut immunisée au lieu de pure(ou, si cette personne se trouve être le patient zéro, que l’épidémie ne démarrera jamais). Laquestion est de savoir « combien d’infections cela évite-t-il, en moyenne ? ».

3. Utiliser une technique de couplage pour répondre à la question posée.

4. Comparer le nombre moyen d’infections évitées avec la probabilité (dans la situa-tion initiale) qu’une personne prise au hasard finisse infectée. Expliquer pourquoi les épi-démiologistes affirment que le choix d’être vacciné ou non n’est pas une question purementindividuelle, mais engage aussi autrui.

EXERCICE 17bis — Les risques du levierUn boursicoteur projette un investissement très risqué : il emprunterait une forte somme

d’argent à sa banque pour l’investir dans deux entreprises, et rembourserait ensuite sa banqueavec le bénéfice généré par ses placements. Plus exactement, on note Sbanque la somme qu’ilcompte emprunter à sa banque, et r la taux d’intérêt exigé par sa banque sur la période concer-née. Notre boursicoteur compte investir la somme d’argent Sinvest entre les deux entreprisesA et B, à raison d’une proportion πA investie dans l’entreprise A, et πB = 1 − πA investiedans l’entreprise B. Les cours actuels des actions des entreprises A et B sont respectivement[12]Par « traiter » une personne exposée, je n’entends pas la soigner (cela n’aurait d’ailleurs pas de sensici...), mais déterminer si elle finit par basculer dans l’état infectée (rendant alors exposées ses voisines encorepures) ou dans l’état immunisée.

Page 16: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

notés XA et XB. Au terme de son prêt, on peut modéliser la valeur actualisée des cours parles variables aléatoires X ′A et X ′B, avec

(logX ′A, logX ′B) = (logXA, logXB) + (µA, µB) +N((

00

),

(σAA σABσAB σBB

))T

.

Le risque que craint le plus notre boursicoteur est de se retrouver en défaut de paiements’il ne peut pas rembourser sa banque. Notez toutefois qu’en cas de mauvaise conjoncturefinancière, il aura aussi la ressource de puiser dans sa cassette personnelle, d’un montantSperso.

On donne les valeurs suivantes pour les paramètres : Sinvest = Sbanque = 100 000 €,Sperso = 30 000 €, πA = 50 %, µA = 11 %, µB = 8 %, σAA = 0,25, σBB = 0,06, σAB = 0,06,r = 5 %.

1. Justifier que, si ~X est un n-vecteur gaussien standard et P une matrice de taillem × n, alors P ~X est un m-vecteur gaussien centrée de matrice de covariance PPT. Endéduire comment, à l’aide de la fonction chol de Matlab, on peut simuler un vecteurgaussien d’espérance et de covariance (supposée non dégénérée) données.

2. Écrire un programme estimant la probabilité de défaut par la méthode de Monte-Carlo. (nom : defaut_simple entrée : nombre de simulations demandé ; affiche : probabilitéde défaut calculée et son intervalle de confiance au risque 5 % ; sortie : rien).

3. Justifier que si ~X est un vecteur gaussien de paramètres (~µ,Σ) et ~X∗ un vecteurgaussien centré de paramètres (~µ∗,Σ), alors la densité relative de la loi de ~X∗ par rapport àla loi de ~X, au point ~x, est égale à

exp((~µ∗ − ~µ)TΣ−1

(~x− (~µ+ ~µ∗)/2

)).

4. En déduire une méthode d’échantillonnage préférentiel pour estimer la probabilitéde défaut. (nom : defaut_pref, même interface que defaut_simple). On prendra commeloi d’échantillonnage préférentiel une loi où X ′A et X ′B se comportent comme si on avait(µA, µB) = (−43 %,−15 %).

Notre boursicoteur se dit que le risque pris est peut-être un peu trop élevé. . . Il envisagemaintenant de prendre plutôt πA = 45 % (et donc πB = 55 %), tous les autres paramètresrestant inchangés. Il se demande de combien cela diminuerait pour lui le risque de défaut (envaleur absolue).

5. Écrire une fonction diffdefaut utilisant la méthode de couplage pour estimer le risqueévité par cette nouvelle allocation des ressources. (même interface que defaut_simple).

6. (H) Au fait, et si la question consistait à évaluer le risque relatif évité par la nouvelleallocation ?. . . Écrire le programme diffreldefaut correspondant.

7. Combiner les méthodes d’échantillonnage préférentiel et de couplage pour estimerplus finement le risque évité par la nouvelle allocation des ressources, dans un programmediffdefaut_pref. (même interface que pour defaut_simple).

Page 17: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Simulation de processus aléatoires

EXERCICE 18 — Processus stableUn processus stable (normalisé) d’exposant α ∈ (0, 2) est un processus à valeurs dans

R, markovien, évoluant par sauts, défini de la façon suivante : pendant l’intervalle de tempsdt, la probabilité que survienne un saut d’amplitude dans [x, x + dx] vaut (indépendammentde tout ce qui s’est passé avant) |x|−1−αdxdt, pour tout x ∈ R[1]. (On suppose par ailleurs leprocessus issu de 0 au temps 0). Ici nous allons considérer une approximation de ce processus,où on ne retient que les sauts d’amplitude (en valeur absolue) supérieure à ε, où ε est unecertaine valeur de troncature. Dans cet exercice, nous prendrons α = 1,5 et ε = 10−2 — dansles codes qu’on écrira, il est demandé de traiter ces paramètres comme des macros[2], afin depouvoir les modifier facilement si on le voulait.

1. Justifier que les instants auxquels se produisent les sauts (indépendamment de leurintensité) forment un « processus ponctuel de Poisson » d’intensité constante, càd. que laprobabilité qu’un saut se produise dans un intervalle de temps [t, t+ dt] vaut (indépendam-ment de tout ce qui s’est passé avant) λdt, où λ, appelée l’« intensité » du processus ponctuelde Poisson, vaut ici

λ := 1 333,333.

(On calculera l’expression littérale de λ dans le cas général).

2. Écrire une fonction Poisson_ponct qui représente les instants des sauts. Cette fonctionprendra en argument un temps T , ne renverra rien, et affichera l’ensemble des instants desaut, en traçant un point sur l’axe des abscisses à chaque instant correspondant. (On testerala fonction pour T = 0,05 p. ex.).

3. Justifier que, conditionnellement au fait qu’il se produise un saut à un instant donné,la loi de l’amplitude de ce saut est (indépendamment de tout se qui s’est passé avant cetinstant) une loi à densité sur R notée µ, définie par :

dµ(x) := λ−11|x|>ε|x|−1−αdx.

4. Écrire un programme mu qui simule la loi µ. Ce programme ne prendra aucun argumentet retournera la valeur simulée.

5. Écrire une fonction proc_stable qui trace la trajectoire du processus stable. Cettefonction prendra en argument un temps T , ne renverra rien, et affichera la trajectoire duprocessus sur [0, T ]. Je vous demande de tracer cette trajectoire, non pas en traçant la courbeexacte tenant compte de chaque saut, mais en calculant les valeurs de la courbe pour lestemps qT avec q ∈ 0, 1/1 024, . . . , 1 023/1 024, 1.

EXERCICE 19 — Mouvement brownien avec rappel[1]En toute rigueur, pour un tel processus dont la densité de sauts est infinie, cette définition laisserait

encore deux paramètres implicites non fixés, mais nous ne nous en préoccuperons pas ici, dans la mesure oùla troncature évite ce problème.

[2]Sous Matlab, cela se fera par le biais de variables globales définies une unique fois au début du code.

Page 18: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

1. Écrire une fonction Matlab d’arguments X0 et T qui trace sur [0, T ] l’évolution del’équation différentielle stochastique suivante :

dXt = σdWt − kF sgn(Xt)|Xt|k−1dt, (*)

où les paramètres sont k = 6;F = 1;σ = 1, qu’on traitera comme autant de macros.On utilisera la méthode d’Euler avec un découpage en 2 048 pas de temps homogène, ceparamètre de programmation étant lui aussi traité comme une macro. Tester le programmepour X0 = 0 et T = 16.

2. (H) À quelles équations plus communes correspond l’équation (*) :

(i) Lorsque F = 0 ?

(ii) Lorsque σ = 0 ?

(iii) Lorsque k = 2 ?[3]

(iv) Lorsque k =∞ ? (asymptotiquement s’entend ?).[4]

3. On considère maintenant la valeur du paramètre σ = 10. Tester à nouveau le pro-gramme, pour les mêmes valeurs du paramètre. Comparer ce qui se passe si on prend 16 384pas de temps. Remarquer que les tracés présentent des comportements complètement diffé-rents en fonction du nombre de pas de temps. Pourquoi n’est-ce pas « normal » ? Pour quelchoix de discrétisation le comportement est-il cohérent avec celui attendu pour la véritableéquation différentielle ? En raison de quoi, selon vous, l’autre choix ne marche-t-il pas ?

EXERCICE 20 — Volatilité variableOn considère une processus (Vt)t>0 (appelé processus d’Ornstein-Uhlenbeck géométrique

défini par l’équation différentielle stochastique suivante :

dVt = σVtdWt +

(1

2σ2 − λ log

VtV ∗

)Vtdt,

où les paramètres sont V ∗ = 1, σ2 = 2 et λ = 1.

1. Simuler le processus décrit ci-dessus sur 6 unités de temps, par la méthode d’Eulerstochastique, pour la condition initiale V0 = 0,5. On prendra un pas de temps de 2× 10−3.

On considère maintenant un processus (Xt)t>0 couplé au processus Vt. Le processus Xévolue purement par sauts, mais la loi de densité des sauts dépend de V : la probabilité que,pendant un intervalle de temps infinitésimal [t, t + dt], X fasse un saut d’amplitude dans[x, x+ dx] vaut

1x>εαVt2|x|−α−1dxdt,

où les paramètres sont α = 2 et ε = 10−2.

2. Montrer que la densité (totale) de probabilité de saut par unité de temps à un instantdonné est égale à ε−αVt.

3. Montrer que, conditionnellement au fait qu’il y ait un saut à un moment donné,indépendamment de la valeur de Vt, l’amplitude du saut suit une loi qui peut être simulée

[3]La réponse est hors-programme.[4]Question particulièrement difficile.

Page 19: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

par εSU−1/α, où S est un signe uniforme sur −1, 1 et U une variable uniforme sur [0, 1],indépendante de S.

4. (H) Simuler l’évolution du couple (Vt, Xt), avec la condition initiale X0 = 0. (Onaffichera les deux trajectoires sur des graphiques différents, car les échelles ne sont pas lesmêmes).

EXERCICE 21 — Mouvement brownien sur la sphèreLe but de cet exercice est de simuler une évolution aléatoire d’un point sur la sphère

unité de R3. J’affirme qu’une telle évolution peut être décrite par l’équation différentiellestochastique suivante, pour un paramètre α à choisir judicieusement :

d ~Xt = P( ~Xt) · d ~Wt − α ~Xtdt,

où ~Wt est un mouvement brownien standard tridimensionnel et

P( ~X) := I3 − ‖ ~X‖−22

X21 X1X2 X1X3

X1X2 X22 X2X3

X1X3 X2X3 X23

.

(I3 est la matrice identité de dimension 3 ; X1, X2, X3 sont les coordonnées de ~X ; et ‖ ~X‖2est sa norme euclidienne).

1. Supposons dans cette question qu’on puisse dans les calculs traiter ~Wt comme unprocessus de classe C1. Montrer qu’alors, pour α = 0, ‖ ~Xt‖2 devrait être conservée au coursde l’évolution du processus.Indication : Les calculs sont assez fastidieux si on y procède trop naïvement... Il vaut mieux vé-rifier que c’est la quantité ‖ ~Xt‖22 qui est conservée, car cela correspond à une fonction plus fa-cile à différentier. D’autre part, on remarque qu’en termes vectoriels, on a ‖ ~X‖2 = ( ~XT ~X)1/2 etP( ~X) = I3 − ‖ ~X‖−2

2~X ~XT, ce qui permet de grandement simplifier les calculs.

2. Simuler le processus pour α = 0 depuis la condition initiale ~X0 = (1, 0, 0) sur 2 unitésde temps avec un pas de discrétisation de taille 1/10 000. Même question pour α = 1 et pourα = 2. Dans quel cas la simulation vous semble-t-elle bien rester sur la sphère unité ?Indication : On peut réaliser un tracé tridimensionnel à l’aide de la commande plot3 de Matlab.Plus simplement, vous pouvez aussi tracer ‖ ~Xt‖2 en fonction du temps.

3. (H) En utilisant la formule d’Itô (hors-programme), justifier le phénomène observé àla question précédente, et vérifier que la bonne valeur de α est bien celle trouvée.

EXERCICE 21bis — De l’importance de l’ordreOn considère le système d’équations différentielles stochastiques couplées suivant :

dXt = YtdW1t + dW 2

t ;

dYt = XtdW3t + dW 4

t ,

où (W 1t ,W

3t )t>0 est un mouvement brownien bidimensionnel de variance par unité de temps(

2 −1−1 1

),

Page 20: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

et (W 2t )t>0 et (W 4

t )t>0 sont les mouvements browniens standard indépendants de (W 1,W 3) etindépendants entre eux. Lorsque nous voulons simuler un tel processus par le schéma d’Euler,une ambiguïté se pose : puisque la façon dont X évolue entre t et t+ dt dépend de la valeurde Y , faut-il utiliser la valeur de Y au début ou à la fin du pas de temps concerné ?. . .Onenvisagera donc trois variantes possibles pour simuler cette évolution :

• Une variante ‘01’ dans laquelle on met à jour X puis Y : c.-à-d. que Xt évolue selonla valeur de Y au début du pas de temps, mais que Yt évolue selon la valeur de X à lafin du pas de temps.

• Une variante ‘10’ dans laquelle on met à jour Y puis X : c.-à-d. que Yt évolue selonla valeur de X au début du pas de temps, mais que Xt évolue selon la valeur de Y à lafin du pas de temps.

• Une variante ‘00’ dans laquelle on met à jour X et Y “simultanément” : c.-à-d. queXt évolue selon la valeur de Y au début du pas de temps et Yt évolue aussi selon lavaleur de X au début du pas de temps.

1. Laquelle de ces trois variantes correspond à celle enseignée dans le cours ?

2. Écrire trois programmes simulation_01, simulation_10 et simulation_00 implé-mentant respectivement chacune des trois idées listées ci-dessus pour la simulation du pro-cessus. Ces programmes utiliseront l’interface suivante : ils prendront en argument les valeursX0 et Y0 que doivent prendre X et Y au début de la simulation, ainsi que la durée T de lasimulation, et traceront sur le même graphique les courbes de l’évolution de Xt et Yt pour tentre 0 et T (et ne renverront rien). On prendra un pas de discrétisation de 2−12.

3. Tester les trois programmes pour (X0, Y0) = (2, 2) et T = 1. Au jugé, avez-vousl’impression d’une différence significative de comportment selon le cas ?

4. Pour affiner la réponse à la question précédente, on se propose d’estimer, selon lemode de simulation retenu, la probabilité que X1 soit négatif (cette estimation se faisantbien entendu par la méthode de Monte-Carlo). Procéder à ces estimations (on prendra parexemple 2 000 simulations pour chaque cas), en précisant les intervalles de confiance à 99 %.En conclure que les trois méthodes n’éboutissent pas à la simulation des mêmes processus.

5. (H) En vous appuyant sur l’idée de développements limités formels expliquée encours, dire quelles sont normalement les ÉDS réellement simulées pour les deux mauvaisesméthodes. Vérifier par quelques tests que les résultats des mauvaises méthodes correspondentbien à ceux de ces ÉDS “corrigées”.

Page 21: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Méthode de Monte-Carlo appliquée aux processus

EXERCICE 22 — Processus stable, suiteCet exercice se place dans la continuité de l’exercice 18 vu précédemment, qu’on suppose

avoir déjà été traité. Ainsi, on reprend ici les notations de cet exercice.

1. Évaluer, par la méthode de Monte-Carlo, la probabilité que le processus stable nedépasse pas (en valeur absolue) le seuil y1 := 1 avant l’instant T1 := 4.

On considère dorénavant un autre processus (qu’on différenciera du précédent à l’aide dusymbole ‘~’), qui évolue également poisonniennement par sauts, la densité des sauts valantégalement λ, mais où la loi des sauts est maintenant la loi µ définie par :

dµ(x) := Z−11|x|>εe−(x/y1)2 |x|−1−α,

où Z est la constante qui fait de µ une mesure de probabilité. Nous admettrons qu’il estpossible de calculer numériquement la valeur de Z avec une grande précision, et qu’on alorscelle-ci égale (pour les paramètres décrits ci-dessus) à

Z = 1 328,899.

2. Écrire un programme mutilde simulant µ.Indication : Penser à la méthode de rejet, avec pour mesure de référence µ.

3. (H) Quelle est la densité de µ par rapport à µ ? En déduire comment calculer la densitéde probabilité, pour une trajectoire donnée, de la loi du processus non tildé par rapport à laloi du processus tildé.Indication : On calculera la densité relative comme un produit qu’on maintiendra au cours de laboucle de calcul de chaque simulation ; où à chaque saut d’intensité x, on multipliera la densitérelative par dµ/dµ(x).

4. Appliquer une méthode d’échantillonnage préférentiel pour améliorer la précision del’estimation précédente.

EXERCICE 23 — IntermittencesUne usine produit des boulons tout au cours de la journée, de 08 h 00 =: tdeb à 18 h 00 =:

tfin. En fonctionnement normal, elle produit 100 000 =: D boulons par heure. Toutefois, ilfaut exactement 1 h =: Tpre de préchauffage du système avant que la production puissedémarrer (y compris le matin à tdeb). En outre, l’approvisionnement électrique de l’usineest vétuste : l’électricité tombe en panne (en moyenne) une fois toutes les 3 h =: τpan, avecdes pannes qui durent de l’ordre de 1 h =: τrep. Plus précisément, on modélise les pannesélectriques ainsi :

• À un instant donné (donc en particulier le matin à tdeb), l’électricité a τrep/(τpan+τrep)risque d’être en panne[1].

[1]Cela vient de ce qu’on pourrait démontrer que, lorsque cela fait suffisamment longtemps que le processus« réseau électrique » a démarré, la probabilité que l’électricité soit en panne à un instant donné converge versτrep / (τpan + τrep).

Page 22: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

• Quand l’électricité est en panne, il faut attendre une loi exponentielle d’espérance τrep

avant qu’elle soit réparée.

• Quand l’électricité fonctionne, elle tombe en panne au bout d’une loi exponentielled’espérance τpan.

1. Simuler l’évolution de l’état du réseau électrique au cours de la journée. On présenterale résultat sous la forme d’un graphique, où « en panne » sera représenté par −2 et « enservice » par −1. (On présentera la réponse à cette question sous la forme d’un programmeelec_graph, qui ne prendra aucun argument et ne reverra aucune valeur, et affichera legraphique souhaité). Vérifier la cohérence des résultats obtenus.

2. Modifier le programme précédent (en un programme elec_usine_graph) pour faire ensorte de tracer aussi sur la graphique l’évolution de l’état de l’usine au cours de la journée. (Onreprésentera l’état « à l’arrêt » par 0, l’état « en préchauffage » par 1, et « en fonctionnement »par 2). Vérifier la cohérence des résultats obtenus.

3. Justifier que le processus « état du réseau électrique » est markovien, mais que le pro-cessus « état de l’usine » n’est pas markovien. Justifier qu’en revanche, si l’état de l’usine aucours du préchauffage n’est plus représenté par une constante, mais par le temps écoulé depuisle début du préchauffage[2], alors le processus « (état du réseau électrique, état de l’usine) »est markovien, et même le processus « état de l’usine » tout seul.

4. Modifier la programme précédent (en un programme elec_usine_graph_prod) pourqu’il ait maintenant une valeur de sortie, correspondant au nombre de boulons total produitsur la journée[3]. Vérifier la cohérence des résultats obtenus.

5. Évaluer par la méthode de Monte-Carlo la production journalière moyenne de l’usine.Le programme, appelé MC_prod, prendra en argument le nombre de simulations demandées,ne renverra rien, et affichera une estimation de la production journalière moyenne, assortied’un intervalle de confiance.

6. Démontrer que, à 17 h 00 (ou plus généralement à l’heure tfin−Tpre), le nombre moyende boulons que l’usine continuera de produire d’ici la fin de la journée vaut :

• 0 si l’usine est à l’arrêt ;

• Dτpan(1− e−Tpre/τpan) si l’usine est en fonctionnement ;

• Dτpane−Tpre/τpan(et/τpan − 1) si cela fait un temps t que le préchauffage a commencé.

7. En déduire une méthode de conditionnement pour le calcul du nombre de boulonsmoyens produit, implémentée dans un programme MC_prod_cond. Vérifier la cohérence desrésultats obtenus. L’amélioration de l’efficacité est-elle intéressante ? Pourvait-on s’en dou-ter ?

Exaspérée par les pannes à répétition de l’électricité, sur lesquelles elle n’a pas de pou-voir, la directrice de l’usine envisage de changer la chaine de production : le rendement enfonctionnement serait le même, mais le préchauffage du système ne durerait plus qu’une demi-heure (valeur notée T ′pre). Comme cette nouvelle chaine serait onéreuse à mettre en place,la directrice cherche à savoir quelle amélioration en résulterait sur la production journalièremoyenne.

[2]Mais n’utilisez pas cette représentation du préchauffage dans vos réponses.[3]On ne se préoccupera pas ici du fait que les formules donnent des nombres de boulons non entiers.

Page 23: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

8. Estimer l’amélioration apportée, en utilisant une méthode de couplage. (ProgrammeMC_prod_coupl). Vérifier la cohérence des résultats obtenus.

9. (H) Employer le conditionnement en plus du couplage pour améliorer l’efficacité durésultat. Vérifier la cohérence des résultats obtenus.

EXERCICE 24 — File d’attenteLe but de cet exercice est de simuler un phénomène de file d’attente, par exemple à un

péage sur l’autoroute, sous une hypothèse d’arrivée poissonnienne des voitures et de traite-ment poissonnien de leurs requêtes[4].

Ce qu’on va simuler est l’évolution au cours du temps (noté t, compté en minutes) dunombre Vt de voitures attendant au péage. Ce nombre de voitures évolue markoviennement,avec les règles suivantes. Au cours d’un intervalle de temps dt :

• S’il y a au moins une voiture qui attend, la probabilité qu’une voiture passe (et doncque Vt diminue d’une unité) est αdt, avec α = 4 min−1 ;

• La probabilité qu’une nouvelle voiture arrive (et donc que Vt augmente d’une unité) estβdt, où β est la densité du trafic.

1. Sachant la valeur de Vt à un instant donné, quelle est la loi du temps d’attente avantque Vt évolue, et la loi du saut que Vt fera à cet instant ?

2. Écrire un programme simulant (Vt)06t6T (en partant de V0 = 0), les arguments duprogramme étant T et β. Lancer les simulations pour T = 720 et respectivement β = 0,5α,β = 0,95α et β = 1,05α. Commenter.

3. Pour une simulation donnée, exprimer le temps d’attente moyen (sur cette simulation)τ des automobilistes en fonction de (Vt)t. (Si VT > 0, on fera comme si les voitures attendantencore au temps T étaient alors traitées instantanément). Modifier le programme pour qu’ilretourne également cette valeur.Indication : La réponse est que le temps d’attente moyen est l’intégrale de V , divisée par le nombretotal de sauts vers le haut. Voyez-vous pourquoi ?...

4. (H) Expliquer pourquoi est-ce que, lorsqu’on réalise plusieurs simulations, le tempsmoyen d’attente des automobilistes sur l’ensemble des simulations n’est pas la moyenne destemps d’attente moyens sur chaque simulation.

5. Montrer que le nombre moyen d’automobilistes arrivant au cours d’une journée dedurée T vaut exactement αT .

6. (H) Déterminer le temps d’attente moyen d’un automobiliste par la méthode de Monte-Carlo.Indication : Le temps d’attente moyen des automobilistes n’est pas l’espérance du temps d’attentemoyen par journée, mais on peut toutefois le déterminer à partir de deux autres espérances... Les-quelles ?

EXERCICE 25 — Le théorème de Girsanov[4]Cette seconde hypothèse est évidemment peu réaliste concernant le cas d’un péage, mais ce n’est qu’un

exercice...

Page 24: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Le théorème de Girsanov énonce (entre autres) la chose suivante : si (Xt)t>0 est unmouvement brownien (issu de 0) de variance par unité de temps σ2 soumis à une dérive b(t)dépendant du temps, càd. une solution de

dXt = σdWt + b(t)dt,

alors la loi Pb des trajectoires de X sur [0, T ] est à densité par rapport à la loi P0 destrajectoires du même mouvement brownien sans dérive, avec

dPbdP0

((ft)06t6T

)= exp

(σ−2

∫ T

0

(b(t)f ′t − 1

2b(t)2)dt). (1)

(En général f ne sera pas dérivable, mais on pourra quand même donner un sens à (1) eninterprétant «

∫ T0 b(t)f ′t dt » comme

∫ T0 b(t)dft).

1. (H) En interprétant la formule définissantX en termes de schéma d’Euler, “démontrer”le théorème de Girsanov.

2. Notons Q la loi de la trajectoire sur [0, 1] d’un mouvement brownien standard avecdérive b(t) = 1t<1/2 × 3/2 + 1t>1/2 × (−3/2). Exprimer la densité de Q par rapport à la loiP de la trajectoire du mouvement brownien sans dérive.

3. On note A l’événement « la trajectoire passe au-dessus de 112 , puis redescend en dessous

de 0, tout cela avant l’instant t = 1 ». Comment peut-on évaluer P (A) à l’aide de simulationsde la loi Q ? Implémenter cette technique.

4. Comparer les résultats obtenus avec ceux de la méthode de Monte-Carlo “naïve” (càd.en échantillonnant selon P ).

EXERCICE 26 — Option d’échangeLe but de cet exercice est de valoriser une option d’échange européenne par la méthode de

Monte-Carlo. On considère deux actifs financiers appelés respectivement A et B, et on noteAt le cours de l’actif A au temps t (compté en années), resp. Bt le cours de B.

On suppose que le couple (At, Bt) évolue selon l’équation différentielle stochastique sui-vante :

dAt = At ×(σA1dW

(1)t + σA2dW

(2)t + τ / (1 +At / A

∗)× dW (3)t + βAdt

);

dBt = Bt ×(σB1dW

(1)t + σB2dW

(2)t + βBdt

),

avec(σA1 σB1

σA2 σB2

)=

(0,10 0,100,10 −0,05

)an−1/2,

(βAβB

)=

(0,060,04

)an−1,

τ = 0,20 an−1/2, A∗ = 100 €,

où (W(1)t )t, (W

(2)t )t, (W

(3)t )t désignent trois mouvements browniens standard indépendants.

On a en outre les conditions initiales A0 = 100 €, B0 = 120 €.

1. Écrire un programme qui simule l’évolution des cours des actifs A et B sur une duréede 2 an par la méthode d’Euler stochastique. (On prendra un pas de temps égal à la demi-journée, càd. 730 pas de temps par an).

Page 25: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

2. (H) Justifier que sous la mesure de probabilité risque-neutre, (At, Bt) évolue selonl’équation différentielle stochastique suivante :

dAt = At ×(σA1dW

(1)t + σA2dW

(2)t + τ / (1 +At / A

∗)× dW (3)t + rdt

);

dBt = Bt ×(σB1dW

(1)t + σB2dW

(2)t + rdt

),

où (W(1)t )t, (W

(2)t )t, (W

(3)t )t désignent trois (autres) mouvements browniens standard indé-

pendants, et où r désigne le taux d’intérêt sans risque, ici supposé constant égal à 0,02 an−1.

On considère maintenant une option dont la possession confère le droit suivant : àl’échéance T = 2 an, le détenteur peut s’il le souhaite acquérir une unité de l’actif A enpayant en échange une unité de l’actif B. La question qui va nous intéresser dans cet exer-cice est de savoir quel juste prix attribuer à cette option.

3. Justifier que, au temps T (ou, si vous préférez, juste avant le temps T ), le juste prixde l’option est (AT −BT )+.

4. Estimer l’espérance de (AT − BT )+ sous la mesure de probabilité risque-neutre. (Onpourra par curiosité comparer avec la valeur de cette espérance sous la vraie mesure deprobabilité...). En déduire le juste prix de l’option (au temps initial).

EXERCICE 26bis — Processus de naissance & mortSur une petite île de l’Océan Pacifique vit une espèce de suidés endémique : le jambonnax

grouikans. Suite à la découverte de l’île par l’homme, l’écosystème de l’île a été modifiépar l’introduction involontaire d’espèces allogènes, de sorte que les écologistes s’alarmentaujourd’hui d’un risque de disparition de l’espèce. Mais à quel point l’espèce est-elle réellementen danger ? Pour tenter répondre à cette question, les biologistes ont mis au point un modèlesimple que nous allons étudier.

Dans ce modèle, le nombre de femelles jambonnax grouikans à l’instant t est noté Xt,et le nombre de mâles par Yt. Le couple (Xt, Yt) ne peut évoluer que par sauts de (±1, 0) ou(0,±1), c’est-à-dire que les naissances et morts d’individus ne peuvent avoir lieu qu’indivi-duellement, et jamais simultanément. En outre, on modélise l’évolution du couple (Xt, Yt)par un processus markovien[5]. La natalité de l’espèce est telle que de nouveaux individusnaissent au taux minαXXt, αY Yt, pour certains paramètres αX et αY ; en outre, chaquenaissance donne lieu indépendamment à un mâle ou une femelle avec probabilité 1/2. Le tauxde mortalité pour chaque individu, quant à lui, est de β0 +(Xt+Yt)β1 chez les femelles, resp.de β0 + (Xt + Yt)β1 + (Yt − 1)βY chez les mâles. On donne αX = 0,5 an−1, αY = 1 an−1,β0 = 0,1 an−1, β1 = 5 · 10−3 an−1, βY = 5 · 10−3 an−1. En outre, un recensement de lapopulation a montré qu’à la date actuelle (t = 2016 an), il y avait 40 femelles et 30 mâles.

1. Écrire une fonction simulation qui simule l’évolution, à partir d’aujourd’hui, dunombre de mâles et de femelles de l’espèce. Cette fonction prendra en argument le nombred’années sur lequel doit s’effectuer la simulation, et affichera un graphique (elle ne renverrarien) portant, en abscisse, la date (exprimée en années), et en ordonnées, le nombre d’indi-vidus. Trois courbes seront tracées, avec la même échelle : nombre de femelles (en magenta),nombre de mâles (en cyan), en nombre total d’individus (en noir).

[5]C’est une simplification assez grossière, car cela signifie qu’on ne tient pas compte de l’âge des sui-dés : ils sont sexuellement matures dès la naissance, ne peuvent pas mourir de vieillesse, et la grosses estinstantanée. . . !

Page 26: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

2. Écrire une fonction proba_ES prenant en arguments (dans cet ordre) le nombre actuelde femelles et de mâles, une échelle de temps T considérée et un nombre de simulations Nsim,qui utilise la méthode de Monte-Carlo avec Nsim simulations pour calculer et afficher (ellene renverra rien) les probabilités respectives que l’espèce s’éteigne ou survive à échelle de Tannées (en précisant les marges d’erreur à 5 %).

3. (H) Considérons la loi d’échantillonnage préférentiel où la population évolue selon lamême dynamique, à ceci près que β0 a été remplacé par une autre valeur β′0. Calculer ladensité relative entre la vraie loi et la loi d’échantillonnage préférentiel.Indication : Une façon de procéder qui s’avère plus pratique pour les calculs est de voir le processuscomme une chaine de Markov, en considérant des instants de temps espacés infinitésimalement.

4. Écrire une fonction proba_ES_pref prenant, outre les arguments T et Nsim, le para-mètre β′0 à utiliser pour la loi d’échantillonnage préférentiel, dans laquelle on estime le tauxde survie pour l’espèce en utilisant la méthode d’échantillonnage préférentiel.

5. Tester la fonction proba_ES_pref avec une population initiale de 2 individus de chaquesexe, sur une échelle de temps de 10 ans, en prenant β′0 = 0,15. Que remarque-t-on quant auxintervalles de confiance respectifs de la probabilité d’extinction et de survie ? Commenter.

Page 27: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Problèmes de synthèse

EXERCICE 27 — Mouvement brownien fractionnaireOn définit le mouvement brownien fractionnaire de paramètre 7/8 comme un processus

gaussien centré (Ht)t>0 à valeurs réelles tel que, pour tous 0 6 s 6 t, (Ht − Hs) ait pourécart-type (t− s)7/8. On admettra qu’un tel processus existe avec des trajectoires continues.

1. Montrer que pour tous t1, t2 ∈ R+,

Cov(Ht1 , Ht2) = 12

(t7/41 + t

7/42 − |t2 − t1|7/4

).

2. Simuler ce mouvement brownien fractionnaire (en le plottant) sur l’intervalle [0, 1] parla méthode de Cholesky. Le code-source sera une fonction Matlab appelée MBf, prenanten argument le nombre points retenus pour la discrétisation, ceux-ci étant régulièrementespacés. Lancer cette simulation pour un nombre de points au moins égal à 1 024, et faireune copie d’écran du diagramme obtenu (au format .png de préférence), la figure étantaffichée en grande fenêtre.

3. Le mouvement brownien fractionnaire n’est pas un processus markovien. Sauriez-vousexpliquer pourquoi (sans faire une preuve formelle), rien qu’en regardant l’allure de la courbeobtenue ?Indication : Il pourra éventuellement être utile de zoomer sur le diagramme.

4. On définit la variable aléatoire X = supt∈[0,1] |Ht|. En admettant que 1024 pointsde simulation constituent une approximation suffisante pour la question qui nous intéresse,évaluer E(X) par la méthode de Monte-Carlo. Le programme s’appellera supMBf_a, prendracomme seul argument le nombre de simulations demandé, et reverra un intervalle de confianceà 2 sigmas pour E(X).

5. Calculer exactement E(|H1|).

6. En utilisant |H1| comme variable de contrôle, améliorer la méthode de Monte-Carloprécédente. Le programme s’appellera supMBf_b.

7. Modifier les fonctions supMBf_a et supMBf_b pour que, au cours de leur exécution,elles affichent aussi leur efficacité (inutile de changer les noms des fonctions). Comparer lesefficacités et commenter.

EXERCICE 28 — Comment brille le Soleil ?La question qui nous intéresse dans ce problème est de savoir combien de lumière la

surface du Soleil émet en fonction de la direction. Pour ce faire, on considère une petiteportion du Soleil proche de sa surface ; à cette échelle, on peut considérer que le Soleil occupele demi-espace z < 0 de notre espace euclidien tridimensionnel usuel (x, y, z) ∈ R3.

Un modèle[1] pour l’émission de la lumière par le Soleil est le suivant :[1]Ce modèle est assez simpliste, mais qualitativement correct.

Page 28: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

1. Un photon[2] est créé loin de la surface du Soleil. Il part alors en ligne droite dans unedirection aléatoire uniformément distribuée.

2. Au bout d’une distance aléatoire dont la loi est exponentielle, si le photon est encore àl’intérieur du Soleil, il est absorbé par le plasma dont le Soleil est constitué, puis réémisde l’endroit même où il a été absorbé, mais dans un nouvelle direction indépendante desa direction incidente, laquelle est à nouveau uniformément distribuée. On répète cetteétape jusqu’à ce qu’éventuellement le photon traverse la surface du Soleil.

3. Une fois que le photon est sorti du Soleil, il continue sa course en ligne droite dans levide indéfiniment.

Dans un premier temps, notre objectif est de simuler l’émission des photons par le Soleil.L’échelle des distances est supposée prise de sorte que la loi exponentielle qui intervient dansle modèle est de paramètre 1. On supposera pour simplifier (car cela ne change guère lesrésultats) que tous les photons sont émis depuis le point (0, 0,−8).

1. Comment simuler une direction uniforme de l’espace, c’est-à-dire un point uniformé-ment distribué sur la sphère unité ?Indication : On pourra se rappeler qu’une certaine loi gaussienne est invariante par rotation...

2. Écrire une fonction Matlab qui simule l’émission de N photons par le Soleil (ontestera la fonction pour une dizaine de N tout au plus). Cette fonction prendra N en argu-ment, dessinera un plot tridimensionnel de la trajectoire des N photons (on fera égalementapparaître sur le graphique la surface du Soleil, et on dessinera la longueur de trajectoire desphotons une fois sortis du Soleil sur 32 unités de longueur), d’autre part les angles (exprimésen degrés) que font les photons par rapport à la surface au moment où ils émergent. Si,au bout de 3 000 simulations, un des photons simulés n’est toujours pas sorti du Soleil, ons’autorisera à laisser tomber la trajectoire de celui-ci et à tirer à la place un nouveau photondepuis le point de départ.Indication : La fonction plot3 permet de tracer des courbes tridimensionnelles linéaires par mor-ceaux : vous obtiendrez l’aide en ligne sur cette fonction par la commande doc plot3.Indication : La commande hold on permet de tracer plusieurs plots sur la même figure.Indication : En ce qui concerne le tracé de la surface du Soleil, recopiez simplement le code suivant :

Xsurface = (-32:2:32)'*ones(1,33);Ysurface = ones(33,1)*(-32:2:32);Zsurface = zeros(33);mesh(Xsurface,Ysurface,Zsurface);

3. Écrire une fonction Matlab qui utilise la méthode de Monte-Carlo pour évaluer laproportion de photons qui sortent avec un angle d’émergence compris entre 0° et 5° parrapport à la surface, entre 5° et 10°, ..., et entre 85° et 90°.

On imagine maintenant que trois physiciens tentent de calculer théoriquement les propor-tions que nous venons de simuler. À cause de diverses fautes de calcul, ils sont arrivés à troisconclusions différentes... Ainsi, selon le premier physicien, la probabilité qu’un rayon sortedu Soleil avec l’angle θ est proportionnelle à sin θ dθ ; selon la seconde, elle est proportionnelleà sin(2θ) dθ ; et selon la troisième, à sin θ sin(2θ) dθ.

4. Au vu des simulations effectuées, qui a raison ?[2]C’est-à-dire un « grain » de lumière

Page 29: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

5. Comment feriez-vous pour donner un sens quantifiable à la façon dont l’expériencenumérique confirme ou infirme le calcul de tel ou tel physicien ? Développez.

EXERCICE 29 — DudoLe but de cet exercice est de répondre à la question : « Quand on lance 25 dés, quelle

est la probabilité, notée p, qu’un des chiffres au moins apparaisse 7 fois ou plus ? ».[3] (Pourceux qui ne souhaitent pas utiliser de paramètres explicites dans leurs formules, je suggèrede noter 25 =: Z le nombre de dés, 6 =: F le nombre de faces d’un dé, et 7 =: D le nombrede dés identiques qui intervient dans la définition de p).

1. Écrire une fonction appelée simulation qui simule le lancer de 25 dés, et renvoie 1 sil’un des chiffres apparait 7 fois ou plus, et 0 sinon.Indication : Ceux qui travaillent sous Matlab pourront regarder avec profit la documentation descommandes suivantes : eq, max, randi, sum.

2. À l’aide de la fonction simulation écrite à la question précédente, écrire un programmeappelé MC_p pour évaluer la probabilité recherchée à l’aide de la méthode de Monte-Carlo,en précisant l’intervalle de confiance.

Dans la suite du problème, on appelle chiffre record le chiffre qui apparait en plus grandnombre au tirage des 25 dés, avec la règle suivante : quand le plus grand nombre d’occurrencesest partagé par plusieurs chiffres, on tire au hasard uniformément parmi ces chiffres l’un d’euxqui sera décrété être le chiffre record. On note q la probabilité de l’évènement « Le chiffrerecord est ‘1’, et celui-ci apparait au moins 7 fois ».

3. Exprimer p en fonction de q, en justifiant le résultat. Si l’intervalle de confiance pourq (à une certaine précision) est q± r, quel est l’intervalle de confiance correspondant pour pà la même précision ?

Dans la suite du problème, nous n’allons pas chercher à évaluer directement p, mais plutôtq, étant donné que d’après la question précédente cela donne du même coup un estimateurpour p.

4. Écrire une méthode de Monte-Carlo “naïve” pour évaluer q. (le programme sera appeléPb1_MC_q).

5. (H) À quelle technique de réduction de variance présentée dans le cours vous faitpenser le lien entre p et q ? Pourquoi l’idée d’évaluer q plutôt que p est-elle à priori tout-à-fait stupide ? À votre avis, pourquoi avons-nous retenu cette idée malgré tout ?

Pour un lancer des 25 dés, on note A le nombre de ‘1’ qui apparaissent.

6. Calculer exactement E(A), E(A2), et [facultatif] E(A3).

7. (H) Écrire une méthode de Monte-Carlo utilisant les variables de contrôle A et A2 (etéventuellement A3) pour évaluer q. (le programme sera appelé Pb1_MC_q_ctrl).

On définit maintenant la probabilité Q d’un tirage de 25 dés où les dés sont pipés : pourchaque dé, le chiffre ‘1’ a 25 % de chances de sortir, tandis que les autres chiffres n’ont que15 % de chances chacun. (Ceux qui ne souhaitent pas écrire les paramètres pourront poser0,15 =: (1− ε)/6, resp. 0,25 =: (1 + 5ε)/6).

[3]La motivation pour calculer p est librement inspirée d’un jeu de dés chilien appelé dudo — mais il estinutile de connaitre ce jeu pour aborder le problème.

Page 30: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

8. Pour un tirage ω = (ω1, . . . , ω25) des dés (les ωi étant les chiffres affichés par lesdifférents dés), exprimer la densité relative

(dP/dQ

)(ω) — où P désigne la loi du tirage de

dés non pipés.

9. En déduire une technique d’échantillonnage préférentiel pour évaluer q, et l’implémen-ter. (le programme sera appelé Pb1_MC_q_pref).

EXERCICE 30 — Croissance de fissuresUn ingénieur s’intéresse au risque d’éclatement d’un tube de générateur de vapeur dans

une centrale nucléaire. Nous faisons ici la modélisation grossière suivante : il y a dans letube une unique fissure dont la taille initiale est nulle ; et au cours du fonctionnement dugénérateur de vapeur, la fissure croît selon le processus markovien suivant :

• La longueur de la fissure croît par des sauts brutaux, entre lesquels elle reste constante ;

• Les sauts se produisent de façon poissonnienne, c’est-à-dire qu’à tout instant, indépen-damment du passé, il y a la même probabilité qu’un saut se produise, avec un taux de4,5 · 10−4 par heure de fonctionnement (taux noté τ) que ce saut se produise ;

• Quand un saut se produit, l’amplitude de ce saut (c’est-à-dire l’accroissement de lalongueur de la fissure) suit une loi exponentielle de longueur catactéristique 0,4 mm =:

λ, c’est-à-dire que la loi de ce saut X est telle que P(X > x) = e−x/λ.

Un tube est destiné à être utilisé pendant un cycle de fonctionnement de durée 10 000 h =:

T , et éclate si la longueur de la fissure dépasse 10 mm =: L∗. On cherche à évaluer laprobabilité p qu’un tube éclate avant la fin du cycle.

1. Écrire une fonction (qu’on appellera Pb2_evolution) qui simule l’évolution de lalongueur `(t) de la fissure au cours du temps sur la durée T , plotte la courbe correspondante,et renvoie la longueur finale de la fissure (éventuellement supérieure à L∗, auquel cas le tubeaura en réalité éclaté avant).Indication : On pourra utiliser la fonction stairs de Matlab pour plotter une fonction évoluantpar sauts.

2. Pourquoi sera-t-il pratiquement indispensable d’utiliser une technique de réduction devariance pour ce problème ?

3. Quelle est la loi du nombre de fois que la fissure s’allonge au cours du cycle defonctionnement ? Coder une fonction appelée probanbsauts qui calcule exactement, pourn > 1, la probabilité que la fissure subisse au moins n allongements au cours du cycle.Indication : Histoire que cette question ne risque pas de faire “barrage”, je précise que la loi dunombre de fois que la fissure s’allonge appartient à une famille de lois classiques, ce qui vous devraitvous permettre de l’identifier facilement même si vous ne parvenez pas à le justifier.

4. Supposons qu’on simule l’allongement final de la fissure ainsi : d’abord, on simule laliste (infinie) δ1, δ2, . . . des longueurs des allongements successifs de la fissure — sachant quetous ces accroissements n’auront pas forcément lieu effectivement — ; et ensuite, on simulele nombre d’allongements qui se sont produits au cours du cycle de fonctionnement pour endéduire la longueur totale atteinte. Conditionnellement à la première partie de la simulation,quelle est la probabilité que le tube éclate ?

5. En déduire une technique de conditionnement pour évaluer la probabilité d’éclatementd’un tube, et implémenter celle-ci (le programme s’appellera MC_cond). Pourquoi n’est-ce en

Page 31: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

fait pas un problème que, dans la première partie de simulation, on doive théoriquementsimuler une suite infinie de valeurs (ce qui serait évidemment impossible) ? [Facultatif] Àquelle technique de réduction de variance peut se rattacher l’argument qui dit qu’on n’a enfait pas à simuler une suite infinie de valeurs ?Indication : Dans la mesure où la fonction pbanbsauts sera appelée très régulièrement par le pro-gramme MC_cond, on pourra gagner un temps considérable en tabulant à l’avance les valeurs deretour les plus fréquentes de pbanbsauts.

Un industriel propose à EDF d’utiliser un acier plus cher mais un peu plus résistantpour fabriquer les tubes, acier pour lequel le taux des sauts est de τ ′ = 4 · 10−4 par heurede fonctionnement, avec une longueur caractéristique λ′ = 0,38 mm pour les sauts (toujourssupposés exponentiels). Les tubes éclatent toujours pour une longueur de fissure de 10 mm.EDF cherche à savoir si ce nouvel acier vaut le coup en évaluant avec précision la diminutionde probabilité d’éclatement qu’il induit.

6. Toujours en utilisant la technique de conditionnement de la question précédente, uti-liser la méthode des simulations communes pour évaluer la différence entre les probabilitésd’éclatement selon qu’on utilise le premier ou le second acier (le programme s’appelleraMC_cond_CRN).

EXERCICE 31 — Provision du casinoCe problème concerne un casino qui se demande quel montant il doit provisionner dans

ses coffres pour une soirée. On modélise ainsi le déroulement d’une soirée dans le casino : audébut de la soirée, le casino a préparé dans ses coffres un certain montant en euros, appeléprovision. Au cours de la soirée, de nombreuses parties de jeux de hasard sont jouées. Onsupposera ici que le seul jeu de ce casino est la roulette : dans une partie de roulette, lejoueur mise une certaine somme d’argent et parie sur un numéro ; avec une chance sur 37,le numéro parié par le joueur sort et celui-ci récupère alors 36 fois sa mise ; dans le cascontraire, le casino garde le mise du joueur et ne lui rend rien. (C’est le déséquilibre entrele nombre 37 de paris possibles et le facteur 36 du gain qui permet au casino de faire unbénéfice sur le long terme).

On suppose pour simplifier que les parties sont jouées de façon poissonnienne, autrementdit qu’à un instant donné le fait qu’une partie soit jouée ou pas (ainsi que le montant miséet le résultat de la partie) est totalement indépendant de ce qui se passe aux autres instants.Nous supposerons qu’il se joue en moyenne 10 parties par minute au cours de la soirée, lasoirée durant 8 heures. Lorsqu’une partie est jouée, dans 50 % des cas la mise est de 5 €,qui correspond à la mise minimale autorisée ; dans 5 % des cas la mise est de 100 €, quicorrespond à la mise maximale autorisée ; et dans les 45 % de cas restants, le montant misém (exprimé en euros) suit une loi telle que logm soit uniforme sur l’intervalle [log 5, log 100].Indication : Il pourra être judicieux d’introduire des notations littérales pour manipuler plus aisémentles différentes quantités numériques introduites dans l’énoncé. Je propose que la probabilité de gainà la roulette soit notée pgain ; que le facteur de gain en cas de succès (càd. le ratio entre le montantrécupéré et le montant misé) soit noté fgain ; que le nombre moyen de parties par unité de tempssoit noté lambda ; que la durée totale de la soirée soit notée Tsoiree ; et que les montants minimal etmaximal pour une mise soient notés respectivement misemin et misemax et que les probabilités qu’unjoueur joue chacune de ces mises soient notées respectivement pmmin et pmmax. Je suggère égalementque les unités de base choisies soient l’euro pour les sommes d’argent, et la minute pour les durées.

1. Écrire une fonction mise qui simule la loi de la mise d’un joueur. Cette fonction neprendra aucun argument et renverra la somme misée.

Page 32: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

2. Écrire une fonction partie qui simule le déroulement d’une partie d’un joueur (la miseétant choisie aléatoirement comme précisé dans l’énoncé). Cette fonction ne prendra aucunargument et renverra le gain net de la partie pour le casino.

3. Écrire une fonction attente qui simule le temps qu’il faut attendre à un instant donnéavant qu’un joueur ne joue une partie. La fonction ne prendra aucun argument et renverrale temps attendu.

4. Écrire une fonction soiree qui simule l’évolution de la réserve disponible dans lescoffres du casino au cours d’une soirée, sans se soucier de la contrainte physique qui faitqu’en pratique, la réserve est obligée de rester positive. Cette fonction prendra en argumentla provision initialement constituée par le casino et affichera une visualisation graphique del’évolution de la réserve au cours du temps, sans retourner de valeur.

Le casino s’intéresse à la probabilité qu’un joueur fasse “sauter la banque” : on dit que labanque saute lorsque, à un instant donné, le casino se retrouve engagé à verser à un joueurune quantité d’argent dont il ne dispose pas dans ses coffres.

5. Par rapport à la simulation de la question précédente, à quoi correspond le fait que labanque saute au cours de la soirée ?

6. Écrire une fonction sautage qui simule l’évolution d’une soirée et nous dit si la banquea sauté. Cette fonction prendra en argument la provision initialement constituée par le casino,et renverra 1 si la banque saute et 0 sinon (vous pouvez aussi utiliser des booléens).

7. Écrire un programme psautage pour estimer par la méthode de Monte-Carlo la pro-babilité que la banque saute. Ce programme prendra en argument la provision initialementconstituée par le casino et affichera la probabilité estimée que la banque saute, assortie d’unintervalle de confiance à 90 %, sans retourner de valeur.

8. Justifier que la probabilité (exacte) que la banque saute est une fonction décroissantede la provision initialement constituée par le casino.

En réalité, ce qui préoccupe la casino n’est pas uniquement le risque que la banque saute.Un autre risque est celui de braquage... Or, en cas de braquage, si les voleurs parviennent àvider la caisse, le préjudice subi par le casino sera évidemment d’autant plus sévère que laprovision était élevée : il n’est donc pas forcément judicieux de constituer une provision tropimportante ! Le casino estime qu’un sautage de la banque lui coute en pratique 100 000 € (àcause de la perte de réputation que cela entraine) ; quant au risque de braquage, il est estiméà une malchance sur 10 000 par soirée, et le cas échéant on suppose pour simplifier que lemontant perdu correspond exactement à celui de la provision. Ce que la banque cherche àminimiser en réalité, c’est l’espérance du préjudice total subi.Indication : Je suggère d’appeler csautage le cout d’un sautage de la banque, et pbraquage la pro-babilité de braquage pour une soirée.

9. Écrire un programme Eprejudice estimant l’espérance du préjudice subi (par soirée),avec un intervalle de confiance à 90 %. Ce programme prendra en argument la provisioninitialement constituée par le casino, et affichera l’estimation de l’espérance du préjudicesubi, assortie d’un intervalle de confiance à 90 %, sans retourner de valeur.

10. Notre casino hésite entre deux montants possibles pour provisionner ses coffres, maiscompte tenu de la puissance de calcul dont il dispose, le programme Eprejudice ne lui per-met pas d’avoir des résultats suffisamment fins pour trancher sur l’identité de la meilleureoption... Quelle technique de réduction de la variance peut-il utiliser pour pallier ce souci ?

Page 33: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Implémenter cette technique dans un programme appelé comparaison, qui prendra en argu-ments les deux montants de provisions envisagés, et qui répondra si on peut affirmer que lepremier montant est le meilleur choix au risque de 10 %, si on peut affirmer que le secondmontant est le meilleur choix au risque de 10 %, ou si on ne peut pas trancher au niveau derisque considéré (la fonction ne retournera par ailleurs aucune valeur).

Pour rendre les calculs plus rapides, on peut envisager de modéliser certains aspects duprocessus de l’évolution de la réserve (Rt)t∈[0,Tsoiree] par une équation différentielle stochas-tique. Par exemple, on pourrait souhaiter approximer la contribution des petites parties (par-ties dont les mises sont de montant misemin) sous la forme d’un incrément de mouvementbrownien avec dérive, de sorte que

dRt ' adWt + bdt+ (contribution des moyennes et grosses mises). (2)

11. Pourquoi l’équation (2) est-elle une approximation raisonnable pour la contributiondes petites parties ?

12. Calculer théoriquement les valeurs de a et b adaptées à l’approximation de la contri-bution des moyennes et grosses mises.Indication : Les valeurs de a et b doivent être choisies de sorte que le mouvement brownien avecdérive ait la même moyenne et la même variance que le véritable processus ; il faut donc calculer lamoyenne et la variance de la contribution des petites mises pour déterminer a et b.

EXERCICE 32 — L’or de la rivièreUne compagnie minière s’intéresse à l’achat d’une vallée dans une région réputée pour

ses cours d’eau aurifères, afin de prospecter de l’or dans la rivière qui y coule. On modéliserale cours de la rivière par le segment [0, L], où L est la longueur de la vallée (L = 50 km).Les ingénieurs géologues ont établi que dans cette région, quand on parcourt un segment, leprofil de la densité d’or le long de ce segment (en masse d’or par unité de longueur) peut êtremodélisée de la façon suivante :

• L’or est présent sous la forme de “gisements” indépendants, dont les contributions sesuperposent les unes aux autres. (Un même point peut très bien appartenir à plusieursgisements différents).

• Chaque gisement G est caractérisé par l’emplacement de son centre (zG), la quantitéd’or qu’il contient (qG) et l’étalement spatial du gisement autour de son centre (rG).La contribution du gisement au profil de densité d’or le long de la rivière est

dG(x) =(αG − βG(x− zG)2

)+,

où dG(x) désigne la densité d’or en x qui est due au gisement G, et où « ···+ » estl’opération “partie positive” (càd. a+ := max(a, 0)). Les paramètres αG et βG sontreliés à qG et rG de sorte que ∫

RdG(x) dx = qG

etsupp dG = [zG − rG, zG + rG],

où ‘supp’ désigne le support d’une fonction (càd. [l’adhérence topologique de] l’ensembledes points où cette fonction est non nulle).

Page 34: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

• À chaque point x, la probabilité qu’il y ait un gisement d’or centré sur ce point estindépendante, égale à λdx, où λ est un certain paramètre du modèle (λ = 0,04 km−1).En d’autres termes, l’ensemble des centres de gisements d’or est un processus ponctuelde poisson sur R, d’intensité λ.

• Pour un gisement d’or donné, la loi des paramètres qG et rG, qui est la même indé-pendamment d’un gisement à l’autre, est telle que

dP(qG = q, rG = r

)= Z1r<R

exp(−q / κ(R− r)

)R− r

dqdr, (3)

où R et κ sont des paramètres du modèle (R = 25 km, κ = 1 t · km−1) (‘t’ est lesymbole de la tonne), et où Z est la constante de renormalisation qui assure qu’on aitbien une densité de probabilité.

Indication : Dans tout ce problème, je suggère de prendre comme unités de base respectivement lekilomètre pour les distances et la tonne pour les quantités d’or.

1. Écrire une fonction qetr qui simule la loi décrite par (3). Ce programme ne prendraaucun argument et renverra les valeurs de q et r pour le gisement.Indication : Pour arriver à simuler cette loi, la meilleure méthode en l’occurrence consiste à d’aborddéterminer la loi (marginale) de r, puis la loi conditionnelle de q sachant la valeur de r, de façonqu’on simulera d’abord r, puis q.Indication : Si vous ne parvenez pas à résoudre cette question, pour la suite du problème, je voussuggère de prendre q et r indépendants, avec q uniforme sur [0, κ] et r uniforme sur [0, R].

2. Déterminer α et β en fonction de q et r (j’enlève ici les indices ‘···G’), et écrire unefonction alphabeta qui prend en argument q et r et renvoie α et β.

3. Écrire une fonction gisement qui prend en argument les paramètres (qG, rG, zG) d’ungisement, et renvoie le profil de densité dû à ce gisement sur le cours d’eau de la rivière. Ceprofil sera renvoyé sous la forme de deux vecteurs-lignes de même longueur : le vecteur desdensités sur différents points de discrétisation de [0, L] (on prendra un pas de discrétisationde 50 m au plus), et le vecteur des abscisses correspondantes.

On note d(x) la densité d’or en un point x de la rivière, qui est la somme des contributionsdG(x) des différents gisements.

4. Écrire une fonction profil qui simule le profil (d(x))x∈[0,L] de densité de l’or sur lecours de la rivière et qui trace celui-ci. La fonction ne prendra pas d’argument et ne renverrarien.Indication : Attention, il peut y avoir un effet de certains gisements dont le centre n’est pas surle cours d’eau de la rivière, mais avant ou après celui-ci ! On remarquera toutefois qu’on disposed’une borne à priori sur les valeurs possibles de r (laquelle ?), ce qui nous permet de déterminerun segment sur lequel il suffit de regarder les centres de gisements à prendre en compte qui sontsusceptibles d’avoir un impact sur le cours d’eau.

5. Le processus (d(x))x∈[0,L] est-il markovien ? Justifier.

6. Justifier que le processus (d(x))x∈[0,L] est stationnaire, càd. que la loi de (la restrictionde) le profil d sur un segment [a0, a1] est indentique à sa loi sur le segment [a0 + b, a1 + b]pour tous a0, a1, b (sous réserve que ces segments soient contenus dans [0, L], s’entend).

Pour savoir si la vallée vaut le coup d’être achetée, la compagnie procède à un sondage endeux points de la rivière d’abscisses x1 = 15 km et x2 = 35 km, qui lui permet d’y déterminer

Page 35: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

les valeurs de la densité d. On note δ :=(d(x1)+ d(x2)

)/2. On note par ailleurs q la quantité

totale d’or dans le lit de la rivière.

7. Écrire une fonction deltaqbarre qui ne prend aucun argument et, après simulationd’un profil d, renvoie les valeurs de δ et q associées.

8. Quelle est l’espérance de δ conditionnellement à la valeur de q ? Justifier. En déduireun estimateur sans biais de q en fonction de δ.Indication : Il y a un argument qui permet de trouver l’espérance conditionnelle de δ sachant q sansavoir à faire de calculs compliqués...

9. L’ingénieur mathématicien de la compagnie suggère à celle-ci de calculer la régressionlinéaire entre q et δ, afin d’avoir une idée de ce que vaut l’espérance de q conditionnellementà δ. Autrement dit, on cherche une approximation de E(q|δ) sous la forme

E(q|δ) ≈ Aδ +B.

Comment l’estimateur des moindres carrés dit-il qu’il faut estimer A et B dans un tel cas ?

10. La question précédente nous amène à devoir estimer certaines espérances, disons lesespérances de quantités que nous désignerons par f1, f2, . . . , fk. Implémenter une méthode deMonte-Carlo pour estimer ces espérances (en précisant un intervalle de confiance). Atten-tion, pour cette question je vous demanderai de ne pas travailler sous la loi P, maissous la loi P(···|E), où E est l’évènement δ ∈ [δ−, δ+]. (δ− = 4 t ·km−1, δ+ = 8 t ·km−1).Indication : Pour simuler la loi P(···|E), on procèdera simplement par rejet à partir de P.Indication : À défaut d’avoir trouvé la réponse à la question précédente, vous pouvez prendre k = 1et f1 = qδ.

11. Implémenter une méthode d’échantillonnage préférentiel pour estimer P(E) etE(f11E) (E étant l’évènement défini à la question précédente), où la loi d’échantillonnagediffère de la loi vraie par sa valeur de γ (on pourra par exemple multiplier γ par deux).Commenter les résultats obtenus.

12. On observe le paradoxe suivant : pour les grandes valeurs q1 de q, notant δ1 := E(δ|q =q1), on a E(q|δ = δ1) q1 ! Commenter : En quoi est-ce paradoxal ? Comment expliquer lephénomène ? Notre compagnie doit-elle plutôt s’intéresser à trouver une estimateur sans biaisde q ou à connaitre l’espérance de q conditionnellement à δ ? Quelles seraient les conséquencespossibles d’un mauvais choix ?

13. (H) À votre avis, à la question 10, pourquoi vous ai-je demandé de travailler sous laloi P(···|E) plutôt que sous la loi P ?Indication : Il y a deux réponses possibles : l’une est une raison strictement mathématique ; l’autreconcerne les implications pratiques de se restreindre à l’évènement E pour la situation d’entrepriseprésentée par l’énoncé.

14. (H) À partir des résultats de la question 11, on peut obtenir un estimateur de E(f1|E)(lequel ?). Comment calculeriez-vous un intervalle de confiance associé à cet estimateur,aussi finement que possible ? Dans le cas où on échantillonne sous la véritable loi, votreestimateur de E(f1|E) donne-t-il (essentiellement) les mêmes résultats que l’estimateur “naïf”en échantillonnant sous P(···|E), ou perd-on quelque chose à utiliser la nouvelle méthode ?

EXERCICE 33 — C’est chaud... !

Page 36: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Dans ce problème, on étudie l’échauffement d’un circuit électrique au cours d’un certainprocessus industriel. Le risque qu’on cherche à quantifier est celui de la fonte du circuit, quiaurait des conséquences graves.

On note θt la température du circuit à l’instant t. L’évolution de θt est donnée par l’équa-tion différentielle stochastique suivante :

dθt = σdWt − λ(θt −Θt

)dt, (4)

où Wt désigne un mouvement brownien standard, λ, σ sont des paramètres du modèle (voirle tableau 1 pour les valeurs de ces paramètres), et où (Θt)t est une fonction déterministedéfinie par :

Θt := Θ∗ − α(t− T2)2/2, (5)

Θ∗, T2, α étant d’autres paramètres du modèle (voir encore tableau 1). On a en outre lacondition initiale :

θt=0 ∼ N (Θ∗ − αT 22 /2− αT2 / λ, σ

2 / 2λ). (6)

1. Si la température se mesure en K et que le temps se mesure en min, déduire deséquations (4) et (5) dans quelles unités se mesurent les paramètres Θ∗, T2, α, λ, σ ; puis vérifierl’homogénéité physique de (6).

Paramètre Valeurα 0,2∆ 5λ 0,2σ 2,2T1 25T2 30T3 35T4 60Θ∗ 1 348Θf 1 358

Table 1 – Valeurs des paramètres du problème 33

2. Simuler le processus (θt)t sur l’intervalle de temps [0, T4], par la méthode d’Eulerstochastique. (On prendra un pas de temps de 0,05). On répondra à cette question en écrivantune fonction simul_temp qui ne prendra pas d’argument et ne renverra pas de valeur, etaffichera le graphique de θ en fonction du temps, ainsi que (sur le même graphique) lacourbe constante égale à Θf (cf. tableau 1).Indication : Pour tracer deux courbes sur le même graphique, il faut écrire les commandes plotcorrespondantes entre les instructions « hold on » et « hold off ».

Le circuit fond lorsque, à un moment donné entre 0 et T4, θt dépasse Θf .

3. Écrire une fonction proba_fusion estimant, par la méthode de Monte-Carlo, la pro-babilité que le circuit fonde, assortie d’un intervalle de confiance à 95 %. Cette fonction neprendra aucun argument et ne renverra aucune valeur, se contentant d’afficher l’estimateurcalculé et sa marge d’erreur.

4. Reprendre la question précédente avec un pas de temps de 0,01 pour la simulation,et comparer les résultats obtenus (avec, disons, 500 000 simulations pour le pas de temps

Page 37: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

originel et 200 000 simulations pour le nouveau pas[4]). Vous devriez normalement observerque ces résultats ne sont pas compatibles... À quoi cela est-il dû, à votre avis ?

5. Expliquer le fonctionnement et l’intérêt du programme suivant :

function b = fusion_super ()global % La fin de cette ligne est cachee.initialiser_parameteres (); % La fonction "initialiser_parametres"

% initialise les parametres globaux.b = false;t = 0;temperature = temperature_initiale (); % La fonction "temperature initiale"

% simule la loi de la temperature% initiale.

while t < T4if temperature > Tfusion

b = true;break

endif temperature > Tfusion - 4.

pas = .01;else

pas = .05;endtemperature = temperature + % La fin de cette ligne est cacheet = t + pas;

endreturnend

On considère une nouvelle loi de probabilité P′ correpondant au même modèle que laprobabilité P qui nous intéresse, à ceci près que Θt y est remplacée par la fonction Θ ′t définiepar :

Θ ′t :=

Θt pour t /∈ [T1, T3),

Θt + ∆ pour t ∈ [T1, T3).

Nous admettons provisoirement que la loi du processus (θt)t sous P′ est alors à densité parrapport à la loi de (θt)t sous P, avec

dP′

dP= exp

(∆λ

σ2

(θT3 − θT1 + λ

∫ T3

T1

(θt −Θt −∆/2)dt))

, (7)

dont on calculera la valeur numérique par la méthode des rectangles.

6. Améliorer la fonction proba_fusion en une fonction proba_fusion_pref utilisant unetechnique d’échantillonnage préférentiel, en prenant P′ pour loi d’échantillonnage (avec unpas de temps de 0,05).

7. Que se serait-il passé si on avait pris ∆ = 20 ? Expliquer.

8. Démontrer (informellement) la formule (7).

EXERCICE 34 — Le tournoi de tennis[4]Pour un tel nombre de simulations, les calculs peuvent être très lents ; si vous ne pouvez pas monter

jusqu’à un tel niveau, expliquez alors juste comment vous effectuez votre comparaison, quitte à ce que votreconclusion s’avère différente de celle prévue par l’énoncé.

Page 38: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

16 joueurs de tennis s’affrontent dans un tournoi à élimination directe, le tableau étantcomposé aléatoirement. Ces joueurs sont numérotés de #1 à #16, #1 étant le joueur le plusfort et #16 le plus faible. Lorsque le joueur #n dispute un match, son niveau au cours de cetmatch est aléatoire (car il y a des jours avec et des jours sans), suivant la loi N (− log n; 0,5)— on décrit ici le « niveau » d’un joueur par un paramètre dans R, d’autant plus grand quele joueur joue bien — : de la sorte, le joueur le mieux classé est celui qui a le plus de chancesde gagner un match, mais le joueur le moins bien classé a ses chances quand même. Unexemple (tiré aléatoirement) de ce que peut donner un tel modèle de tournoi est donné dansl’illustration ci-dessous — je précise que dans notre modèle, le niveau d’un même joueur d’unmatch à l’autre est indépendant.

16 13 15 10 9 14 8 3 2 7 5 6 4 1 11 12

16 10 9 3 2 6 1 11

10 3 2 1

3 1

1

Figure 1 – Exemple de tournoi. Ici, il y a eu deux surprises au premier tour, où #16 a battu #13et #6 a battu #5. Hélas pour #16 et #6, leur chance a ensuite tourné au second tour, où ils n’ontpas renouvelé leur performance (cela aurait d’ailleurs été d’autant plus difficile que leurs adversairesau second tour étaient plus redoutables qu’au premier). Plus généralement, à partir du second tourla hiérarchie a toujours été respectée, et en particulier c’est logiquement #1 qui s’est imposé. Notezque les hasards du tableau ont fait que #3 est arrivé en finale sans avoir eu à affronter d’adversairemieux classé que lui, alors que #2 a été éliminé par #1 en demi-finale.

Un bookmaker souhaite établir la cote du joueur #16 pour ce tournoi (le tableau n’ayantpas encore été tiré) ; pour cela, il a besoin de déterminer la probabilité, notée p16, que cejoueur gagne.

1. Implémenter un algorithme de Monte-Carlo pour évaluer p16.Indication : Un méthode particulièrement rapide pour tirer le tableau aléatoirement est l’algorithmede Fisher-Yates, dont on trouvera la description sur Wikipédia par exemple. Toutefois dans unpremier temps je vous conseille de mettre au point vous-mêmes une méthode que vous compreniezbien, quitte à comparer ensuite avec ce qu’aurait donné Fisher-Yates.Indication : Bien entendu, dès que #16 perd un de ses matchs, on sait qu’il ne gagnera pas le tournoi,de sorte qu’il n’est pas nécessaire de simuler ce qui se passe après. Au fait, à quelle technique deréduction de la variance s’apparente cette observation ?Indication : Notez que, quitte à changer la représentation des branches du tableau, on peut toujourssupposer que #16 est le joueur situé tout à gauche du tableau.

La convergence de l’algorithme étant très lente, notre bookmaker souhaite améliorer saprécision.

2. Implémenter une technique de réduction de la variance par variables antithétiques.Évaluer le gain d’efficacité.

3. Implémenter un échantillonnage préférentiel dans lequel le joueur #16 est “survolté”et se comporte toute la semaine comme s’il avait le niveau `. (on pourra prendre ` = − log 8pour l’application). Évaluer le gain d’efficacité.

Page 39: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

4. Implémenter une technique de conditionnement où on conditionne par rapport à tousles matches dans lesquels on est sûr que #16 ne jouera pas. Pour calculer exactement laprobabilité de victoire conditionnelle de #16, on utilisera la fonction erfinv. Évaluer le gaind’efficacité.Indication : La fonction erfinv étant relativement gourmande en calcul, on s’efforcera de suivre uneméthode d’implémentation qui minimise le nombre de recours à celle-ci.

5. Implémenter une technique de stratification par rapport à l’identité du plus fort joueurdans la moitié de tableau de #16, selon qu’il s’agit de #1, #2, #3, #4 ou d’un joueur plusfaible. Évaluer le gain d’efficacité.Indication : Vous pouvez choisir, soit de stratifier “à postériori” en procédant à un échantillonnageuniforme, soit d’optimiser l’échantillonnage inter-strates. Dans ce dernier cas, vous avez besoin destratifier “à priori”, càd. de savoir tirer un tableau uniformément à l’intérieur d’une strate donnée :comment feriez-vous pour cela ?

6. Implémenter une technique de réduction de la variance par variables de contrôle enutilisant pour variables de contrôle le niveau réel auquel #16 a joué lors de chacun de sesquatre matchs (ou aurait joué s’il avait été qualifié). Évaluer le gain d’efficacité.

Page 40: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Page 41: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

EXERCICE 35 — Les aiguilles de Buffon

La formule de Buffon

L’expérience des aiguilles de Buffon est une méthode empirique de calcul de π. Dans cetteexpérience, on se situe dans une pièce dont le sol est revêtu d’un parquet avec des lattes delargeur `, et on dispose d’un grand nombre Z d’aiguilles identiques de longueur a. On lanceles aiguilles depuis une hauteur beaucoup plus grande que ` (en pratique, il suffit des les lâcherde la hauteur de son corps). Une fois que les aiguilles sont au sol, on compte le nombre depoints où une aiguille croise une séparation entre deux lattes de rangées différentes (voir lafigure 2), nombre qu’on appelle N . La formule de Buffon est alors un certain estimateur deπ en fonction de Z, N , a et `.

Pour une aiguille i, on note yi ∈ R la coordonnée ‘y’ du milieu de l’aiguille (‘y’ étant l’axeperpendiculaire aux lattes), et note yi la distance de ce point à la latte située immédiatementen dessous, de sorte que (nous prendrons ici y = 0 à une frontière entre deux lattes) yi estl’unique h ∈ [0, `) tel que yi = kh + yi avec k ∈ N. D’autre part, on note θi ∈ [0, π) l’angleformé par l’aiguille avec l’horizontale. (voir la figure 2).

#ini = 2

θi

−`

0

`

2`

3`yi

yi a

Z = 6N = 7

Figure 2 – Illustration de l’expérience de Buffon

1. À votre avis, à quoi devrait ressembler la loi de yi ? Et celle de yi ? Quelle sera selonvous la loi de θi ? Et celle du couple (yi, θi) ?

2. Appelons ni le nombre d’intersections de l’aiguille i avec les frontières entre lattes.Exprimer ni en fonction de (yi, θi).

3. Calculer théoriquement E(n) (j’entends par là la valeur commune de E(ni)).

4. Expliquer en quoi on peut voir une méthode de Monte-Carlo dans la méthode desaiguilles de Buffon : quel est la quantité ν qu’on estime, et quel est son estimateur ? Déduirede l’estimateur de ν une formule pour estimer π.

5. Calculer un intervalle de confiance (dont je vous laisse choisir le niveau) pour l’esti-mateur de ν de la question précédente. En déduire un intervalle de confiance pour π.Indication : On pourra considérer que la largeur de l’intervalle de confiance pour ν est suffisammentpetite pour qu’on puisse linéariser les changements de variables.

6. Faire l’expérience en vrai (prendre une photo). Commenter le résultat et sa précision.

Page 42: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Indication : On pourra utiliser des allumettes à la place des aiguilles.

On s’intéresse maintenant à la question de simuler l’expérience de Buffon pour en obtenirune meilleure précision. Un des problèmes qui se pose est de simuler θ, ou plus exactementle couple (cos θ, sin θ) : en effet, on ne peut pas légitimement utiliser la connaissance de lavaleur de π dans cette simulation, étant donné que notre but est précisément de calculer cettevaleur ; et on ne peut pas non plus utiliser les fonctions trigonométriques, pour la mêmeraison...

Nota : En fait, on ne connaitra jamais θ lui-même, mais seul le couple (cos θ, sin θ) nousimporte !

7. Proposer une méthode de simulation de (cos θ, sin θ) satisfaisant les contraintes ci-dessus.Indication : Si on sait simuler des variables aléatoires uniformes sur [0, 1],[5] on peut en déduire uneméthode de simulation de la loi uniforme sur le disque unité par rejet sur le carré [−1, 1]× [0, 1], puisen tirer une simulation de (cos θ, sin θ).

8. Implémenter une simulation de la méthode des aiguilles de Buffon avec un milliond’aiguilles. (On prendra des paramètres a et ` à peu près égaux à ceux de l’expériencephysique). Commenter le résultat obtenu ainsi que sa précision.

Réduction de la variance

9. On considère la loi du couple (y, θ) pour chaque aiguille. Conditionnellement à θ, quelleest la loi de y ? En déduire l’espérance conditionnelle de n sachant θ, qu’on notera n(θ).

10. Grâce à la question précédente, utiliser une technique de conditionnement pour obte-nir une nouvelle estimation de ν (et donc de π) par la méthode de Monte-Carlo. Implémentercette technique (avec les mêmes paramètres qu’à l’implémentation de la question 8). Com-menter la précision du résultat et la vitesse du calcul par rapport à la simulation de laquestion 8.

* Dans la suite du problème, on s’intéresse à des techniques de réduction de variancepour le problème d’évaluation de ν tel que posé lors de la question précédente, c’est-à-dire, onpart de la méthode dans laquelle le conditionnement est déjà utilisé. Il s’agit donc d’évaluerν à partir de simulations de (sin θ, cos θ).

11. Que valent E(sin2 θ), resp. E(sin4 θ) ?

12. Utiliser les réponses à la question précédente pour réduire la variance dans l’évaluationde ν (donc de π) à l’aide de l’utilisation des variables de contrôle sin2 θ et sin4 θ.

13. Soit θ′ la valeur qui se déduit de θ par un quart de tour, càd. θ′ = θ±π/2 où le signeest choisi de sorte que θ′ ∈ [0, π). Montrer que θ′ a la même loi que θ.

14. Expliquer grossièrement pourquoi on peut s’attendre à ce que n(θ) et n(θ′) soientnégativement corrélées. En déduire une technique de réduction de variance pour l’évalua-tion de ν à l’aide de l’utilisation de variables antithétiques. Implémenter cette méthode etcommenter.

15. Proposer une interprétation “physique” à la méthode de variables antithétiques desquestions précédentes.

[5]Les variables pseudo-aléatoires que fournissent les logiciels de calcul numérique, dans la quasi-totalitédes cas, sont produites par la méthode du générateur congruentiel linéaire, méthode qui n’a absolument pasbesoin de connaitre la valeur de π pour simuler une loi uniforme sur [0, 1] : il n’y a donc pas d’escroquerieméthodologique à ce niveau.

Page 43: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

Le double effet Kiss Cool

16. Lorsque nous utilisons la méthode de rejet pour simuler θ, quelle est la loi du nombred’essais nécessaires avant de tomber dans le disque unité ?

17. En déduire une autre méthode de Monte-Carlo pour évaluer π à partir des mêmessimulations. (On ne demande pas forcément d’implémenter la méthode dès cette question).

18. Expliquer pourquoi l’évaluation de π qu’on fait à la question 17 et celle qu’on faisaità la question 10, bien que provenant des mêmes simulations, sont indépendantes.

19. Soient deux variables aléatoires indépendantes X1 ∼ m+N (σ21) et X2 ∼ m+N (σ2

2).Pour α1, α2 ∈ R, quelle est la variance de α1X1 + α2X2 ? En déduire pour quel choix de(α1, α2) la variance de α1X1 + α2X2 est minimale sous la contrainte « α1 + α2 = 1 ».

20. En déduire, lorsque m1 et m2 sont deux estimateurs non biaisés gaussiens indépen-dants d’une même quantitém, quelle est la meilleure façon de combiner des deux estimateurspour évaluer plus finement m, et préciser que la variance du nouvel estimateur obtenu.

21. Implémenter la méthode de la question précédente pour combiner les deux estimationsde π obtenues aux questions 10 et 17 ; commenter.

EXERCICE 36 — ArbitrageL’arbitrage est une activité financière consistant à exploiter les petites incohérences du

marché boursier pour gagner de l’argent par des transactions habiles sans avoir aucuneconnaissance des mécanismes économiques sous-jacents. C’est à une telle activité d’arbitrageque s’intéresse cet exercice, quoique dans un cas grossièrement simplifié et pas forcémentréaliste.

Un cabinet d’arbitrage s’est rendu compte que la psychologie des tradeurs faisait quel’évolution du cours des actifs financiers ne suivait pas exactement une martingale[6] : ilexiste en fait un processus caché, appelé tendance, qui crée des périodes où les cours ontplutôt tendance à monter, ou plutôt tendance à descendre. Dans ce modèle simplifié, onsupposera qu’il existe un seul actif financier, dont le prix au temps t est noté At ; et la« tendance » à l’instant t est notée Tt. At et Tt suivent l’évolution couplée suivante :

dAt = (σ2AT |Tt|+ σ2

A0)1/2AtdWAt + TtAtdt,

dTt = σTdWTt − λTTtdt.

où (W Tt )t et (WA

t )t sont des mouvement brownien standard indépendants. Les paramètressont les suivants : σAT = 2, σA0 = 1,5 · 10−3 h−1/2, σT = 1,5 · 10−5 h−3/2, λT = 0,6 h−1.

La manœuvre à laquelle s’intéresse notre cabinet d’arbitrage est d’acheter un certainvolume d’actions à l’heure actuelle (t0 := 9), et de les revendre au temps τ := 171

2 h. Enmoyenne, à l’issue de cette opération, on aura donc gagné E(Aτ )− At0 par action : si cettevaleur est positive, il y a donc opportunité d’arbitrage, car en répétant le même genre demanœuvre chaque jour où l’espérance est positive, le cabinet d’arbitrage aura la certitude degagner à long terme !

[6]Pour ceux qui connaissent la théorie financière, on supposera ici qu’on travaille sous la mesure risque-neutre (ou, de manière équivalente, que les investisseurs n’ont aucune aversion au risque). En outre, onsupposera pour simplifier que le taux de rendement sans risque est nul.

Page 44: Exercices sur la méthode de Monte-Carlo - … · 2016-03-22 · On considère une loi P sous laquelle la variable Xsuit une loi Pareto(1;5), ... Cet exercice concerne un champ d’application

Exercices MCPA Rémi Peyre

1. Écrire une fonction simulation simulant l’évolution du processus couplé. Cette fonc-tion prendra en entrée les valeurs de At0 et Tt0 , et affichera l’évolution de A et T sur l’in-tervalle de temps [t0, τ ]. On écrira également une variante simulation_muette qui n’afficherien, mais renvoie le prix final Aτ de l’actif.Indication : Pour la tracé graphique, on utilisera la même échelle en abscisse pour les deux graphiques ;par contre les deux échelles en ordonnées pour A et T n’auront aucun rapport, puisque ce n’est mêmepas physiquement homogène. . . Une bonne idée pour ce faire est de tracer deux graphiques l’un sousl’autre à l’aide de la commande subplot.

2. Dans le cas Tt0 = 4 · 10−5 h−1, At0 = 100 €, estimer E(Aτ ) par la méthode deMonte-Carlo, avec 104 simulations. Qu’en pensez-vous ?. . .

3. CalculerE(∫ τ

t=0(σ2AT |Tt|+ σ2

A0)1/2dWAt

).

En déduire une variable de contrôle pertinente pour réduire la variance de l’estimation deE(Aτ ), et implémenter la méthode de Monte-Carlo améliorée correspondante.

4. En réalité, Tt0 lui-même n’est pas connu avec certitude : notre cabinet d’arbitrage estsimplement capable de le modéliser par une certaine loi normale. Disons que pour le jour quinous intéresse, Tt0 suit la loi N (m, s2), avec m = 2 · 10−5 h−1 et s = 10−5 h−1. Écrire unevariante du programme de la question précédente qui tienne compte aussi de l’incertitudesur Tt0 , et dans laquelle on introduit en prime la variable de contrôle λ−1

T At0Tt0 pour réduirela variance supplémentaire engendrée par cette nouvelle incertitude.

5. (H) Nonobstant le caractère douteux de toutes les hypothèses de modélisation effec-tuées, pourquoi la méthode d’“arbitrage” étudiée dans cet exercice (pour les paramètres del’énoncé) est-elle en fait inepte en pratique ?