© the mathworks, inc. ® ® simulations de monte carlo en utilisant matlab vincent leclercq,...
TRANSCRIPT
![Page 1: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/1.jpg)
© T
he M
athW
orks
, Inc
.
® ®
Simulations de Monte Carlo en utilisant MATLAB
Vincent Leclercq, Ingénieur d’ApplicationsEmail : [email protected]
![Page 2: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/2.jpg)
2
® ®
Agenda
Principes et cadre d’utilisation des méthodes de Monte Carlo
Utilisation des toolbox MATLAB pour réaliser des simulations de Monte Carlo
Réaliser ses propres simulations de Monte Carlo
Aperçu des méthodes de réduction de la variance
![Page 3: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/3.jpg)
3
® ®
Un exemple
Calcul de l’aire d’un lac
On tire N boulets de canon
On compte les n boulets qui ne sont pas tombés dans le lac
N- n boulets dans le lac
On a alors :
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
TerrainLacLac
Terrain AireN
nNAire
nN
N
Aire
Aire*
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
![Page 4: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/4.jpg)
4
® ®
Quelques conclusions
Importance du générateur de nombres alétaoires Mersenne Twister
Nombre de simulations
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50 60 70 80 90 1000
10
20
30
40
50
60
70
80
90
100
![Page 5: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/5.jpg)
5
® ®
Cas d’utilisations des méthodes de Monte Carlo en finance
Valorisation de produits dérivés
Calcul de risque
Titrisation
ALM Stochastique
![Page 6: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/6.jpg)
6
® ®
Avantages et inconvénients
Avantages
Domaine d'application très varié Peu d'hypothèses Facile à implémenter
Inconvénients
Importance des générateurs aléatoires Grande variabilité Temps de calcul peuvent être très importants
![Page 7: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/7.jpg)
7
® ®
Pourquoi MATLAB ?
Efficacité :
1000 000 chemins en 1 s 20 / 25 fois plus rapide que Excel
Qualité des algorithmes
Mersenne Twister Algèbre linéaire
Support d’un grand nombre de distributions (+ de 20 distributions)
Déploiement aisé
![Page 8: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/8.jpg)
8
® ®
Agenda
Principes et cadre d’utilisation des méthodes de Monte Carlo
Utilisation des toolbox MATLAB pour réaliser des simulations de Monte Carlo
Réaliser ses propres simulations de Monte Carlo
Aperçu des méthodes de réduction de la variance
![Page 9: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/9.jpg)
9
® ®
Quels outils pour les simulations de Monte Carlo ?
MATLAB : Fonctionnalités d’algèbre linéaire, factorisation de matrices
Statistics toolbox : Générateur de nombres aléatoires, copulas, …
Financial toolbox :
Fonction Portsim :” Monte Carlo simulation of correlated asset returns”
GARCH Toolbox
Fonction garchsim
![Page 10: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/10.jpg)
10
® ®
Financial toolbox : portsim
Sur un intervalle dt, les performances suivent l’équation suivante :
Attention aux paramètres d’entrée (drift et volatitlité)
Si exprimés en base annuelle -> dt en années Si exprimés en base journalière -> dt en jours
dtdtS
ds
![Page 11: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/11.jpg)
11
® ®
Démonstration 1:Mouvement brownien géométriqueLognormalité des prix d’une action
Lecture de données historiques
Estimation du drift et de la volatitlité Annuellement Quotidiennement
Simulation de 10 000 réalisations sur un an.
Comparaison des résultats
![Page 12: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/12.jpg)
12
® ®
Démonstration 2: Utilisation des simulation précédentes pour valoriser une option Vanille
Application du payoff Vanille -> Non path dependant
Calcul du prix du call pour différents strike
Calcul des intervalles de confiance
![Page 13: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/13.jpg)
13
® ®
GARCH Toolbox : garchsimvolatilité stochastique
Simulations de modèles Auto régressifs / GARCH “Perform Monte Carlo simulation of univariate returns, innovations,and
conditional volatilities”
Fitting (ajustement du modèle, fonction garchfit) et Simulation
Simulation , plusieurs possibilités :
Utilisation de données historiques (bootstrapping)
Voir Market Risk Using Bootstrapping and Filtered Historical Simulation
Utilisation de données aléatoires
![Page 14: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/14.jpg)
14
® ®
Agenda
Principes et cadre d’utilisation des méthodes de Monte Carlo
Utilisation des toolbox MATLAB pour réaliser des simulations de Monte Carlo
Réaliser ses propres simulations de Monte Carlo
Aperçu des méthodes de réduction de la variance
![Page 15: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/15.jpg)
15
® ®
Fonctions de base pour Monte Carlo
Générateur de nombres aléatoires
Rand, randn (MATLAB) -> Choix du générateur (Mersenne Twister) Random (+ de 20 distributions), copularnd -> Statistics toolbox
Fonctions d’algèbre :
Cholesky factorization cumsum
![Page 16: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/16.jpg)
16
® ®
Processus
Génération de nombres aléatoires
Directement dans la loi de distribution Par l’intermédiare d’une loi uniforme
-> Permet l’utilisation de générateurs de nombres pseudo-aléatoires
Application du modèle
Calcul de la moyenne empirique
Ce processus peut être répété (“pilot replication”), afin d’estimer les intervalles de confiance
![Page 17: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/17.jpg)
17
® ®
DémonstrationSimulateur d’actifs corrélés
Entrées :
Horizon NJours NSimulation chemins différents NActifs (2) actifs corrélés (actions), dont on possède les caractéristiques
suivantes : Volatilité Corrélations
Résultats :
Matrice de NJours* NSimulation*NActif Corrélations préservées
![Page 18: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/18.jpg)
18
® ®
Agenda
Principes et cadre d’utilisation des méthodes de Monte Carlo
Utilisation des toolbox MATLAB pour réaliser des simulations de Monte Carlo
Réaliser ses propres simulations de Monte Carlo
Aperçu des méthodes de réduction de la variance
![Page 19: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/19.jpg)
19
® ®
Réduction de la variance
Problème:
Convergence lente des méthodes de Monte Carlo
Nécessite un grand nombre de réplications
Solution :
Utilisation de méthodes de réduction de la variance
Plusieurs méthodes possibles
![Page 20: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/20.jpg)
20
® ®
Réduction de la variance : Apercu
Variables antithétiques
Simple à mettre en oeuvre et efficace Ne fonctionne pas toujours (ex : Butterfly)
Variables de contrôle
Utilisation d’une variable corrélée à celle que l ‘on souhaite estimer, dont on connait par avance les caractéristiques statistiques
Ex : Calcul du prix d’une option Vanille
on peut utiliser les formules fermées (Hulll) pour calculer la variance et l’esperance du sous jacent à la date de maturité
Il faut estimer la covariance entre notre variable de controle (le sous jacent) et la variable à estimer (prix de l’option) -> réplications
![Page 21: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/21.jpg)
21
® ®
Réduction de la variance : Apercu 2/3
Quasi Monte Carlo
Utilisation de séquences quasi aléatoires aux propriétés intéressantes
“Low-discrepancy sequences”
Sequences de Halton, séquences de Sobol, …
Accélération de la convergence
![Page 22: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/22.jpg)
22
® ®
Réduction de la variance : Apercu 3/3
Réduction de la variance par conditionnement
Principe:Var(E[X]) < Var(E[X |Y])
Exemple : As You Like It option,
A T1, choix d’exercer un put ou un call au temps T2, avec un strike fixé d’avance Au temps T1, on peut utiliser la formule de Black Scholes pour calculer les valeurs
possibles des options -> Variance réduite
D’autres techniques :
Importance sampling Stratified sampling
![Page 23: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/23.jpg)
23
® ®
DémonstrationCalcul du prix d’une option Vanille avec réduction de la Variance
Application de plusieurs techniques
Variables antithétiques
Quasi MonteCarlo (Halton / Sobol)
Variable de contrôle
Comparaison des résultats obtenus
![Page 24: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/24.jpg)
24
® ®
Conclusion
Méthode efficace et très générique
Attention aux intervalles de confiance
Les méthodes de réduction de la variance doivent être utilisées dans des cas adaptés
Exemple : option Butterfly mal adaptée pour les variables antithétiques
Sujt de recherche très actuel
![Page 25: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/25.jpg)
25
® ®
Conclusion, suite
MATLAB permet l’implémentation de simulations de Monte Carlo très rapidement
Généricité
Possibilité de passer une fonction payoff en paramètre
De nouveaux développements sont en cours sur ce sujets
Stochastic Differential Equation
![Page 26: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/26.jpg)
26
® ®
Références utilisées pour cette présentation
Paolo Brandimarte, Numerical Methods in finance and Economics, A MATLAB ®-based introduction, Second Edition
De nombreux exemples présentés sont issus de cet ouvrage
Quasi-Monte Carlo Simulation
http://www.puc-rio.br/marco.ind/quasi_mc.html
![Page 27: © The MathWorks, Inc. ® ® Simulations de Monte Carlo en utilisant MATLAB Vincent Leclercq, Ingénieur dApplications Email : vincent.leclercq@mathworks.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062404/551d9d83497959293b8bd2f5/html5/thumbnails/27.jpg)
27
® ®
Questions ?