Projet
Projet
Mémoire de Master
En vue de l’obtention du grade de
Master d’Aptitude au Professorat de l’Ecole Normale (MAPEN)
Présenté à l’ENSET
par
Mémoire de Master
En vue de l’obtention du grade de
Master d’Aptitude au Professorat de l’Ecole Normale (MAPEN)
Présenté à l’ENSET
par
– Je présente mes vifs remerciement à Docteur HDR Canisus Ulrich, Directeur de l’Ecole
Normale Supérieure pour l’Enseignement Technique qui a accepté de nous accueillir en
tant qu’étudiant dans son établissement ;
i
Résumé
i
Abstract
This thesis investigates numerical methods for solving stochastic differential equations
(SDEs) and their applications. After recalling the theoretical foundations (Brownian motion,
Itô integral, Itô formula), we present two approximation schemes : Euler-Maruyama (strong
convergence order 1/2) and Milstein (order 1). A comparative analysis of their accuracy and
stability is carried out.
The experimental part, implemented in Python, applies these methods to two classical
models : Black-Scholes (multiplicative noise) and Ornstein-Uhlenbeck (additive noise). Si-
mulations confirm the theoretical convergence orders and demonstrate the superiority of the
Milstein scheme in terms of accuracy. The stability study reveals that explicit schemes are
mean-square stable only under certain conditions on the time step.
Finally, pedagogical suggestions are proposed for teaching SDEs and their numerical
methods in higher education.
i
Cahier des charges
ii
Table des matières
Remerciements i
Résumé i
Abstract i
INTRODUCTION GÉNÉRALE 1
iii
TABLE DES MATIÈRES
CONCLUSION 58
Références bibliographiques 59
iv
Liste des tableaux
v
Liste des figures
3.1 Trajectoire d’un mouvement brownien discrétisées dans l’intervalle [0, 1] avec
N = 100 points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 Simulation de solution exacte . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3 Approximation d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4 Approximation Milstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5 Comparaison des solutions approchées avec solution exacte de pas h = 0.01, h =
0.0025, h = 0.000625 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6 Convergence forte et faible pour les méthodes d’Euler-Maruyama et de Milstein 52
3.7 Test de stabilité en moyenne quadratique et asymptotique de la méthode
explicite d’Euler-Maruyama . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8 Test de stabilité en moyenne quadratique et asymptotique de la méthode
explicite de Milstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9 Simulation de processus d’Ornstein-Uhlenbeck . . . . . . . . . . . . . . . . . 56
3.10 Convergence forte pour le processus d’Ornstein-Uhlenbeck . . . . . . . . . . 56
vi
Liste des abréviations
vii
Notations utilisées
∀ quantificateur universel
∃ quantificateur existentiel
≤ ordre large
< ordre strict
O Ordre
≈ approximation
⇔ équivalence
∈ appartenance
R Ensemble des nombres réels
F tribu
Ft Filtration
E Espérance
Lp Espace de Lebesgue
[Link] Norme dans Lp
viii
LISTE DES FIGURES
INTRODUCTION
Pour atteindre cet objectif, nous avons organisé ce travail comme suit. Le chapitre 1 fon-
dements théoriques des équations différentielles stochastiques. Le chapitre 2 approximation
numérique des EDS. Le chapitre 3 applications et implications pédagogiques. Ce travail se
termine par la conclusion.
discontinuités soudaines. Par ailleurs, des recherches récentes portent sur les méthodes de
Monte Carlo, les techniques de réduction de variance et les méthodes numériques adaptatives.
Enfin, les applications des EDS sont largement documentées dans la littérature. En fi-
nance mathématique, elles sont utilisées pour modéliser l’évolution des prix des actifs et
des taux d’intérêt. En physique, elles interviennent dans l’étude des phénomènes de diffu-
sion et de turbulence. En biologie et en ingénierie, elles permettent de décrire des systèmes
complexes soumis à des fluctuations aléatoires.
Définition 1.2.1 (Tribu) Soit Ω un ensemble non vide. Une famille F de parties de Ω est
appelée une tribu (ou σ-algèbre) si les propriétés suivantes sont vérifiées :
1. Ω ∈ F ;
2. si A ∈ F, alors son complémentaire Ac ∈ F ;
3. pour toute suite (An )n≥1 d’éléments de F, on a
∞
An ∈ F.
[
n=1
F1 = {∅, Ω} et F2 = P(Ω)
Exemple 1.2.2 Soient Ω = {1, 2, 3, 4, 5, 6} et F = P(Ω), alors (Ω, F) est un espace proba-
bilisable.
Définition 1.2.3 (Probabilité) Soit (Ω, F) un espace probabilisable. Une probabilité est
une application
P : F −→ [0, 1]
vérifiant :
1. P(Ω) = 1 ;
2. pour toute suite d’événements deux à deux disjoints (An )n≥1 ,
∞ X
∞
!
[
P An = P(An ).
n=1 n=1
(Ω, F, P),
où :
– Ω est l’univers ;
– F est une tribu sur Ω ;
– P est une probabilité définie sur (Ω, F).
Définition 1.2.5 (Variable aléatoire) Soit (Ω, F, P) un espace probabilisé. Une applica-
tion
X : Ω −→ R
est appelée variable aléatoire si elle est mesurable, c’est-à-dire si
X(ω) = ω
P(A ∩ B)
P(A|B) = .
P(B)
E[X|G],
X = (Xt )t∈T
définies sur un espace probabilisé (Ω, F, P) et indexées par un ensemble T appelé ensemble
des temps.
Remarque 1.2.2 1. T = R ou R+ le processus est indexé par le temps t est dit continu.
2. T = N le processus est dit discret.
Exemple 1.2.4 Tout suite de variable aléatoires (Xn )n ∈ N est un processus stochastique à
temps discret.
Définition 1.2.9 (Filtration) [P.B24] Une filtration est une famille croissante de sous-
tribus
(Ft )t≥0
telle que
Fs ⊆ Ft , ∀0 ≤ s ≤ t.
Définition 1.2.10 (Processus adapté) [P.B24] Un processus stochastique (Xt )t≥0 est dit
adapté à la filtration (Ft )t≥0 si, pour tout t ≥ 0, la variable aléatoire Xt est Ft -mesurable.
Pour p = ∞,
kXkL∞ = sup |X(ω)|.
ω∈Ω
Soit Lp (Ω, [0; T ]) l’ensemble des processus X adapté sur [0; T ] tels que
ZT !! 1
p
kXkLp (Ω,[0;T ]) = E | Xt | dt
p
<∞
0
1 1
Inégalité de Young : Soit a et b deux réels positifs, et p, q > 1 vérifiant : p
+ q
= 1.
Alors on a
ap bq
ab ≤ +
p q
Inégalité Hölder Soient X ∈ Lp et Y ∈ Lq avec
1 1
+ = 1.
p q
Alors : 1 1
E(|XY|) ≤ (E|X|p ) p (E|Y|q ) q .
pourvu que p1 + q1 = 1. En prenant Y = 1 on trouve kXk1 ≤ kXk2 , ce qui se généralise aussitôt
à
B0 = 0, E[Bt ] = 0, E[B2t ] = t
Le mouvement brownien est le processus fondamental utilisé dans la modélisation des phé-
nomènes aléatoires continus.
Définition 1.2.14 [A.N22] Un processus (Xt )t≥0 adapté par rapport à une filtration {Ft }t≥0
et tel que ∀t ≥ 0, Xt ∈ L1 est appelé :
1. Martingale si pour s ≤ t : E[Xt | Fs ] = Xs
2. Sur-martingale si pour s ≤ t : E[Xt | Fs ] ≤ Xs
3. Sous-martingale si pour s ≤ t : E[Xt | Fs ] ≥ Xs
1 1 1
On sait que p
+ q
= 1 alors p
= 1 − q1 , on a
1 1
(E(Yt )p ) p ≤ q(E(|Xt |p )) p
E[(Yt )p ] ≤ qp E(|Xt |p )
On remplace Yt = sups≤t Xs ,
h i
E sups≤t |Xs |p ≤ qp E[|Xt |p ]
où Bt est un mouvement Brownien. Pour cela, rappelons que lorsque nous intégrons une
fonction g régulière par rapport à une fonction dérivable f, alors
ZT ZT
g(t)df(t) = g(t)f 0 (t)dt
0 0
Dans le cas où f n’est pas dérivable, mais en supposant qu’elle est à variation bornée,
alors l’intégrale de Stieltjes, définie par
ZT X
n−1
g(t)df(t) = lim g(ti )(f(ti+1 ) − f(ti )), (1.3)
0 πn →0
i=0
où 0 = t0 < tl < ... < tn = T et πn = max0≤i≤n−1 |ti+1 − ti | peut être utilisée. Malheureuse-
ment, puisque le mouvement Brownien n’est pas à variation bornée, la définition précédente
ne s’applique pas à l’intégrale (1.2).
Nous allons donc construire l’intégrale stochastique sur l’ensemble
Z
T
L2F ={(θt )0≤t≤T , processus càdlàg F-adapté tels que E θ2s ds < ∞}
0
Définition 1.3.1 [SC22] On dit qu’un processus θ est étagé(ou élémentaire) s’il existe une
subdivision de réel 0 = t0 ≤ t1 ≤ ... ≤ tn = T et un processus discret (θi )0≤i≤n−i tel que tout
θi est Fti -adapté dans L2 (Ω) tels que
X
n−1
θt (w) = θi (w)1(ti −ti+1 ] (t)
i=0
Propriétés 1.3.1 [S.B19] Si (θt )0≤t≤T un processus élémentaire, alors on a les égalités sui-
vantes :
ZT
1. E θs dBs = 0
0
Z 2 Z
T T
2. E θs dBs = E θ2s ds
0 0
Démonstration 1.
Z
X
T n−1
E θs dBs = E θi (Bti+1 − Bti )
0 i=0
X
n−1
= E(θi (Bti+1 − Bti ))
i=0
X
n−1
= E(E(θi (Bti+1 − Bti ))/Fti )
i=0
Comme θi est Fti -mesurable et Bti+1 − Bti est indépendant de Fti alors
Z
X
T n−1
E θs dBs = E(θi E((Bti+1 − Bti )))
0 i=0
2. On a :
Z 2
T X
n−1 X
n−1
E θs dBs = E(θi θj (Bti+1 − Bti )(Btj+1 − Btj ))
0 i=0 j=0
(a) Si i < j
E(θi θj (Bti+1 − Bti )(Btj+1 − Btj )) = E(E(θi θj (Bti+1 − Bti )(Btj+1 − Btj )/Fti ))
= E(θi θj (Btj+1 − Btj )E((Bti+1 − Bti )/Fti ))
=0
Comme Bt est un mouvement Brownien et Bti+1 − Bti est indépendant de Fti alors
E((Bti+1 − Bti )2 /Fti ) = E((Bti+1 − Bti )2 ) = ti+1 − ti
Z 2
T X
n−1
E θs dBs = E(θ2i (ti+1 − ti ))
0 i=0
X
n−1
= E θ2i (ti+1 − ti )
i=0
n−1 Z ti+1
X
= E θ2s ds
i=0 ti
Z
T
= E θ2s ds
0
Z
t
Propriétés 1.3.2 1. E θs dBs = 0
0
2.
Z 2 Z 2
t T
E θs dBs = E θs 1[0,t] (s)dBs
0 0
Z
T
= E θ2s 1[0,t] (s)ds
0
Z
t
= E θ2s ds
0
Définition 1.4.1 [A.N22] L’équation différentielle stochastique notée par EDS est une équa-
tion différentielle de la forme :
On a :
Zt Zt
Xt = X0 + a(s, Xs )ds + b(s, Xs )dBs (1.7)
0 0
tel que l’inconnue est le processus Xt , où a, b sont des fonctions déterministes mesurables de
R+ × R → R.
– Xt : processus stochastique
– Bt : Mouvement Brownien
– t : le temps
– a(t, Xt ) : coefficient de dérivée
– b(t, Xt ) : coefficient de diffusion
– X0 est une variable aléatoire indépendante du mouvement brownien.
où f et g sont des fonctions déterministes, avec a(t, Xt ) = f(t)Xt et b(t, Xt ) = g(t).
Définition 1.4.2 Un processus stochastique (Xt )t≥0 dans R est appelé une solution de l’équa-
tion (1.7) si qui vérifie les propriétés suivantes :
1. (Xt )t≥0 est continu et adapté à la filtration (Ft )t≥0
Lemme 1.4.1 (Lemme de Gronwall) Soit g : [0, T ] → R une fonction continue telle que,
pour
Zt
g(t) ≤ a + b g(s)ds, a ≥ 0, b ≥ 0
0
Alors,
∀t ∈ [0, T ], g(t) ≤ aebt
Nous donnons d’abord un résultat d’existence et d’unicité d’une solution forte sous des
conditions un peu restrictives sur les coefficients a et b.
3.
Alors l’équation différentielle stochastique (1.8) admet une unique solution forte (Xt )t∈[0,T ]
vérifiant !
E sup |Xt |2 < +∞.
0≤t≤T
En prenant l’espérance :
Zt 2
E|Xtn+1 |2 ≤ 3E|X0 | + 3E
2
a(s, Xns ) ds
0
Zt 2
+ 3E b(s, Xns ) dBs .
0
Donc : Zt Zt
2
E a(s, Xns ) ds ≤T E|a(s, Xns )|2 ds.
0 0
Ainsi : Zt Zt
2
E a(s, Xns ) ds ≤ CT 1 + E|Xns |2 ds.
0 0
On obtient donc : Zt
E|Xtn+1 |2 ≤ C1 + C2 E|Xns |2 ds,
0
où C1 , C2 > 0 sont des constantes.
Par récurrence, il existe une constante M > 0 telle que
sup sup E|Xnt |2 ≤ M.
n≥0 0≤t≤T
Considérons
Ytn = Xn+1
t − Xnt .
Alors :
Zt Zt
Ytn = [a(s, Xns ) − a(s, Xn−1
s )] ds + [b(s, Xns ) − b(s, Xn−1
s )] dBs .
0 0
Par l’inégalité
(a + b)2 ≤ 2(a2 + b2 ),
on obtient :
Zt 2
E|Ytn |2 ≤2 E [a(s, Xns ) − a(s, Xn−1
s )] ds
0
Zt 2
+ 2E [b(s, Xns ) − b(s, Xn−1
s )] dBs .
0
Posons :
un (t) = sup E|Xns − Xn−1
s |2 .
0≤s≤t
Alors : Zt
un (t) ≤ C un−1 (s) ds.
0
Par récurrence :
(Ct)n
un (t) ≤
u0 (T ).
n!
Comme la série exponentielle converge, la suite (Xn ) est de Cauchy dans
L2 (Ω; C([0, T ])).
Il existe donc un processus X tel que
Xn −→ X dans L2 (Ω; C([0, T ])).
En passant à la limite dans l’équation de Picard, et en utilisant la continuité des inté-
grales, on obtient : Zt Zt
Xt = X0 + a(s, Xs ) ds + b(s, Xs ) dBs .
0 0
Ainsi, X est solution de l’EDS.
Unicité
Supposons que X et Y soient deux solutions de l’équation.
Alors :
Zt Zt
Xt − Yt = [a(s, Xs ) − a(s, Ys )] ds + [b(s, Xs ) − b(s, Ys )] dBs .
0 0
Remarque 1.4.2 La condition de Lipschitz garantit que deux trajectoires proches restent
proches au cours du temps, ce qui assure l’unicité de la solution. La condition de croissance
linéaire permet d’éviter l’explosion des trajectoires en temps fini.
Exemple 1.4.2 Soit l’EDS linéaire dXt = −αXt dt+dBt . Montrer que cette équation admet
une solution fort. Pour cella, On doit vérifier les condition du théorème d’existence.
On a :
a(t, x) = −αXt et b(t, x) = 1
les fonctions f et g sont continues.
1. il existe une constante K telle que : pour tous x, y ∈ R
| − αx + αy| + |1 − 1| = | − α(x − y)| = | − α||x − y| ≤ K|x − y| avec K = α
2. il existe une constante L telle que : pour tous x ∈ R
| − αx|2 + |1|2 = | − α|2 |x|2 + 1 ≤ | − α|2 |x|2 + | − α|2 ≤ | − α|2 (1 + |x|2 )
comme les conditions de théorème d’existence sont vérifiées alors l’EDS
dXt = −αXt dt + dBt
admet une solution forte (Xt )t≥0 p.s continue et unique.
Dans l’exemple précédent, on a mentionné l’absence d’une solution forte. Il existe toutefois
une solution faible, dont la définition sera donnée ultérieurement
est un processus continu tel que les processus Mt et Nt sont définis respectivement par les
martingale
Zt Zt
Mt = Xt − X0 − a(s, Xs )ds et Nt = Mt − b2 (s, Xs )ds
2
0 0
[NDO12] À remarquer que le mouvement Brownien (Bt ) n’est pas présent dans la défi-
nition d’une solution faible. De plus, une solution faible est une solution en loi ; en d’autres
termes, sous certaines conditions, nous avons l’unicité de la solution faible en loi. Dans ce
cadre, il existe un autre concept d’unicité appelé solution faible au sens de la trajectoire,
c’est-à-dire qu’étant données deux solutions faibles X et Y avec une même condition initiale,
les processus X et Y sont indistinguables.
Exemple 1.4.4 Pour faire suite à l’exemple 1.4.3, nous√ notons que la solution faible de
l’équation différentielle stochastique dXt = αXt dt + Xt dBt et X0 = 0 est un processus
continu (Xt ) tel que
Zt Zt
2
Mt = Xt − α Xs ds et Nt = Mt − Xs ds
0 0
µ(t) est une fonction du temps qui permet de s’ajuster à la structure actuelle des taux
du marché.
En général, la résolution des équations différentielles stochastiques se repose sur lemme d’Itô.
Pour résoudre analytiquement l’équation différentielle stochastique linéaire, on va suivre les
étapes suivants :
1. Étape 1 : Changement de variable, on pose Xt = f(t, Bt ) et on utilisant lemme d’Itô
∂f 1 ∂2 f ∂f
dXt = + 2
dt + dBt
∂t 2 ∂B ∂B
∂f = b(t, f) =⇒ ∂2 f
∂B ∂B2
= b(t, f) ∂b(t,f)
∂f
∂2 f
En remplaçant ∂B2
et isoler ∂f
∂t
, on obtient
∂f
= a(t, f) − 12 b(t, f) ∂b(t,f)
∂t ∂f
∂f = b(t, f)
∂B
4. Étape 4 : Conclusion
Avant de résoudre l’EDS vérifié d’abord la condition l’existence de la solution.
Exemple 1.4.8 Prenons l’exemple 1.4.2, on a : l’existence de solution est déjà vérifie. Ap-
plication de l’algorithme de résolution de l’EDS : soit l’EDS linéaire dXt = −αXt dt + dBt .
1. Changement de variable, on pose Xt = f(t, Bt ), en utilisant lemme d’Itô
2
∂f 1 ∂ f ∂f
dXt = + 2
dt + dBt
∂t 2 ∂B ∂B
∂f = 1 =⇒ ∂2 f
∂B ∂B2
=0
∂2 f
En remplaçant ∂B2
par sa valeur, on obtient
∂f ∂f
= −αf =⇒ = −α∂t (1.10)
∂t f
Intégré (1.10) on a
Zt Zt
∂f
= −α ds =⇒ ln(f(t, Bt )) − ln(X0 ) = −αt + C(Bt )
0 f 0
Isoler f(t, Bt )
∂(K(Bt )e−αt )
= 1 =⇒ K 0 (Bt )e−αt = 1 =⇒ K 0 (Bt ) = eαt
∂B
Donc,
Zt
K(Bt ) = K(B0 ) + eαs dBs
0
K(B0 ) = f(0, B0 ) = X0
4. Conclusion
D’où
Zt
∂f = βf =⇒ ∂2 f
∂B ∂B2
= β2 f
∂2 f ∂f
En remplaçant ∂B2
et isoler ∂t
, on obtient
∂f 1 ∂f 1
= µf − β2 f =⇒ = f(µ − β2 )
∂t 2 ∂t 2
Intégrons par rapport à t ∂f
∂t
, on ne peut pas utiliser le borne.
Zt Zt
∂f 1 1
= (µ − β2 )ds + C(Bs ) =⇒ ln(f) − ln(X0 ) = (µ − β2 )t + C(Bt )
0 f 0 2 2
1 2 )t
f(t, Bt ) = K(Bt )e(µ− 2 β avec K(Bt ) = X0 eC(Bt )
∂f
Trouvons K(Bt ), en utilisant ∂B
, on a :
1 2
∂(K(Bt )e(µ− 2 β )t ) 1 2
= βK(Bt )e(µ− 2 β )t
∂B
1 2 1 2
0
K (Bt )e(µ− 2 β )t = βK(Bt )e(µ− 2 β )t
K 0 (Bt )
=β
K(Bt )
K(Bt ) = X0 eβBt
∂f = β =⇒ ∂2 f
∂B ∂B2
=0
∂2 f ∂f
En remplaçant ∂B2
et isoler ∂t
, on obtient
∂f ∂f
= αf + b =⇒ − αf = b
∂t ∂t
Remarquons que ∂f ∂tR
− αf = b est une EDO forme linéaire, pour cella cherchons le facteur
P(t)dt
intégrant h(t) = e on a :
R
P(t) = −α =⇒ h(t) = e− αdt
= e−αt
Zt !
1
Alors f(t, Bt ) = h(t)
h(s)Q(s)ds + K(Bt ) , avec K(Bt ) = X0 + C(Bt ) en remplaçant h(t)
0
et Q(t) = b. On a :
Zt ! Zt
1 αs αt
f(t, Bt ) = e bds + K(Bt ) = e b e−αs ds + eαt K(Bt )
e−αt 0 0
b b
= e−αt eαt − eαt + eαt K(Bt )
α α
b
= (1 − eαt ) + eαt K(Bt )
α
avec
a(t, F−1 (y)) 1 ∂(b(F−1 (y)))
aY (t, Xt ) = −
b(F−1 (y)) 2 ∂x
d’où, on a
!
a(t, Xt ) 1 ∂(b(Xt ))
dYt = − dt + dBt (1.16)
b(t, Xt ) 2 ∂x
Zx
1
Démonstration Appliquant la formule d’Itô à la fonction Yt = f(t, x) = du, avec
b(u)
∂f(t, x) ∂f(t, x) 1 ∂2 f(t, x) bx0 (x)
= 0, = et = − (1.17)
∂t ∂x b(x) ∂x2 b2 (x)
on obtient directement le résultat
!
a(t, Xt ) 1 2 bx (Xt ) 1
dYt = df(t, x) = 0 + − b (Xt ) 2 dt + b(Xt ) dBt
b(Xt ) 2 b (Xt ) b(Xt )
!
a(t, Xt ) 1 ∂(b(Xt ))
= − dt + dBt
b(Xt ) 2 ∂x
∂f = 1 =⇒ ∂2 f
∂B ∂B2
=0
∂2 f
En remplaçant ∂B2
par sa valeur, on obtient
∂f ∂f
= αf =⇒ = α∂t (1.18)
∂t f
Intégré (1.18) on a
Zt Zt
∂f
= −α ds =⇒ ln(f(t, Bt )) − ln(Y0 ) = αt + C(Bt )
0 f 0
Isoler f(t, Bt )
∂(K(Bt )eαt )
= 1 =⇒ K 0 (Bt )eαt = 1 =⇒ K 0 (Bt ) = e−αt
∂B
Intégré par rapport à Bt , en utilisant borne 0 et t
Zt Zt Zt
0
K (Bs )dBs = e dBs =⇒ K(Bs ) − K(B0 ) = e−αs dBs
−αs
0 0 0
Donc,
Zt
K(Bt ) = K(B0 ) + e−αs dBs
0
K(B0 ) = f(0, B0 ) = Y0
Donc,
Zt
Zt
Dans ce chapitre, nous nous intéressons à la résolution numérique des équations diffé-
rentielles stochastiques dirigées par un mouvement brownien unidimensionnel à savoir la
méthode d’Euler-Maruyama et la méthode Milstein.
Nous avons vu que si les fonctions a et b sont continues en (t, x) et lipschitziennes par
rapport à la variable x cette équation admet une unique solution forte adaptée à la filtration
du mouvement brownien. Cette solution sous sa forme intégrale
Zt Zt
Xt = X0 + a(s, Xs )ds + b(s, Xs )dBs (2.2)
0 0
Cependant, il est parfois difficile d’obtenir une expression analytique pour cette solution. Il est
donc important de développer des méthodes numériques afin de simuler des approximations
de la solution de telles équations. Les schémas numériques utilisés pour les EDO peuvent
généralement être adaptés au cadre stochastique, moyennant la en compte des propriétés du
mouvement brownien.
Par exemple, dans la pratique, pour un intervalle de temps d’une année, si le processus
est observé mensuellement alors N = 12 et h = 121 et, si hebdomadairement alors h = 521 et
1
si l’observation est journalière alors h = 252 .
Nous commençons par introduire quelques notions de convergence.
1 X
N
= |XT − X
^T |
N j=1
Le schéma numérique {X
^tn } est dit local d’ordre α si
^tn = O(hα+1 )
Xtn − X
On dit que Xh converge fortement avec un ordre p s’il existe une constante C > 0 indépen-
dante de h telle que :
!
E XT − XhN ≤ Chp
La convergence forte mesure la précision trajectorielle : on compare les réalisations sur les
mêmes trajectoires browniennes.
Définition 2.2.4 (Convergence faible) L’approximation Xh avec une taille de pas uni-
forme h converge faiblement vers X au temps T si la condition suivante est satisfaite pour
toute fonction continument différentiable g
Proposition 2.2.1 Si une suite (Xn ) converge vers X dans L1 (convergence forte), alors
elle converge en probabilité, donc aussi en loi (convergence faible). La réciproque est fausse.
Après ces définitions, nous sommes prêt à introduire deux schémas numériques impor-
tants, qui sont, la méthode d’Euler-Maruyama et la méthode de Milstein.
et Z ti Z ti
Xti = X0 + a(s, Xs )ds + b(s, Xs )dBs (2.7)
t0 t0
En utilisant la notation indiciaire par Xi = Xti et Xi+1 = Xti+1 , pour i = 0, ..., N et l’approxi-
mation des intégrales d’équation (2.18) est donnée par :
Z ti+1
a(s, Xs )ds ≈ a(ti , Xi )(ti+1 − ti ) ≈ a(ti , Xi )4i (2.9)
ti
et
Z ti+1
b(s, Xs )dBs ≈ b(ti , Xi )(Bi+1 − Bi ) ≈ b(ti , Xi )4Bi (2.10)
ti
∆Bi N(0, h)
3. Etape 3 : calculer
Exemple 2.3.1 Considérons l’équation dans l’exemple 1.4.5. Avec un pas de discrétisation
h = NT où T est l’horizon temporel et N le nombre de pas. Le schéma d’Euler correspondant
est le suivant : √
Xi+1 = Xi + µ(α − Xi )h + β hZ
et X0 = 0
Pour l’étude de la convergence nous avons besoin du résultat important donné dans la
proposition suivante :
Proposition 2.3.1 [Ahl21] Supposons que les coefficients de l’EDS (1.6) a et b satisfont
les conditions suivantes :
– H1 : ∃k > 0 tel que ∀x, y ∈ R et s, t ∈ R+ on a :
Démonstration Pour entamer la preuve nous avons besoin d’un processus particulier X ^t ,
il sert à approximer la solution pour tout t ∈ [0, T ] et pas seulement au point ti pour i =
0, ..., N.
Pour t ∈ [ti , ti+1 ] et i = 0, ..., N − 1, on définit
Z ti Z ti
^ h
Xt = Xti + a(s, Xs )ds + b(s, Xs )dBs
0 0
alors pour i = 0, ..., N − 1, le processus stochastique t est solution de EDS sur t ∈ [ti , ti+1 ]
dt = (a(t, Xt ) − a(ti , Xhti ))ds + (b(t, Xt ) − b(ti , Xhti ))dBt (2.14)
∂2 F(t, Xt )
!
∂F(t, Xt ) ∂F(t, Xt ) 1 2 ∂F(t, Xt )
dF(t, Xt ) = + a(t, Xt ) + b (t, Xt ) dt + b(t, Xt ) dBt
∂t ∂t 2 ∂2 x ∂x
ZT !
∂F(t, Xt )
En utilisant E b(t, Xt ) dBt = 0 on a :
0 ∂x
Z ti+1 ! Z ti+1 !
E(2ti+1 ) = E(2ti ) +E (b(t, Xt ) − b(ti , Xhti ))2 dt +E ^t )(a(t, Xt ) −
2(Xt − X a(ti , Xhti ))dt
ti ti
on a :
| a(t, Xt ) − a(ti , Xhti ) |2 =| a(t, Xt ) − a(ti , Xti ) + a(ti , Xti ) − a(ti , Xhti ) |2
≤| a(t, Xt ) − a(ti , Xti ) |2 + | a(ti , Xti ) − a(ti , Xhti ) |2
+ 2 | a(t, Xt ) − a(ti , Xti ) | × | a(ti , Xti ) − a(ti , Xhti ) |
≤ 2 | a(t, Xt ) − a(ti , Xti ) |2 +2 | a(ti , Xti ) − a(ti , Xhti ) |2
d’après l’hypothèse H1 :
de même :
On a :
Z ti+1 Z ti+1 Z ti+1
E(2ti+1 ) ≤ E(2ti ) + 4k (t − ti )dt + 4k E(| Xt − Xti | )dt + 4k
2
E(| Xti − Xhti |2 )dt
ti ti ti
Z ti+1
+ ^t )2 dt
E(Xt − X
ti
Donc, Z ti+1
E(2ti+1 ) ≤ a(t) + E(2s )ds.
ti
Avec
Donc,
exp(Nh)(4kh + 1)N − 1
E(2tN ) ≤ 2k(C + 1) exp(h)h2
exp(h)(4kh + 1) − 1
2k(C + 1) exp(h)h2 exp(Nh)(4kh + 1)N
≤
exp(h)(4kh + 1) − 1
2k(C + 1) exp(h)h2 exp(Nh)(4kh + 1)
≤
exp(h) − 1 + 4kh exp(h)
.
En notant que exp(h) − 1 > 0
Alors,
pour i = 0, ..., N − 1
Maintenant, nous avons besoin de définir l’approximation d’Euler-Maruyama ∀t ∈ [0, T ].
Pour cela, nous allons introduire Yt comme interpolation linéaire par morceaux passant par
les points (ti , Xhi ) définie par :
Alors
X
N−1
h2 h3 h3 h3
kX − Yk2L2 (Ω,[0;T ]) ≤4 (c + M +M +c )
i=0
2 3h 3h 3h
X
N−1
h2
≤4 (5c + 4M)
i=0
6
h2
≤ (10c + 8M)N
3
h
≤ (10c + 8M)T
3
Posons k2 = (10c + 8M)T (10c+8M)T
3
, donc
kX − Yk2L2 (Ω,[0;T ]) ≤ k2 h
D’où,
1
kX − YkL2 (Ω,[0;T ]) ≤ kh 2
Pour t = ti+1 et t = ti , on a :
Z ti+1 Z ti+1
Xti+1 = X0 + a(s, Xs )ds + b(s, Xs )dBs (2.16)
t0 t0
et Z ti Z ti
Xti = X0 + a(s, Xs )ds + b(s, Xs )dBs (2.17)
t0 t0
+ b(ti , Xt ) +
i
b 0 (u, Xu )dXu + b 00 (u, Xu )(dXu )2 dBs
ti ti ti
Z ti+1 Zs Zs
= Xti + a(ti , Xti ) + a (u, Xu )a(u, Xu )du + a 0 (u, Xu )b(u, Xu )dBu
0
ti ti ti
Zs Z ti+1 Zs
1 00
+ 2
a (u, Xu )b (u, Xu )du ds +
b(ti , Xti ) + b 0 (u, Xu )a(u, Xu )du
2 ti ti ti
Zs Zs
On sait que [Link] = 0, [Link] << ds2 donc duds = 0 et dudBs = 0, par suite
Z ti+1 Z ti+1 Z ti+1 Z s
Xti+1 = Xti + a(ti , Xti )ds + b(ti , Xti )dBs + b 0 (u, Xu )b(u, Xu )dBu dBs
ti ti ti ti
Les premiers termes correspondent simplement à la méthode d’Euler. Le terme suivant peut
être approximé davantage (en pensant à effectuer un autre développement d’Itô) par :
Z ti+1 Z s Z ti+1 Z s
0 0
b (u, Xu )b(u, Xu )dBu dBs ≈ b (ti , Xi )b(ti , Xi ) dBu dBs
ti ti t ti
Z tii+1
≈ b 0 (ti , Xi )b(ti , Xi ) (Bs − Bti )dBs
ti
1 1
≈ b 0 (ti , Xi )b(ti , Xi )( (Bti+1 − Bti )2 − h)
2 2
1 0
≈ b (ti , Xi )b(ti , Xi )((∆Bi )2 − h)
2
∆Bi N(0, h)
4. Etape 4 : Calculer
1
Xi+1 = Xi + a(ti , Xi )h + b(ti , Xi )∆Bi + b 0 (ti , Xi )b(ti , Xi )((∆Bi )2 − h)
2
Exemple 2.4.1 Considérerons l’équation différentielle stochastique suivante :
En regardant la solution exacte de cette équation dans l’exemple 1.4.9, le schéma de Milstein
rend le développement exact jusqu’à l’ordre O(h). En effet, un développement de Taylor
formel conduit à :
β2 √
Yt+h = Yt exp{(λ − )h + β hZ} (2.23)
2
β2 √ 1
= Yt {1 + (λ − )h + β hZ + β2 hZ2 + O(h)} (2.24)
2 2
= Xi+1 (2.25)
Dans ce cas, le schéma de Milstein est coı̈ncide avec méthode d’Euler-Maryama . Le deux
schémas est donné par la forme suivante :
√
Xi+1 = Xi + a(ti , Xi )h + b(ti ) hZ
Théorème 2.4.2 Sous les mêmes hypothèses, le schéma de Milstein converge faiblement à
l’ordre 1 :
Remarque 2.4.1 L’ordre de convergence forte de Milstein (1) est meilleur que celui d’Euler-
Maruyama ( 21 ). Á pas égal, Milstein est plus précis. Cependant, cette amélioration a un coût :
le calcul de la dérivée ∂b(t,X
∂x
t)
= b 0 (t, Xt ).
Ainsi, dans le cas unidimensionnel, le schéma implicite d’Euler-Maruyama est donné par :
Le schéma implicite (2.28) est d’ordre de convergence forte égale à 0.5. A partir du schéma
explicite (2.11) et implicite (2.28), on peut construire la famille des schémas d’Euler implicite :
Mais il est aussi possible d’avoir une version implicite du schéma de Milstein :
1
Xi+1 = Xi + (a(ti+1 , Xi+1 )∆i + b(ti , Xi )∆Bi+1 + b 0 (ti , Xi )b(ti , Xi )((∆Bi+1 )2 − ∆i )
2
Voici une famille des schémas de Milstein implicite :
1
Xi+1 = Xi + (λa(ti+1 , Xi+1 ) + (1 − λ)a(ti , Xi ))∆i + b(ti , Xi )∆Bi + b 0 (ti , Xi )b(ti , Xi )((∆Bi+1 )2 − ∆i )
2
où λ ∈ [0, T ] représente le degré d’implicité du schéma.
1. Si λ = 0, alors on retrouve le schéma explicite ;
2. Si λ = 1, alors on retrouve le schéma implicite ;
3. Si λ = 21 , alors on a la généralisation de la méthode de trapèze déterministe. Encore
une fois, sur ce cas la méthode converge avec une ordre de convergence fort égale à 1.
De manière similaire, pour l’équation test linéaire, cette propriété est équivalente à la
condition
!
1
Re a − b2 < 0 (2.34)
2
Maintenant que nous avons vu quelles conditions sont nécessaires pour que l’équation soit
stable au sens quadratique moyen et asymptotiquement stable, nous cherchons des conditions
garantissant que les méthodes numériques soient elles aussi stables.
Comme les méthodes explicites sont généralement plus instables que les méthodes impli-
cites, nous nous concentrerons uniquement sur l’analyse de stabilité des méthodes explicites.
Rappelons qu’en EDO, pour qu’un schéma numérique soit stable, il faut à la fois que l’équa-
tion différentielle et le schéma numérique soient stables. Le même principe s’applique aux
EDS. Nous supposons donc désormais que a et b sont tels que la solution de l’équation soit
stable au sens quadratique moyen et asymptotiquement stable.
En appliquant le schéma explicite d’Euler-Maruyama à l’équation précédente et en uti-
lisant des propriétés simples de l’espérance mathématique, on obtient la condition suivante
sur a et b, pour laquelle la méthode d’Euler est stable au sens quadratique moyen :
h √ i
lim |X2j | = 0 avec probabilité 1 ⇐⇒ E log 1 + ah + b hN(0, 1) < 0 (2.36)
j→∞
Pour une explication plus détaillée de la dérivation de cette condition, voir Higham
[D.J01].
Nous dérivons maintenant les conditions de stabilité de la méthode de Milstein. De façon
analogue au schéma d’Euler-Maruyama, nous appliquons le schéma explicite de Milstein à
l’équation test et, en utilisant les propriétés de l’espérance mathématique, nous obtenons
√ 1 √
" #
lim |X2j | = 0 avec probabilité 1 ⇐⇒ E log 1 + ah + b hN(0, 1) + b2 hN(0, 1) <0
j→∞ 2
(2.37)
1
dYt = (F 0 (Xt )b(t, Xt ) + F 00 (Xt )b2 (t, Xt ))dt + F 0 (Xt )b(t, Xt )dBt (2.39)
2
Avec Yt = F(Xt ). Choisissons maintenant F comme la transformée de Lamparti (1.16) de
sorte que
1 b 0 (t, x)
F 0 (x) = , F 00 (x) = − (2.40)
b(t, x) b2 (t, x)
Nous remarquons à nouveau que la transformée de Lamparti est telle que le facteur multipli-
catif devant le processus de Wienner ne dépend plus de l’état du processus. Ainsi, le schéma
d’Euler pour Yt = F(Xt ) est
√
!
a(ti , Xi ) 1 0
∆Y = − b (i, Xi ) h + hZ (2.41)
b(ti , Xi ) 2
Remarquez que :
F−1 (y) 1
G 0 (y) = = 0 = b(t, G(y))
dy F (G(y))
et
Exemple 2.7.1 Prenons l’exemple 2.4.1. Si nous utilisons F(x) = ln x, alors d’après (1.17)
et le lemme d’Itô, nous obtenons
!
1
d ln Xt = λ − β2 dt + βdBt
2
On trouve :
1 √ 3
Xi+1 = Xi (1 + (λ + β2 (Z2 − 1))h + β hZ) + O(h 2 ) (2.46)
2
C’est exactement le schéma de Milstein (2.22).
Comparaison de la stabilité
Les conditions de stabilité des deux schémas présentent à la fois des similitudes et des
différences notables. Pour la stabilité en moyenne quadratique, les deux méthodes conduisent
à la même condition : |1 + µh|2 + σ2 h < 1 pour l’EDS test linéaire dXt = µXt dt + σXt dBt .
Cette condition, plus restrictive que celle de la solution exacte (µ + σ2 /2 < 0), traduit le fait
que les schémas explicites imposent une borne supérieure sur le pas de temps pour garantir
la stabilité.
Pour la stabilité asymptotique, les√ conditions diffèrent légèrement. Le schéma d’Euler-
Maruyama requiert E[log |1 + µh + σ hN(0, 1)|] < 0,√tandis que le schéma de Milstein fait
intervenir un terme supplémentaire : E[log |1 + µh + σ hN(0, 1) + 12 σ2 h(N(0, 1)2 − 1)|] < 0.
Ce terme correctif tend à améliorer la stabilité asymptotique du schéma de Milstein, en
particulier pour les grandes volatilités.
Compromis précision-coût
Le choix entre les deux schémas repose sur un arbitrage entre précision et coût de calcul. À
pas de temps égal, le schéma de Milstein est plus précis. Pour obtenir une erreur comparable,
Euler-Maruyama nécessite un pas de temps plus petit, ce qui augmente le nombre de pas et
donc le temps de calcul. Toutefois, cette conclusion doit être nuancée :
– Pour les EDS à bruit additif (b(t, Xt ) = b(t)), le terme correctif de Milstein s’annule
car b 0 (t, Xt ) = 0. Les deux schémas coı̈ncident et atteignent tous deux l’ordre de
convergence forte 1. Dans ce cas, Euler-Maruyama est préférable car plus simple.
– Pour les EDS à bruit multiplicatif, Milstein offre un gain de précision substantiel, mais
au prix du calcul de la dérivée b 0 . Si cette dérivée est coûteuse à évaluer ou si le modèle
est de grande dimension, l’avantage de Milstein peut s’amenuiser.
– En présence de non-linéarités fortes ou de raideur, les schémas explicites (Euler et Mil-
stein) peuvent tous deux devenir instables. Dans ce cas, des versions implicites ou des
schémas adaptatifs sont préférables, quel que soit l’ordre.
Applications et implication
pédagogique
Après avoir présenté quelques méthodes numériques de résolution des équations diffé-
rentielles stochastiques, nous allons comparer deux méthodes numériques par le biais de
simulation à savoir la méthode d’Euler-Maruyama et la méthode de Milstein que nous allons
appliquer à l’EDS linéaire comme modèle de Black-Scholes et d’Ornstein-Uhlenbeck. Afin
d’atteindre cet objectif, nous allons simuler des échantillons de différents tailles pour diffé-
rentes réplications. Les solutions approchées estimées sont calculées sur la base de plusieurs
pas de temps de discrétisation.
La résolution analytique de cette équation est déjà fait dans l’exemple (1.4.9). La solution
analytique de cette équation est :
1 2 )t
Xt = X0 eβBt +(µ− 2 β
On observe que la valeur initiale commence autour de X0 = 1, puis elle évolue de manière
aléatoire au cours du temps. Au début, la trajectoire augmente rapidement, atteignant un
maximum proche 1.7. En suite, elle diminue progressivement jusqu’à des valeurs autour de
0.5. Dans la dernière partie, la courbe présente des oscillations autour de valeurs proches de
1. Ces fluctuations sont dues au caractère aléatoire du modèle, qui dépend du mouvement
brownien. La trajectoire est donc irrégulière mais continue.
Figure 3.5 – Comparaison des solutions approchées avec solution exacte de pas
h = 0.01, h = 0.0025, h = 0.000625
La figure ?? présente les données des tableaux 3.1 et 3.2 sur une échelle log-log. Si l’on
considère (2.1) et (2.4) et que les inégalités sont approximativement des égalités, on peut
prendre les logarithmes et obtenir respectivement
1
log(forte ) ≈ log(C) + log(h) (3.1)
2
3.2.7 Stabilité
Nous souhaitons maintenant tester expérimentalement la stabilité numérique des schémas
explicites d’Euler-Maruyama et de Milstein. Pour notre équation test, nous utilisons
où µ et σ sont des paramètres réels constants. Comme nous l’avons vu à la section 2.6,
la solution d’équilibre de l’EDS est asymptotiquement stable si
1
µ − σ2 < 0 (3.6)
2
ce qui autorise µ à être positif. Cependant, la solution d’équilibre n’est stable au sens de
la moyenne quadratique que si
1
µ + σ2 < 0 (3.7)
2
Pour cette raison, nous vérifierons la stabilité des schémas en utilisant µ > 0 pour la
stabilité asymptotique et µ < 0 pour tester la stabilité en moyenne quadratique. De plus, pour
que le schéma d’Euler-Maruyama explicite soit stable, en plus des conditions mentionnées
ci-dessus, les paramètres doivent vérifier
h √ i
E log 1 + µh + σ h N(0, 1) < 0 (3.8)
pour la stabilité asymptotique et
h √ i
h St E log 1 + µh + σ h N(0, 1) commentaire (< 0)
1.0 0 −0.130753 stable
0.5 0 −0.058366 stable
0.25 0 −0.025532 stable
quadratique même que Euler-Maruyama. Le tableau 3.5 donne la valeur théorique de stabilité
asymptotique :
h √ √ i
h St E log 1 + µ∆t + σ hN(0, 1) + 12 σ2 hN(0, 1) commentaire (< 0)
1.0 0 −0.09017222 stable
0.5 0 −0.04576575 stable
0.25 0 −0.02296823 stable
Le modèle, où µ = 0, a été originalement proposé par Ornstein-Uhlenbeck qui est ensuite
généralisé par Vasicek par (3.10). Elle est beaucoup utilisé en finance pour modéliser le taux
d’intérêt. Le processus tend à osciller autour de sa valeur moyenne si β > 0,a lors on dit que
le processus est de « Mean reverting ». Il est à variance finie.
Une autre paramétrisation du modèle est la suivante :
Comme cet processus est une EDS linéaire à bruit additif alors sa solution explicite donnée
d’une manière analogue de l’exemple 1.4.10. Cette solution explicite définie par :
Zt
µ
Xt = e X0 + (1 − e ) + e σ e−βs dBs
αt βt βt
(3.12)
β 0
et sa variance
σ2
Var(Xt ) = (1 − e−2θt ) (3.15)
2θ
Simulation numérique
Nous prenons les paramètres : θ = 2, µ = 1, σ = 0.5, x0 = 0, T = 2, N = 200 (h = 0.01).
La figure 3.9 montre une trajectoire de la solution exacte (3.13) et les approximations par
Euler-Maruyama et Milstein. Comme le coefficient de diffusion est constant (b(t, x) = σ), les
deux schémas coı̈ncident (cf. section 2.4.1). On vérifie que le processus revient rapidement
vers la moyenne µ = 1, conformément à la propriété de régression.
Pour tester la convergence forte sur ce modèle, nous utilisons la même procédure que pour
Black-Scholes, avec M = 5000 trajectoires et des pas décroissants. La figure 3.10 confirme
que l’erreur décroı̂t en O(h1/2 ) et celle de Milstein (ici identique à Euler) en O(h1 ). En effet,
pour un bruit additif, le terme correctif de Milstein est nul, mais l’ordre de convergence forte
reste 1.
l’algorithme. Personne ne peut affirmer sa maitrise d’une notion sans avoir le programmer.
Moi person nellement, ce travail de mémoire m’a beaucoup conscientisé, sur l’indispensabilité
de TP. Il est impossible d’automatiser une technique sans vouloir comprendre son fonction-
nement, étape par étape. Ainsi, si l’étudiant rencontre des problèmes pendant la réalisation
de son programme, alors il va surement se poser différentes questions et ces questionne-
ments le conduisent vers la curiosité, la recherche et l’auto-apprentissage. Pendant les TP,
il fautproposer plusieurs types de données et analyser les données dans le but d’identifier
les techniques appropriées. Ce serait bien aussi de proposer plusieurs situations où l’EDS
interviennent pour motiver le cours. En effet, il ne sert à rien de dire à ses étudiants « Vous
devez être motivé » mais il faut surtout proposer des situations qui suscitent leur intérêt et
qui va ensuite les motiver. Il ne sert a rien aussi de dire que les Maths sont utiles dans la
vie, ce qu’il faut faire est de montrer que les Maths sont utiles à travers des exemples de
modélisation variés dans d’autres disciplines.
L’objectif de ce mémoire était d’étudier les méthodes numériques de résolution des équa-
tions différentielles stochastiques (EDS) et d’évaluer leurs performances respectives à travers
des simulations informatiques. Face à la difficulté, voire à l’impossibilité, d’obtenir des so-
lutions analytiques explicites pour la plupart des EDS d’intérêt pratique, le recours à des
schémas d’approximation numérique constitue une approche incontournable. Dans ce travail,
nous avons concentré notre analyse sur deux méthodes fondamentales : le schéma d’Euler-
Maruyama et le schéma de Milstein.
Dans un premier temps, nous avons posé les bases théoriques nécessaires à la compré-
hension des EDS. Après avoir rappelé les concepts essentiels de la théorie des probabilités
(tribu, espérance conditionnelle, martingale) et introduit le mouvement brownien comme
processus aléatoire fondamental, nous avons défini l’intégrale stochastique d’Itô. Cette der-
nière constitue l’outil de base pour donner un sens aux EDS, que nous avons présentées sous
leurs formes différentielle et intégrale. Nous avons également énoncé le théorème d’existence
et d’unicité des solutions fortes, sous des hypothèses de Lipschitz et de croissance linéaire,
ainsi que la formule d’Itô, outil central tant pour la résolution analytique que pour l’ana-
lyse numérique. Enfin, la transformée de Lamperti a été introduite comme une technique
permettant de simplifier certaines EDS à bruit multiplicatif en EDS à bruit additif.
Dans un second temps, nous avons présenté et analysé les deux schémas numériques. Le
schéma d’Euler-Maruyama, simple à implémenter, constitue la méthode de base pour l’ap-
proximation des EDS. Cependant, son ordre de convergence forte, égal à 1/2, peut s’avérer
limité pour certaines applications nécessitant une haute précision. Le schéma de Milstein,
qui intègre un terme correctif faisant intervenir la dérivée du coefficient de diffusion, at-
teint un ordre de convergence forte égal à 1, au prix d’un surcoût de calcul modéré. Nous
avons également abordé les versions implicites de ces schémas, plus stables pour les équa-
tions raides, ainsi que les notions de stabilité numérique (stabilité en moyenne quadratique et
stabilité asymptotique). Une analyse théorique comparative a permis de mettre en évidence
les avantages et les inconvénients respectifs des deux méthodes.
Dans un troisième temps, nous avons mis en œuvre ces schémas numériques à travers des
simulations informatiques réalisées en langage Python. Deux modèles emblématiques ont
été choisis : le modèle de Black-Scholes, représentatif des EDS à bruit multiplicatif, et le
processus d’Ornstein-Uhlenbeck, représentatif des EDS à bruit additif. Les résultats obtenus
confirment expérimentalement les ordres de convergence théoriques : le schéma de Milstein
est systématiquement plus précis que celui d’Euler-Maruyama à pas de temps égal. L’étude
de la stabilité a montré que les schémas explicites ne sont stables en moyenne quadratique
que sous certaines conditions reliant le pas de temps aux paramètres du modèle, tandis
que la stabilité asymptotique se révèle plus robuste. Par ailleurs, nous avons illustré le cas
particulier du bruit additif où les deux schémas coı̈ncident, et où Euler-Maruyama atteint
également l’ordre de convergence forte 1.
Notre travail présente certaines limites qu’il convient de mentionner. Premièrement,
l’étude s’est limitée aux EDS unidimensionnelles dirigées par un mouvement brownien stan-
dard. Les EDS multidimensionnelles ou celles incluant des sauts n’ont pas été considérées.
Deuxièmement, les schémas numériques étudiés sont d’ordre relativement faible ; des mé-
thodes d’ordre supérieur (Runge-Kutta stochastique, schémas de Taylor d’ordre 2) n’ont pas
été implémentées. Troisièmement, l’analyse de stabilité a été restreinte aux schémas expli-
cites, les versions implicites n’ayant fait l’objet que d’une brève mention théorique. Enfin, les
simulations, bien que systématiques, ont été réalisées avec un nombre limité de trajectoires
(M = 5000 pour la convergence forte, M = 500 000 pour la convergence faible), ce qui peut
introduire une incertitude statistique résiduelle.
Les perspectives ouvertes par ce travail sont nombreuses. Sur le plan théorique, il serait
intéressant d’étendre l’étude aux EDS multidimensionnelles, où les schémas numériques de-
viennent plus complexes en raison des termes d’interaction entre les différentes composantes
du bruit. L’étude des EDS avec sauts (processus de Poisson composé, processus de Lévy)
constitue également une extension naturelle, car de nombreux phénomènes réels présentent
des discontinuités soudaines non modélisables par un simple mouvement brownien.
[A.H21] [Link]. Etude des équations différentielle stochastiques non linéaire, master
académique. 2021.
[Ahl21] Benali Ahlam. Intégration numérique des équations différentielles stochastiques et
implémentation sur python du modèle SIR aléatoire. 2021.
[A.N22] [Link]. Les équations différentielles stochastiques et ses applications. 2021-2022.
[Arn74] Y. Arnold. Stochastic Differential Equations : Theory and Applications, Wiley,.
1974.
[Aya22] Abi Ayad. Introduction aux équation différentielle stochastique, Master probabilités
et statistique, université Aboubekr Belkaid. 2022.
[BA18] L. BOUDAHDIR and BERKANI A. Résolution numérique des équations différen-
tielles stochastiques : cas l’EDS de Black-Scholes. 2018.
[D.22] MECHERI D. Solution numérique des EDS localement Lipchitzienne. 2022.
[D.J01] Higham. D.J. AnAlgorithmicIntroduction to Numerical Simulation of Stochastic
Differential Equations. 2001.
[Gal06] J.F. Le Gall. Intégration, Probabilités et Processus Aléatoires, Ecole normale su-
périieure de Paris. 2006.
[GH12] A.C GUIDOUM and Hal. Conception d’un pro logiciel interactif sous r pour la
simulation de processus de diffusion, 2012.
[H.D20] [Link]. Equations différentielles stochastiques (EDSs),université de Biskra.
2020.
[H.R17] [Link]. Simulation numérique et estimation des paramètres
d’une équation différentielle stochastique sous R : application en finance. 2016-
2017.
[Iac08] Stephano M . Iacus. Simulation and Inference for Stochastic DifferentialEquations
with R examples. Springer Science+Business Media, LLC. 2008.
[I.B24] [Link]. Numerical treatment of stochastic differential equations : Diffusion
and jump-diffusion processes with applications. 2023-2024.
[I.K51] [Link]. On stochastic differential equations. 1951.
[J62] Lamperti J. Semi-stable stochastic processes. transactions of the american mathe
matical society, 104,[Link] 1962.
[Mil20] Angar Miloud. Approximation numérique des équations différentielles stochas-
tiques, 2020.
[NDO12] C.B. NDONGO. PROCESSUS ALÉATOIRES ET APPLICATIONS EN FI-
NANCE. MARS 2012.
import numpy as np
import [Link] as plt
T=1
N=100
dt=T/N
B=[Link]([Link](dt)*[Link](N))
[Link](B)
[Link]("Trajectoire de mouvement Brownien")
[Link](’t’)
[Link](’B(t)’)
[Link]()
import numpy as np
import [Link] as plt
# Temps
t = [Link](0, T, N+1)
# Tracé
[Link](figsize=(10,6))
[Link](t, X_exact, ’b-’, label="Solution exacte", linewidth=2)
import numpy as np
import [Link] as plt
mu = 1.5 # Drift
sigma = 1 # Volatilité
X0 = 1.0 # Condition initiale
# Solution exacte
X_exact = X0 * [Link]((mu - 0.5 * sigma**2) * t + sigma * W)
# Euler-Maruyama
X_euler = [Link](N+1)
X_euler[0] = X0
for n in range(N):
X_euler[n+1] = X_euler[n] + mu * X_euler[n] * dt + sigma * X_euler[n] * dW[n]
# Milstein
X_milstein = [Link](N+1)
X_milstein[0] = X0
for n in range(N):
X_milstein[n+1] = X_milstein[n] + mu * X_milstein[n] * dt \
+ sigma * X_milstein[n] * dW[n] \
+ 0.5 * sigma**2 * X_milstein[n] * (dW[n]**2 - dt)
# Tracé graphique
[Link](figsize=(10,5))
[Link](t, X_exact, ’b-’, label="Solution exacte")
[Link](t, X_euler, ’g-d’, markersize=4, label="Approximation Euler")
[Link](t, X_milstein, ’r--d’, markersize=4, label="Approximation Milstein")
Code de figure ??
import numpy as np
import [Link] as plt
# Paramètres
T = 1.0
X0 = 1.0
mu = 1.5
sigma = 1
M = 3000 # simulations Monte Carlo
err_euler = []
err_milstein = []
for N in N_values:
h = T / N
euler_error = 0
milstein_error = 0
for _ in range(M):
dW = [Link](h) * [Link](N)
W_T = [Link](dW)
# solution exacte
X_exact = X0 * [Link]((mu - 0.5*sigma**2)*T + sigma*W_T)
# initialisation
Xe = X0
Xm = X0
for n in range(N):
# Euler-Maruyama
Xe = Xe + mu*Xe*h + sigma*Xe*dW[n]
# Milstein
Xm = Xm + mu*Xm*h + sigma*Xm*dW[n] \
+ 0.5*sigma**2*Xm*(dW[n]**2 - h)
err_euler.append(euler_error / M)
err_milstein.append(milstein_error / M)
# graphe
h_vals = [Link]([T/N for N in N_values])
[Link](figsize=(8,5))
[Link](h_vals, err_euler, ’go-’, label="Euler")
[Link](h_vals, err_milstein, ’ro-’, label="Milstein")
[Link]("Pas h")
[Link]("Erreur forte moyenne")
[Link]("Convergence forte - Black Scholes")
[Link]()
[Link](True)
[Link]()