SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
Koïos Intelligence
Recherche et développement
Atelier de recherche
Comment générer des points quasi-Monte
Carlo efficacement
Application : tarification d’une option asiatique
Mohamed Hanini
hanini@koiosintelligence.ca
November 24, 2017
Ko IntelligenceIos 1
Contenu
Introduction
Approche théorique
Application
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 2
Qu’est ce qu’on peut faire avec les méthodes QMC?
Applications
1. Évaluer des produits dérivés (Front office),
2. Calculer une Valeur à Risque (Risque de marché),
3. Sensibilité des prix d’options (Greeks- Couverture),
4. Centre d’appel et systèmes de service,
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 2
Qu’est ce qu’on peut faire avec les méthodes QMC?
Applications
1. Évaluer des produits dérivés (Front office),
2. Calculer une Valeur à Risque (Risque de marché),
3. Sensibilité des prix d’options (Greeks- Couverture),
4. Centre d’appel et systèmes de service,
Pourquoi QMC ?
1. Plus effice que Monte Carlo,
2. Efficace ? Gain en temps et espace de stockage!.
Exemple : l’impact macro-économique d’un choc sur une grande
institution.
Défis ? agrégation de données, temps de calcul etc..
D’où l’importante d’efficacité en temps et en espace mémoire.
Présentation visant une audiance "quantitative"!
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 3
Comment peut on approximer une intégrale?
Méthodes
1. Monte Carlo (MC),
2. Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC).
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 3
Comment peut on approximer une intégrale?
Méthodes
1. Monte Carlo (MC),
2. Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC).
Notre approche pratique QMC-RQMC
1. Lancer une recherche pour une méthode de construction donnée
pour trouver un vecteur générateur. comment trouver ce vecteur
?
2. Minimiser un critère choisi (une figure de mérite).
Représentation du critère:
Erreur pire cas, erreur quadratique (QMC),
variance (RQMC),
Autres?
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 4
Monte Carlo (MC)
Méthodes d’intégration multidimensionnelle
Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée
(RQMC)
Soit X un système (output) à valeur réelle qu’on veut simuler, qui
peut être écrit en fonction de, disons d valeurs successives d’une
séquence, par exemple: X = f(u1, u2, . . . , ud).
µ = E[X] = E[f(u1, u2, . . . , ud)] =
[0,1)d
f(u) du
Technique d’inversion Exemple: X une V.A exp(λ)
F(X) = 1 − exp(−λX) = U ∼ U[0, 1)
⇒ X = − log(1 − U)/λ.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 5
Monte Carlo (MC)
Méthodes d’intégration multidimensionnelle
Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée
(RQMC)
µ = E[X] = E[f(U)] =
[0,1)d
f(u) du
MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d
, soit
U0, . . . , Un−1;
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 5
Monte Carlo (MC)
Méthodes d’intégration multidimensionnelle
Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée
(RQMC)
µ = E[X] = E[f(U)] =
[0,1)d
f(u) du
MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d
, soit
U0, . . . , Un−1; Estimer µ par ˆµn,MC = 1
n
n−1
i=0 f(Ui),
En = ˆµn,MC − µ converge en Op(n−1/2
).
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 5
Monte Carlo (MC)
Méthodes d’intégration multidimensionnelle
Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée
(RQMC)
µ = E[X] = E[f(U)] =
[0,1)d
f(u) du
MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d
, soit
U0, . . . , Un−1; Estimer µ par ˆµn,MC = 1
n
n−1
i=0 f(Ui),
En = ˆµn,MC − µ converge en Op(n−1/2
).
Var[ˆµn,MC] = E[(ˆµn,MC − µ)2
)] = σ2
/n = O(n−1
) converge lentement
comme une fonction de n, où σ2
= [0,1)d f(u) du − µ2
.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 5
Monte Carlo (MC)
Méthodes d’intégration multidimensionnelle
Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée
(RQMC)
µ = E[X] = E[f(U)] =
[0,1)d
f(u) du
MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d
, soit
U0, . . . , Un−1; Estimer µ par ˆµn,MC = 1
n
n−1
i=0 f(Ui),
En = ˆµn,MC − µ converge en Op(n−1/2
).
Var[ˆµn,MC] = E[(ˆµn,MC − µ)2
)] = σ2
/n = O(n−1
) converge lentement
comme une fonction de n, où σ2
= [0,1)d f(u) du − µ2
. Théorème
limite central
√
n(ˆµn,MC − µ)/σ ⇒ N(0, 1) lorsque n → ∞.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 6
Quasi-Monte Carlo (QMC)
Intégration multidimensionnelle
µ = E[f(U)] =
[0,1)d
f(u) du
Estimateur QMC
ˆµn,QMC =
1
n
n−1
i=0
f(ui).
On remplace les points indépendants MC par u0, . . . , un−1 un
ensemble de n points (structurés) qui couvrent le cube unitaire (0, 1)d
de manière plus uniforme que les points MC.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 6
Quasi-Monte Carlo (QMC)
Intégration multidimensionnelle
µ = E[f(U)] =
[0,1)d
f(u) du
Estimateur QMC
ˆµn,QMC =
1
n
n−1
i=0
f(ui).
On remplace les points indépendants MC par u0, . . . , un−1 un
ensemble de n points (structurés) qui couvrent le cube unitaire (0, 1)d
de manière plus uniforme que les points MC.
Méthodes d’intégration: réseaux polynomiaux et digitaux.
Méthodes de construction: exemple Korobov, CBC etc...
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 6
Quasi-Monte Carlo (QMC)
Intégration multidimensionnelle
µ = E[f(U)] =
[0,1)d
f(u) du
Estimateur QMC
ˆµn,QMC =
1
n
n−1
i=0
f(ui).
On remplace les points indépendants MC par u0, . . . , un−1 un
ensemble de n points (structurés) qui couvrent le cube unitaire (0, 1)d
de manière plus uniforme que les points MC.
Méthodes d’intégration: réseaux polynomiaux et digitaux.
Méthodes de construction: exemple Korobov, CBC etc...
Erreur pire cas converge dans O(n−α+
) où α ≥ 1
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 7
Quasi-Monte Carlo randomisé (RQMC)
Intégration multidimensionnelle
Estimateur RQMC
ˆµn,RQMC,l =
1
n
n−1
i=0
f(ui).
On va randomiser l’ensemble de n points structurés u0, . . . , un−1 : de
façon individuelle. Chaque point Ui ∼ U[0, 1)d
.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 7
Quasi-Monte Carlo randomisé (RQMC)
Intégration multidimensionnelle
Estimateur RQMC
ˆµn,RQMC,l =
1
n
n−1
i=0
f(ui).
On va randomiser l’ensemble de n points structurés u0, . . . , un−1 : de
façon individuelle. Chaque point Ui ∼ U[0, 1)d
. Avec m estimateurs
i.i.d, on peut construire un estimateur sans biais
ˆµn,RQMC = 1
m
m
l=1 ˆµn,RQMC,l.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 7
Quasi-Monte Carlo randomisé (RQMC)
Intégration multidimensionnelle
Estimateur RQMC
ˆµn,RQMC,l =
1
n
n−1
i=0
f(ui).
On va randomiser l’ensemble de n points structurés u0, . . . , un−1 : de
façon individuelle. Chaque point Ui ∼ U[0, 1)d
. Avec m estimateurs
i.i.d, on peut construire un estimateur sans biais
ˆµn,RQMC = 1
m
m
l=1 ˆµn,RQMC,l.
Var[ˆµn,RQMC] = Var[f(ui)]
n + 2
n2 i<j Cov[f(ui), f(uj)].
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 8
Réseau d’intégration
Réseau primal
Ld =



v =
d
j=1
hjvj tel que chaque hj ∈ Z



,
où v1(z), v2(z), . . . , vd(z) ∈ Rd
sont linéairement indépendants sur R
et Ld contient Zd
, Pn = Ld ∩ [0, 1)d
.
.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 8
Réseau d’intégration
Réseau primal
Ld =



v =
d
j=1
hjvj tel que chaque hj ∈ Z



,
où v1(z), v2(z), . . . , vd(z) ∈ Rd
sont linéairement indépendants sur R
et Ld contient Zd
, Pn = Ld ∩ [0, 1)d
.
Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1.
nv1 = a = (a1, a2, . . . , ad) ∈ Zd
n.
.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 8
Réseau d’intégration
Réseau primal
Ld =



v =
d
j=1
hjvj tel que chaque hj ∈ Z



,
où v1(z), v2(z), . . . , vd(z) ∈ Rd
sont linéairement indépendants sur R
et Ld contient Zd
, Pn = Ld ∩ [0, 1)d
.
Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1.
nv1 = a = (a1, a2, . . . , ad) ∈ Zd
n.
Exemple: Construction de Korobov a = (1, a, a2
mod n, . . . , ad−1
mod n) = O(n), car 0 ≤ a ≤ n − 1.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 8
Réseau d’intégration
Réseau primal
Ld =



v =
d
j=1
hjvj tel que chaque hj ∈ Z



,
où v1(z), v2(z), . . . , vd(z) ∈ Rd
sont linéairement indépendants sur R
et Ld contient Zd
, Pn = Ld ∩ [0, 1)d
.
Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1.
nv1 = a = (a1, a2, . . . , ad) ∈ Zd
n.
Exemple: Construction de Korobov a = (1, a, a2
mod n, . . . , ad−1
mod n) = O(n), car 0 ≤ a ≤ n − 1.
Réseau dual
L⊥
d = h ∈ Rd
: hT
v ∈ Z pour tout v ∈ Ld ⊆ Zd
.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 8
Réseau d’intégration
Réseau primal
Ld =



v =
d
j=1
hjvj tel que chaque hj ∈ Z



,
où v1(z), v2(z), . . . , vd(z) ∈ Rd
sont linéairement indépendants sur R
et Ld contient Zd
, Pn = Ld ∩ [0, 1)d
.
Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1.
nv1 = a = (a1, a2, . . . , ad) ∈ Zd
n.
Exemple: Construction de Korobov a = (1, a, a2
mod n, . . . , ad−1
mod n) = O(n), car 0 ≤ a ≤ n − 1.
Réseau dual
L⊥
d = h ∈ Rd
: hT
v ∈ Z pour tout v ∈ Ld ⊆ Zd
.
Représentation des critères dans le dual
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 9
Comment choisir le vecteur générateur?
Approche naïve:
1. Considérant toutes les possibilités pour trouver le vecteur
générateur,
2. minimiser l’erreur pire cas ou la variance du problème qu’on a en
main.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 9
Comment choisir le vecteur générateur?
Approche naïve:
1. Considérant toutes les possibilités pour trouver le vecteur
générateur,
2. minimiser l’erreur pire cas ou la variance du problème qu’on a en
main.
Approche pratique
1. Raffiner l’espace de recherche pour trouver g(z)
2. minimiser une figure of mérite donnée
Avec une méthode de construction choisie:
composante par composante (CBC),
composante par composante rapide (Fast-CBC),
Korobov
Autres?
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 10
Exemple de Règle de réseau rang 1
Réseau de rang 1
Pn = ui =
ia
n
mod 1 : 0 ≤ i ≤ n − 1 ,
Règle de réseau de rang 1 = 1
n
n−1
i=0 f(ui),
nombre de points: n,
vecteur générateur: a ∈ Zd
.
0 1
0
1
a/n
u1
u2
original
a = (1, 3)
0 1
0
1
u2
shifted
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 10
Exemple de Règle de réseau rang 1
Réseau de rang 1
Pn = ui =
ia
n
mod 1 : 0 ≤ i ≤ n − 1 ,
Règle de réseau de rang 1 = 1
n
n−1
i=0 f(ui),
nombre de points: n,
vecteur générateur: a ∈ Zd
.
Règle de réseau randomisé
Pn,∆ = {Ui = (ui + U) mod 1 : 0 ≤ i ≤ n − 1} ,
point aléatoire: U ∼ U[0, 1)d
.
0 1
0
1
a/n
u1
u2
original
a = (1, 3)
0 1
0
1
U
u2
shifted
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 10
Exemple de Règle de réseau rang 1
Réseau de rang 1
Pn = ui =
ia
n
mod 1 : 0 ≤ i ≤ n − 1 ,
Règle de réseau de rang 1 = 1
n
n−1
i=0 f(ui),
nombre de points: n,
vecteur générateur: a ∈ Zd
.
Règle de réseau randomisé
Pn,∆ = {Ui = (ui + U) mod 1 : 0 ≤ i ≤ n − 1} ,
point aléatoire: U ∼ U[0, 1)d
.
0 1
0
1
a/n
u1
u2
original
a = (1, 3)
0 1
0
1
U
u2
shifted
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 11
Réseau d’intégration
Projection d’un réseau d’intégration
⇒ On veut idéalement n valeurs distinctes pour chaque projection à
une dimension Pn({j}) de Pn ainsi les composantes de a se trouvent
dans:
Un = {a ∈ Z : 1 ≤ a ≤ n − 1 et pgcd(a, n) = 1}.
Pour n premier:
il y’a n − 1 choix pour chaque composante de a,
il y’a (n − 1)d
possibilités pour générer le vecteur a.
Pour tout sous ensemble ν ⊆ {1, 2, . . . , d}, la projection Ld(ν) de Ld
est aussi un réseau, ayant un ensemble de points Pn(ν).
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 12
Réseau d’intégration polynomial
Réseau primal
Ld =



v(z) =
d
j=1
hjvj tel que chaque hj ∈ Zb[z]



,
où v1(z), v2(z), . . . , vd(z) ∈ Ld
b (ensemble de séries de Laurent) où
vj(z) = gj(z)/P(z), lequel P(z) ∈ Zb[z] un polynôme de degré m.
Pn = ϕ(Ld) ∩ [0, 1)d
.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 12
Réseau d’intégration polynomial
Réseau primal
Ld =



v(z) =
d
j=1
hjvj tel que chaque hj ∈ Zb[z]



,
où v1(z), v2(z), . . . , vd(z) ∈ Ld
b (ensemble de séries de Laurent) où
vj(z) = gj(z)/P(z), lequel P(z) ∈ Zb[z] un polynôme de degré m.
Pn = ϕ(Ld) ∩ [0, 1)d
.
Réseau dual
L∗⊥
d =



h ∈ Nd
0 :
d
j=1
hj(z)vj(z) ∈ Zb[z] pour tout v(z) ∈ Ld



,
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 12
Réseau d’intégration polynomial
Réseau primal
Ld =



v(z) =
d
j=1
hjvj tel que chaque hj ∈ Zb[z]



,
où v1(z), v2(z), . . . , vd(z) ∈ Ld
b (ensemble de séries de Laurent) où
vj(z) = gj(z)/P(z), lequel P(z) ∈ Zb[z] un polynôme de degré m.
Pn = ϕ(Ld) ∩ [0, 1)d
.
Réseau dual
L∗⊥
d =



h ∈ Nd
0 :
d
j=1
hj(z)vj(z) ∈ Zb[z] pour tout v(z) ∈ Ld



,
Représentation des critères dans le dual
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 13
Construction des points
Structure des points pour une règle de réseau polynomial de rang 1
ui,j = ϕ
qi(z)gj(z) mod P(z)
P(z)
tel que ϕ : Lb → R.
=⇒ ϕ
∞
l=w
xlz−l
=
∞
l=w
(xl)b−l
,
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 13
Construction des points
Structure des points pour une règle de réseau polynomial de rang 1
ui,j = ϕ
qi(z)gj(z) mod P(z)
P(z)
tel que ϕ : Lb → R.
=⇒ ϕ
∞
l=w
xlz−l
=
∞
l=w
(xl)b−l
,
Approche pratique
1. Tronquer la série de Laurent à L ui,j =
L
l=w xlb−l
,
2. Trouver tous les xl ∈ {0, 1} pour une base b = 2.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 13
Construction des points
Structure des points pour une règle de réseau polynomial de rang 1
ui,j = ϕ
qi(z)gj(z) mod P(z)
P(z)
tel que ϕ : Lb → R.
=⇒ ϕ
∞
l=w
xlz−l
=
∞
l=w
(xl)b−l
,
Approche pratique
1. Tronquer la série de Laurent à L ui,j =
L
l=w xlb−l
,
2. Trouver tous les xl ∈ {0, 1} pour une base b = 2.
ui = (u1,i, u2,i, . . . , uj,i, . . . , ui,d) le ième point
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 14
Exemple de Règle de réseau polynomial rang 1
Règle de réseau polynomial de rang 1
Pn = ui =
qi(z)g(z) mod P(z)
P(z)
: q(z) ∈ Zb[z]
Réseau polynomial de rang 1 = 1
n
n−1
i=0 f(ui)
Polynôme primitif: P(z) de degré m.
vecteur générateur: g(z) ∈ Zb[z]d
Exemple (cas particulier): règle de Korobov g(z) = (1, g(z), g(z)2
mod P(z), . . . g(z)d−1
mod P(z))
R
¯
éseau polynomial de rang 1 randomisé
Pn,∆ = {ui = ui + ∆ : 0 ≤ i ≤ n − 1}
point aléatoire: ∆ ∼ U[0, 1)d
, ˆui,j = (ui,j + ∆i,j) mod b
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 14
Exemple de Règle de réseau polynomial rang 1
Règle de réseau polynomial de rang 1
Pn = ui =
qi(z)g(z) mod P(z)
P(z)
: q(z) ∈ Zb[z]
Réseau polynomial de rang 1 = 1
n
n−1
i=0 f(ui)
Polynôme primitif: P(z) de degré m.
vecteur générateur: g(z) ∈ Zb[z]d
Exemple (cas particulier): règle de Korobov g(z) = (1, g(z), g(z)2
mod P(z), . . . g(z)d−1
mod P(z))
R
¯
éseau polynomial de rang 1 randomisé
Pn,∆ = {ui = ui + ∆ : 0 ≤ i ≤ n − 1}
point aléatoire: ∆ ∼ U[0, 1)d
, ˆui,j = (ui,j + ∆i,j) mod b
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 14
Exemple de Règle de réseau polynomial rang 1
Règle de réseau polynomial de rang 1
Pn = ui =
qi(z)g(z) mod P(z)
P(z)
: q(z) ∈ Zb[z]
Réseau polynomial de rang 1 = 1
n
n−1
i=0 f(ui)
Polynôme primitif: P(z) de degré m.
vecteur générateur: g(z) ∈ Zb[z]d
Exemple (cas particulier): règle de Korobov g(z) = (1, g(z), g(z)2
mod P(z), . . . g(z)d−1
mod P(z))
R
¯
éseau polynomial de rang 1 randomisé
Pn,∆ = {ui = ui + ∆ : 0 ≤ i ≤ n − 1}
point aléatoire: ∆ ∼ U[0, 1)d
, ˆui,j = (ui,j + ∆i,j) mod b
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 15
Exemple de Règle de réseau polynomial de rang 1
Erreur quadratique QMC
Peut converger avec n plus rapide que Monte Carlo dépendant de :
la régularité de la fonction à intégrer
Uniformité des points du réseau polynomial (choix du paramètre
g(z))
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 15
Exemple de Règle de réseau polynomial de rang 1
Erreur quadratique QMC
Peut converger avec n plus rapide que Monte Carlo dépendant de :
la régularité de la fonction à intégrer
Uniformité des points du réseau polynomial (choix du paramètre
g(z))
réseau polynomial de
n = 64 points
P(z) = z6
+ z + 1 en
2D
0 1
0
1
Bon réseau
g(z) = (1, z5 +
z3 + z2 + z + 1)
0 1
0
1
très mauvais réseau
g(z) = (1, 1)
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 16
Réseaux digitaux
Définition
Soit un nombre premier b ≥ 2, appelé base, un réseau digital en base b
formé par n = bm
points en d dimensions est défini en sélectionnant d
matrices génératrices C1, C2, . . . , Cd, où chaque Cj est une ∞ × m.
La matrice dont les éléments appartiennent aux corps fini
Fb = 0, 1, 2, . . . , b − 1. ⇒ La matrice Cj détermine la coordonné j de
tous les points.
On définit ui pour i = 0, 1, 2, . . . bm
− 1,
on écrit la représentation binaire de i en base b,
on multiplie le vecteur des coefficients binaires par Cj mod b
pour obtenir les coefficients binaires de ui,j.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 16
Réseaux digitaux
Définition
Soit un nombre premier b ≥ 2, appelé base, un réseau digital en base b
formé par n = bm
points en d dimensions est défini en sélectionnant d
matrices génératrices C1, C2, . . . , Cd, où chaque Cj est une ∞ × m.
La matrice dont les éléments appartiennent aux corps fini
Fb = 0, 1, 2, . . . , b − 1. ⇒ La matrice Cj détermine la coordonné j de
tous les points.
⇒ Semblable à la composante gj(z) du vecteur g(z)
On définit ui pour i = 0, 1, 2, . . . bm
− 1,
on écrit la représentation binaire de i en base b,
on multiplie le vecteur des coefficients binaires par Cj mod b
pour obtenir les coefficients binaires de ui,j.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 17
Réseaux digitaux
Construction des points
Soit
i =
k−1
l=0
ai,lbl
,
et soit



ui,j,1
ui,j,2
...


 = Cj





ai,0
ai,1
...
ai,k−1





mod b.
ui,j =
∞
l=1
ui,j,lb−l
et ui = (ui,1, ui,2, . . . , ui,d).
⇒ L’ensemble de points résultant est un réseau digital en base b. En
pratique on tronque l’expansion ui,j, disons à L. Pourb = 2, les Cj
sont des L × m matrices binaires.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 18
Transformée de Walsh
f(u) =
h∈Nd
0
ˆf(h) walb,h(u),
où
ˆf(h) = [0,1)d f(u)walb,h(u)du et walb,h(u) = exp (2πih · u)/b.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 18
Transformée de Walsh
f(u) =
h∈Nd
0
ˆf(h) walb,h(u),
où
ˆf(h) = [0,1)d f(u)walb,h(u)du et walb,h(u) = exp (2πih · u)/b.
Erreur d’intégration (propriété de Sloan)
En =
1
n
n−1
i=0
f(ui) −
[0,1)d
f(u) du =
0=h∈L∗⊥
d
ˆf(h).
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 19
Expression de la variance
Pour un réseau randomisé, la variance peut s’exprimer:
Var[ˆµn,RQMC] =
0=h∈L∗⊥
d
| ˆf(h)|2
.
D’un point de vue de la réduction de la variance, un réseau
optimal pour f minimise Df (Pn)2
= Var[ˆµn,RQMC].
Pas très utilisé comme critère, solution ?
⇒ Erreur pire cas
e(HK; Pn) = sup
f∈HK ,||f||K ≤1
|Qn(f) − I(f)|.
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 20
Critères pratiques
Soit la classe de fonctions suivante:
Eν,d(c) = {f : [0, 1]d
→ R : | ˆf(h)| ≤ c b−νµ1(h)
pour tout h ∈ Nd
0},
où ν > 1 et c > 0. On obtient ainsi
|Qn(f) − I(f)| ≤
0=h∈L∗⊥
d
c b−νµ1(h)
, ν > 1,
La quantité
Tν =
0=h∈L∗⊥
d
c b−νµ1(h)
, ν > 1,
Dépend uniquement de la classe de fonctions Eν,d(1).
A implémenter!
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 21
De quoi on a besoin?
Pour trouver des bons réseaux digitaux et polynomiaux
Des figures de mérite et des poids adaptés à un problème,
pour un nombre de points n, pour un polynôme et une dimension
d,
plusieurs méthodes de constructions,
Options: comme la normalisation etc.
Nos travaux de recherche
Implanter les figures de mérite pour les réseaux digitaux et
polynomiaux.
Comparer (application) la performance des méthodes
d’intégration de notre logiciel par rapport aux autres méthodes
d’intégration.
Définir des nouveaux critères pour des classes de fonctions non
considérés (explorées) ⇒ fonctions non bornées! ?
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 22
Ce qui existe déjà
À notre connaissance
Dirk Nuyens’ Code Matlab
une méthode de construction (Fast CBC)
Choix de paramètres restreint (ex: seulement une dizaine de
polynômes primitifs )
seulement un type de poids (poids produit)
Pas de points QMC/RQMC points générés et testés! pas
d’application!!
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 22
Ce qui existe déjà
À notre connaissance
Dirk Nuyens’ Code Matlab
une méthode de construction (Fast CBC)
Choix de paramètres restreint (ex: seulement une dizaine de
polynômes primitifs )
seulement un type de poids (poids produit)
Pas de points QMC/RQMC points générés et testés! pas
d’application!!
Des tables de vecteur générateur
J. Dick
D. Nuyens
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 23
Structure de Polylatbuilder
Points du
réseau poly-
nomial et digital
Figures de mérite Type de poids Méthodes de
construction
Erreur dans
un espace de
Walsh
t-valeur
Test spectral
Autre heuris-
tique ?
Poids Produit
Poids dépen-
dant de
l’ordre
Poids General
Poids produit-
et-dépendant-
ordre (POD)
CBC
Fast CBC
Random Ko-
robov
Korobov
Exhaustive
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 24
Mesures de qualité
Figure de mérite implantée
E(f, g(z))
1/q
) = e(g(z); n; ||.||p,α,γ)
La pire fonction:
χ(g(z); n; ||.||p,α,γ) =
0=v⊂1:t
γv
q/2
j∈v
ω(uj)
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 24
Mesures de qualité
Figure de mérite implantée
E(f, g(z))
1/q
) = e(g(z); n; ||.||p,α,γ)
La pire fonction:
χ(g(z); n; ||.||p,α,γ) =
0=v⊂1:t
γv
q/2
j∈v
ω(uj)
Le noyau
ω(uj) =
∞
h=1
wal2,h(uj)
2qα log2hj
= 12(
1
6
− 2 log)2uj −1
)
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 25
Méthodes de construction
Construction CBC
Sachant n, on construit un vecteur générateur
g(z) = (g1(z), g2(z), . . . , gd(z)).
On fixe g1(z) = 1,
g1(z) reste fixe, on choisit g2(z) du sous ensemble des
composantes de vecteurs générateurs. pour minimiser le critère
d’erreur désiré en 2 dimensions,
With g1(z), g2(z) restent fixe, on choisit g3(z) du sous ensemble
des composantes de vecteurs générateurs. pour minimiser le
critère d’erreur désiré en 3 dimensions,
ed(gd(z); Pn; ||.||p,α,γ)q
= ed−1(g(z)d−1; n; ||.||p,α,γ)q
+ Θd(g(z)d)
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 26
Results – g(z) with Fast CBC
Valeurs des g(z)
P(z) = z10
+ z3
+ 1 P(z) = z7
+ z + 1
t gt(z) Square Error gt(z) Square Error
1 1 1.58 10−8
1 1.01 10−6
2 z9
+ z8
+ z5
3.6 10−8
z6
+ z5
+ z3
+ z 2.22 10−6
3 z9
+ z8
+ z6
+ z2
+ z + 1 6.36 10−8
z6
+ z5
+ z4
+ z2
3.74 10−6
4 z8
+ z6
+ z5
+ z4
+ z3
+ z2
+ z 1.03 10−7
z5
+ z4
+ z + 1 5.70 10−6
5 z8
+ z6
+ z1
1.57 10−7
z5
+ z3
8.18 10−6
6 z9
+ z7
+ z4
+ z2
+ z 2.36 10−7
z5
+ z4
+ z3
1.16 10−5
7 z8
+ z7
+ z6
+ z3
+ z2
3.34 10−7
z6
+ z3
+ z + 1 1.56 10−5
8 z9
+ z8
+ z6
+ z5
+ z4
+ z3
+ 1 4.55 10−7
z6
+ z5
+ z3
+ z2
+ 1 2.03 10−5
9 z9
+ z8
+ z6
+ z4
+ z3
+ z2
6.25 10−7
z6
+ z5
+ z4
+ z3
+ z + 1 2.7 10−5
10 z8
+ z6
+ z5
+ z4
+ z2
+ 1 8.64 10−7
z5
+ z4
+ z3
+ z 3.43 10−5
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 27
QMC square error
Fait en C++
Résultats encourageants
Bonne uniformité de la règle de réseau polynomial (bon
paramètre g(z))
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 27
QMC square error
Fait en C++
Résultats encourageants
Bonne uniformité de la règle de réseau polynomial (bon
paramètre g(z))
points du réseau
polynomial pour
n = 1023, P(z) =
z10
+ z3
+ 1 en 2D
0 1
0
1
good lattice
g(z)
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 28
Application Financière: option asiatique
Équation différentielle stochastique (EDS)
dSt = µSt dt + σSt dWt
La solution de EDS St = S0 exp(r−σ2
/2)t+σBt
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 28
Application Financière: option asiatique
Équation différentielle stochastique (EDS)
dSt = µSt dt + σSt dWt
La solution de EDS St = S0 exp(r−σ2
/2)t+σBt
Tarification de l’option
La payoff de l’option est X = e−rt
max(0, 1
d
s
j=1 Stj
− K), et le
prix
c = E[X |Ft]
v(s0, T) = E[e−rt
f(S1 . . . St) |Ft]
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 29
Option d’achat asiatique– Résultats numériques
v(s0, T) = e−rt
(0,1)d
max(0,
1
d
d
i=1
S0 exp [(r − σ2
)ti
+σ ti − ti−1
i
j=1
Φ−1
(uj)] − K)du1 . . . dud
Techniques de réduction de variance pour MC
control variate CV1 = e−rt
max(0, Y − K) où Y =
t
j=1(Stj )1/d
control variate CV2 = e−rt
max(0, Y − K) où Y =
t
j=1(Stj
)1/d
Variable antithetique (VA)
Mohamed Hanini | Comment générer des points quasi-Monte Carlo
Ko IntelligenceIos 30
Call Asian option– Numerical results
Comparaison des méthodes QMC
Table: Valeur de l’option asiatique avec un temps d’exercice basé sur la
configuration suivante:(j)/10, pour j = 1, 2, . . . , d = 10, un nombre de
n = 210
points, et un prix d’exercice K = 100
MC RQMC RQMC
Polynômes Entiers
Valeur de l’option 3.37 3.33 3.354
Écart type 4.52 0.015 0.025
Variance Ratio 95.17 33.06
Mohamed Hanini | Comment générer des points quasi-Monte Carlo

Contenu connexe

Tendances

2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニングNGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニングNVIDIA Japan
 
verilog coding of butterfly diagram
verilog coding of butterfly diagram verilog coding of butterfly diagram
verilog coding of butterfly diagram Venkat Malai Avichi
 
動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法Seiichi Uchida
 
Paper Summary of Disentangling by Factorising (Factor-VAE)
Paper Summary of Disentangling by Factorising (Factor-VAE)Paper Summary of Disentangling by Factorising (Factor-VAE)
Paper Summary of Disentangling by Factorising (Factor-VAE)준식 최
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)ryotat
 
救急車の有料化問題について
救急車の有料化問題について救急車の有料化問題について
救急車の有料化問題について内田 啓太郎
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界Fixstars Corporation
 
PR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear BottlenecksPR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear BottlenecksJinwon Lee
 
第4回 配信講義 計算科学技術特論B(2022)
第4回 配信講義 計算科学技術特論B(2022)第4回 配信講義 計算科学技術特論B(2022)
第4回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
[DL輪読会]Object-Centric Learning with Slot Attention
[DL輪読会]Object-Centric Learning with Slot Attention[DL輪読会]Object-Centric Learning with Slot Attention
[DL輪読会]Object-Centric Learning with Slot AttentionDeep Learning JP
 
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log DistortionRate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion奈良先端大 情報科学研究科
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDKNVIDIA Japan
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)marsee101
 

Tendances (20)

2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニングNGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
 
verilog coding of butterfly diagram
verilog coding of butterfly diagram verilog coding of butterfly diagram
verilog coding of butterfly diagram
 
動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法動的計画法の基礎と応用 ~色々使える大局的最適化法
動的計画法の基礎と応用 ~色々使える大局的最適化法
 
Paper Summary of Disentangling by Factorising (Factor-VAE)
Paper Summary of Disentangling by Factorising (Factor-VAE)Paper Summary of Disentangling by Factorising (Factor-VAE)
Paper Summary of Disentangling by Factorising (Factor-VAE)
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
 
救急車の有料化問題について
救急車の有料化問題について救急車の有料化問題について
救急車の有料化問題について
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
動的計画法
動的計画法動的計画法
動的計画法
 
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
 
PR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear BottlenecksPR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
 
第4回 配信講義 計算科学技術特論B(2022)
第4回 配信講義 計算科学技術特論B(2022)第4回 配信講義 計算科学技術特論B(2022)
第4回 配信講義 計算科学技術特論B(2022)
 
[DL輪読会]Object-Centric Learning with Slot Attention
[DL輪読会]Object-Centric Learning with Slot Attention[DL輪読会]Object-Centric Learning with Slot Attention
[DL輪読会]Object-Centric Learning with Slot Attention
 
Helib
HelibHelib
Helib
 
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log DistortionRate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
 

Similaire à Quasi Monte Carlo et ses applications financières ( pour une audience 'technique!!')

24032022075339668574813012.pdf
24032022075339668574813012.pdf24032022075339668574813012.pdf
24032022075339668574813012.pdfKarroumAbdelmalek
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases Tunisie collège
 
Projet d'Analyse Numérique
Projet d'Analyse NumériqueProjet d'Analyse Numérique
Projet d'Analyse NumériqueYassineElaroui2
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdfdonixwm
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfssuseref253b1
 
Meqanique du point materiel
Meqanique du point materielMeqanique du point materiel
Meqanique du point materielsarah Benmerzouk
 
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...Mohammed Bekkouche
 
CAO_et_asservissements.ppt
CAO_et_asservissements.pptCAO_et_asservissements.ppt
CAO_et_asservissements.pptPierreLancelot
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
presentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfpresentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfmouadwahidi
 
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Yassine Nasser
 

Similaire à Quasi Monte Carlo et ses applications financières ( pour une audience 'technique!!') (19)

24032022075339668574813012.pdf
24032022075339668574813012.pdf24032022075339668574813012.pdf
24032022075339668574813012.pdf
 
Pfa2
Pfa2 Pfa2
Pfa2
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
Projet d'Analyse Numérique
Projet d'Analyse NumériqueProjet d'Analyse Numérique
Projet d'Analyse Numérique
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdf
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdf
 
Meqanique du point materiel
Meqanique du point materielMeqanique du point materiel
Meqanique du point materiel
 
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
Defense of Mohammed Bekkouche's PhD Thesis : "Combining techniques of Bounded...
 
Récursivité
RécursivitéRécursivité
Récursivité
 
2-Algo.ppt
2-Algo.ppt2-Algo.ppt
2-Algo.ppt
 
Cours cluster si2e
Cours cluster si2eCours cluster si2e
Cours cluster si2e
 
Video
VideoVideo
Video
 
FIM702: lecture 7
FIM702: lecture 7FIM702: lecture 7
FIM702: lecture 7
 
La mesure logicielle
La mesure logicielleLa mesure logicielle
La mesure logicielle
 
CAO_et_asservissements.ppt
CAO_et_asservissements.pptCAO_et_asservissements.ppt
CAO_et_asservissements.ppt
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Reconstruction 3 D
Reconstruction 3 DReconstruction 3 D
Reconstruction 3 D
 
presentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfpresentation kadimi wahidi.pdf
presentation kadimi wahidi.pdf
 
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
 

Dernier

ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 

Dernier (6)

ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptx
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 

Quasi Monte Carlo et ses applications financières ( pour une audience 'technique!!')

  • 1. Koïos Intelligence Recherche et développement Atelier de recherche Comment générer des points quasi-Monte Carlo efficacement Application : tarification d’une option asiatique Mohamed Hanini hanini@koiosintelligence.ca November 24, 2017
  • 2. Ko IntelligenceIos 1 Contenu Introduction Approche théorique Application Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 3. Ko IntelligenceIos 2 Qu’est ce qu’on peut faire avec les méthodes QMC? Applications 1. Évaluer des produits dérivés (Front office), 2. Calculer une Valeur à Risque (Risque de marché), 3. Sensibilité des prix d’options (Greeks- Couverture), 4. Centre d’appel et systèmes de service, Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 4. Ko IntelligenceIos 2 Qu’est ce qu’on peut faire avec les méthodes QMC? Applications 1. Évaluer des produits dérivés (Front office), 2. Calculer une Valeur à Risque (Risque de marché), 3. Sensibilité des prix d’options (Greeks- Couverture), 4. Centre d’appel et systèmes de service, Pourquoi QMC ? 1. Plus effice que Monte Carlo, 2. Efficace ? Gain en temps et espace de stockage!. Exemple : l’impact macro-économique d’un choc sur une grande institution. Défis ? agrégation de données, temps de calcul etc.. D’où l’importante d’efficacité en temps et en espace mémoire. Présentation visant une audiance "quantitative"! Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 5. Ko IntelligenceIos 3 Comment peut on approximer une intégrale? Méthodes 1. Monte Carlo (MC), 2. Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC). Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 6. Ko IntelligenceIos 3 Comment peut on approximer une intégrale? Méthodes 1. Monte Carlo (MC), 2. Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC). Notre approche pratique QMC-RQMC 1. Lancer une recherche pour une méthode de construction donnée pour trouver un vecteur générateur. comment trouver ce vecteur ? 2. Minimiser un critère choisi (une figure de mérite). Représentation du critère: Erreur pire cas, erreur quadratique (QMC), variance (RQMC), Autres? Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 7. Ko IntelligenceIos 4 Monte Carlo (MC) Méthodes d’intégration multidimensionnelle Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC) Soit X un système (output) à valeur réelle qu’on veut simuler, qui peut être écrit en fonction de, disons d valeurs successives d’une séquence, par exemple: X = f(u1, u2, . . . , ud). µ = E[X] = E[f(u1, u2, . . . , ud)] = [0,1)d f(u) du Technique d’inversion Exemple: X une V.A exp(λ) F(X) = 1 − exp(−λX) = U ∼ U[0, 1) ⇒ X = − log(1 − U)/λ. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 8. Ko IntelligenceIos 5 Monte Carlo (MC) Méthodes d’intégration multidimensionnelle Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC) µ = E[X] = E[f(U)] = [0,1)d f(u) du MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d , soit U0, . . . , Un−1; Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 9. Ko IntelligenceIos 5 Monte Carlo (MC) Méthodes d’intégration multidimensionnelle Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC) µ = E[X] = E[f(U)] = [0,1)d f(u) du MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d , soit U0, . . . , Un−1; Estimer µ par ˆµn,MC = 1 n n−1 i=0 f(Ui), En = ˆµn,MC − µ converge en Op(n−1/2 ). Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 10. Ko IntelligenceIos 5 Monte Carlo (MC) Méthodes d’intégration multidimensionnelle Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC) µ = E[X] = E[f(U)] = [0,1)d f(u) du MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d , soit U0, . . . , Un−1; Estimer µ par ˆµn,MC = 1 n n−1 i=0 f(Ui), En = ˆµn,MC − µ converge en Op(n−1/2 ). Var[ˆµn,MC] = E[(ˆµn,MC − µ)2 )] = σ2 /n = O(n−1 ) converge lentement comme une fonction de n, où σ2 = [0,1)d f(u) du − µ2 . Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 11. Ko IntelligenceIos 5 Monte Carlo (MC) Méthodes d’intégration multidimensionnelle Monte Carlo (MC), Quasi-Monte Carlo (QMC) et QMC randomisée (RQMC) µ = E[X] = E[f(U)] = [0,1)d f(u) du MC standard: Générer n points (v.a.) i.i.d de U(0, 1)d , soit U0, . . . , Un−1; Estimer µ par ˆµn,MC = 1 n n−1 i=0 f(Ui), En = ˆµn,MC − µ converge en Op(n−1/2 ). Var[ˆµn,MC] = E[(ˆµn,MC − µ)2 )] = σ2 /n = O(n−1 ) converge lentement comme une fonction de n, où σ2 = [0,1)d f(u) du − µ2 . Théorème limite central √ n(ˆµn,MC − µ)/σ ⇒ N(0, 1) lorsque n → ∞. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 12. Ko IntelligenceIos 6 Quasi-Monte Carlo (QMC) Intégration multidimensionnelle µ = E[f(U)] = [0,1)d f(u) du Estimateur QMC ˆµn,QMC = 1 n n−1 i=0 f(ui). On remplace les points indépendants MC par u0, . . . , un−1 un ensemble de n points (structurés) qui couvrent le cube unitaire (0, 1)d de manière plus uniforme que les points MC. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 13. Ko IntelligenceIos 6 Quasi-Monte Carlo (QMC) Intégration multidimensionnelle µ = E[f(U)] = [0,1)d f(u) du Estimateur QMC ˆµn,QMC = 1 n n−1 i=0 f(ui). On remplace les points indépendants MC par u0, . . . , un−1 un ensemble de n points (structurés) qui couvrent le cube unitaire (0, 1)d de manière plus uniforme que les points MC. Méthodes d’intégration: réseaux polynomiaux et digitaux. Méthodes de construction: exemple Korobov, CBC etc... Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 14. Ko IntelligenceIos 6 Quasi-Monte Carlo (QMC) Intégration multidimensionnelle µ = E[f(U)] = [0,1)d f(u) du Estimateur QMC ˆµn,QMC = 1 n n−1 i=0 f(ui). On remplace les points indépendants MC par u0, . . . , un−1 un ensemble de n points (structurés) qui couvrent le cube unitaire (0, 1)d de manière plus uniforme que les points MC. Méthodes d’intégration: réseaux polynomiaux et digitaux. Méthodes de construction: exemple Korobov, CBC etc... Erreur pire cas converge dans O(n−α+ ) où α ≥ 1 Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 15. Ko IntelligenceIos 7 Quasi-Monte Carlo randomisé (RQMC) Intégration multidimensionnelle Estimateur RQMC ˆµn,RQMC,l = 1 n n−1 i=0 f(ui). On va randomiser l’ensemble de n points structurés u0, . . . , un−1 : de façon individuelle. Chaque point Ui ∼ U[0, 1)d . Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 16. Ko IntelligenceIos 7 Quasi-Monte Carlo randomisé (RQMC) Intégration multidimensionnelle Estimateur RQMC ˆµn,RQMC,l = 1 n n−1 i=0 f(ui). On va randomiser l’ensemble de n points structurés u0, . . . , un−1 : de façon individuelle. Chaque point Ui ∼ U[0, 1)d . Avec m estimateurs i.i.d, on peut construire un estimateur sans biais ˆµn,RQMC = 1 m m l=1 ˆµn,RQMC,l. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 17. Ko IntelligenceIos 7 Quasi-Monte Carlo randomisé (RQMC) Intégration multidimensionnelle Estimateur RQMC ˆµn,RQMC,l = 1 n n−1 i=0 f(ui). On va randomiser l’ensemble de n points structurés u0, . . . , un−1 : de façon individuelle. Chaque point Ui ∼ U[0, 1)d . Avec m estimateurs i.i.d, on peut construire un estimateur sans biais ˆµn,RQMC = 1 m m l=1 ˆµn,RQMC,l. Var[ˆµn,RQMC] = Var[f(ui)] n + 2 n2 i<j Cov[f(ui), f(uj)]. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 18. Ko IntelligenceIos 8 Réseau d’intégration Réseau primal Ld =    v = d j=1 hjvj tel que chaque hj ∈ Z    , où v1(z), v2(z), . . . , vd(z) ∈ Rd sont linéairement indépendants sur R et Ld contient Zd , Pn = Ld ∩ [0, 1)d . . Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 19. Ko IntelligenceIos 8 Réseau d’intégration Réseau primal Ld =    v = d j=1 hjvj tel que chaque hj ∈ Z    , où v1(z), v2(z), . . . , vd(z) ∈ Rd sont linéairement indépendants sur R et Ld contient Zd , Pn = Ld ∩ [0, 1)d . Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1. nv1 = a = (a1, a2, . . . , ad) ∈ Zd n. . Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 20. Ko IntelligenceIos 8 Réseau d’intégration Réseau primal Ld =    v = d j=1 hjvj tel que chaque hj ∈ Z    , où v1(z), v2(z), . . . , vd(z) ∈ Rd sont linéairement indépendants sur R et Ld contient Zd , Pn = Ld ∩ [0, 1)d . Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1. nv1 = a = (a1, a2, . . . , ad) ∈ Zd n. Exemple: Construction de Korobov a = (1, a, a2 mod n, . . . , ad−1 mod n) = O(n), car 0 ≤ a ≤ n − 1. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 21. Ko IntelligenceIos 8 Réseau d’intégration Réseau primal Ld =    v = d j=1 hjvj tel que chaque hj ∈ Z    , où v1(z), v2(z), . . . , vd(z) ∈ Rd sont linéairement indépendants sur R et Ld contient Zd , Pn = Ld ∩ [0, 1)d . Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1. nv1 = a = (a1, a2, . . . , ad) ∈ Zd n. Exemple: Construction de Korobov a = (1, a, a2 mod n, . . . , ad−1 mod n) = O(n), car 0 ≤ a ≤ n − 1. Réseau dual L⊥ d = h ∈ Rd : hT v ∈ Z pour tout v ∈ Ld ⊆ Zd . Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 22. Ko IntelligenceIos 8 Réseau d’intégration Réseau primal Ld =    v = d j=1 hjvj tel que chaque hj ∈ Z    , où v1(z), v2(z), . . . , vd(z) ∈ Rd sont linéairement indépendants sur R et Ld contient Zd , Pn = Ld ∩ [0, 1)d . Réseau de rang 1: ui = iv1 mod 1 pour i = 0, 1, . . . , n − 1. nv1 = a = (a1, a2, . . . , ad) ∈ Zd n. Exemple: Construction de Korobov a = (1, a, a2 mod n, . . . , ad−1 mod n) = O(n), car 0 ≤ a ≤ n − 1. Réseau dual L⊥ d = h ∈ Rd : hT v ∈ Z pour tout v ∈ Ld ⊆ Zd . Représentation des critères dans le dual Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 23. Ko IntelligenceIos 9 Comment choisir le vecteur générateur? Approche naïve: 1. Considérant toutes les possibilités pour trouver le vecteur générateur, 2. minimiser l’erreur pire cas ou la variance du problème qu’on a en main. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 24. Ko IntelligenceIos 9 Comment choisir le vecteur générateur? Approche naïve: 1. Considérant toutes les possibilités pour trouver le vecteur générateur, 2. minimiser l’erreur pire cas ou la variance du problème qu’on a en main. Approche pratique 1. Raffiner l’espace de recherche pour trouver g(z) 2. minimiser une figure of mérite donnée Avec une méthode de construction choisie: composante par composante (CBC), composante par composante rapide (Fast-CBC), Korobov Autres? Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 25. Ko IntelligenceIos 10 Exemple de Règle de réseau rang 1 Réseau de rang 1 Pn = ui = ia n mod 1 : 0 ≤ i ≤ n − 1 , Règle de réseau de rang 1 = 1 n n−1 i=0 f(ui), nombre de points: n, vecteur générateur: a ∈ Zd . 0 1 0 1 a/n u1 u2 original a = (1, 3) 0 1 0 1 u2 shifted Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 26. Ko IntelligenceIos 10 Exemple de Règle de réseau rang 1 Réseau de rang 1 Pn = ui = ia n mod 1 : 0 ≤ i ≤ n − 1 , Règle de réseau de rang 1 = 1 n n−1 i=0 f(ui), nombre de points: n, vecteur générateur: a ∈ Zd . Règle de réseau randomisé Pn,∆ = {Ui = (ui + U) mod 1 : 0 ≤ i ≤ n − 1} , point aléatoire: U ∼ U[0, 1)d . 0 1 0 1 a/n u1 u2 original a = (1, 3) 0 1 0 1 U u2 shifted Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 27. Ko IntelligenceIos 10 Exemple de Règle de réseau rang 1 Réseau de rang 1 Pn = ui = ia n mod 1 : 0 ≤ i ≤ n − 1 , Règle de réseau de rang 1 = 1 n n−1 i=0 f(ui), nombre de points: n, vecteur générateur: a ∈ Zd . Règle de réseau randomisé Pn,∆ = {Ui = (ui + U) mod 1 : 0 ≤ i ≤ n − 1} , point aléatoire: U ∼ U[0, 1)d . 0 1 0 1 a/n u1 u2 original a = (1, 3) 0 1 0 1 U u2 shifted Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 28. Ko IntelligenceIos 11 Réseau d’intégration Projection d’un réseau d’intégration ⇒ On veut idéalement n valeurs distinctes pour chaque projection à une dimension Pn({j}) de Pn ainsi les composantes de a se trouvent dans: Un = {a ∈ Z : 1 ≤ a ≤ n − 1 et pgcd(a, n) = 1}. Pour n premier: il y’a n − 1 choix pour chaque composante de a, il y’a (n − 1)d possibilités pour générer le vecteur a. Pour tout sous ensemble ν ⊆ {1, 2, . . . , d}, la projection Ld(ν) de Ld est aussi un réseau, ayant un ensemble de points Pn(ν). Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 29. Ko IntelligenceIos 12 Réseau d’intégration polynomial Réseau primal Ld =    v(z) = d j=1 hjvj tel que chaque hj ∈ Zb[z]    , où v1(z), v2(z), . . . , vd(z) ∈ Ld b (ensemble de séries de Laurent) où vj(z) = gj(z)/P(z), lequel P(z) ∈ Zb[z] un polynôme de degré m. Pn = ϕ(Ld) ∩ [0, 1)d . Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 30. Ko IntelligenceIos 12 Réseau d’intégration polynomial Réseau primal Ld =    v(z) = d j=1 hjvj tel que chaque hj ∈ Zb[z]    , où v1(z), v2(z), . . . , vd(z) ∈ Ld b (ensemble de séries de Laurent) où vj(z) = gj(z)/P(z), lequel P(z) ∈ Zb[z] un polynôme de degré m. Pn = ϕ(Ld) ∩ [0, 1)d . Réseau dual L∗⊥ d =    h ∈ Nd 0 : d j=1 hj(z)vj(z) ∈ Zb[z] pour tout v(z) ∈ Ld    , Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 31. Ko IntelligenceIos 12 Réseau d’intégration polynomial Réseau primal Ld =    v(z) = d j=1 hjvj tel que chaque hj ∈ Zb[z]    , où v1(z), v2(z), . . . , vd(z) ∈ Ld b (ensemble de séries de Laurent) où vj(z) = gj(z)/P(z), lequel P(z) ∈ Zb[z] un polynôme de degré m. Pn = ϕ(Ld) ∩ [0, 1)d . Réseau dual L∗⊥ d =    h ∈ Nd 0 : d j=1 hj(z)vj(z) ∈ Zb[z] pour tout v(z) ∈ Ld    , Représentation des critères dans le dual Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 32. Ko IntelligenceIos 13 Construction des points Structure des points pour une règle de réseau polynomial de rang 1 ui,j = ϕ qi(z)gj(z) mod P(z) P(z) tel que ϕ : Lb → R. =⇒ ϕ ∞ l=w xlz−l = ∞ l=w (xl)b−l , Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 33. Ko IntelligenceIos 13 Construction des points Structure des points pour une règle de réseau polynomial de rang 1 ui,j = ϕ qi(z)gj(z) mod P(z) P(z) tel que ϕ : Lb → R. =⇒ ϕ ∞ l=w xlz−l = ∞ l=w (xl)b−l , Approche pratique 1. Tronquer la série de Laurent à L ui,j = L l=w xlb−l , 2. Trouver tous les xl ∈ {0, 1} pour une base b = 2. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 34. Ko IntelligenceIos 13 Construction des points Structure des points pour une règle de réseau polynomial de rang 1 ui,j = ϕ qi(z)gj(z) mod P(z) P(z) tel que ϕ : Lb → R. =⇒ ϕ ∞ l=w xlz−l = ∞ l=w (xl)b−l , Approche pratique 1. Tronquer la série de Laurent à L ui,j = L l=w xlb−l , 2. Trouver tous les xl ∈ {0, 1} pour une base b = 2. ui = (u1,i, u2,i, . . . , uj,i, . . . , ui,d) le ième point Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 35. Ko IntelligenceIos 14 Exemple de Règle de réseau polynomial rang 1 Règle de réseau polynomial de rang 1 Pn = ui = qi(z)g(z) mod P(z) P(z) : q(z) ∈ Zb[z] Réseau polynomial de rang 1 = 1 n n−1 i=0 f(ui) Polynôme primitif: P(z) de degré m. vecteur générateur: g(z) ∈ Zb[z]d Exemple (cas particulier): règle de Korobov g(z) = (1, g(z), g(z)2 mod P(z), . . . g(z)d−1 mod P(z)) R ¯ éseau polynomial de rang 1 randomisé Pn,∆ = {ui = ui + ∆ : 0 ≤ i ≤ n − 1} point aléatoire: ∆ ∼ U[0, 1)d , ˆui,j = (ui,j + ∆i,j) mod b Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 36. Ko IntelligenceIos 14 Exemple de Règle de réseau polynomial rang 1 Règle de réseau polynomial de rang 1 Pn = ui = qi(z)g(z) mod P(z) P(z) : q(z) ∈ Zb[z] Réseau polynomial de rang 1 = 1 n n−1 i=0 f(ui) Polynôme primitif: P(z) de degré m. vecteur générateur: g(z) ∈ Zb[z]d Exemple (cas particulier): règle de Korobov g(z) = (1, g(z), g(z)2 mod P(z), . . . g(z)d−1 mod P(z)) R ¯ éseau polynomial de rang 1 randomisé Pn,∆ = {ui = ui + ∆ : 0 ≤ i ≤ n − 1} point aléatoire: ∆ ∼ U[0, 1)d , ˆui,j = (ui,j + ∆i,j) mod b Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 37. Ko IntelligenceIos 14 Exemple de Règle de réseau polynomial rang 1 Règle de réseau polynomial de rang 1 Pn = ui = qi(z)g(z) mod P(z) P(z) : q(z) ∈ Zb[z] Réseau polynomial de rang 1 = 1 n n−1 i=0 f(ui) Polynôme primitif: P(z) de degré m. vecteur générateur: g(z) ∈ Zb[z]d Exemple (cas particulier): règle de Korobov g(z) = (1, g(z), g(z)2 mod P(z), . . . g(z)d−1 mod P(z)) R ¯ éseau polynomial de rang 1 randomisé Pn,∆ = {ui = ui + ∆ : 0 ≤ i ≤ n − 1} point aléatoire: ∆ ∼ U[0, 1)d , ˆui,j = (ui,j + ∆i,j) mod b Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 38. Ko IntelligenceIos 15 Exemple de Règle de réseau polynomial de rang 1 Erreur quadratique QMC Peut converger avec n plus rapide que Monte Carlo dépendant de : la régularité de la fonction à intégrer Uniformité des points du réseau polynomial (choix du paramètre g(z)) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 39. Ko IntelligenceIos 15 Exemple de Règle de réseau polynomial de rang 1 Erreur quadratique QMC Peut converger avec n plus rapide que Monte Carlo dépendant de : la régularité de la fonction à intégrer Uniformité des points du réseau polynomial (choix du paramètre g(z)) réseau polynomial de n = 64 points P(z) = z6 + z + 1 en 2D 0 1 0 1 Bon réseau g(z) = (1, z5 + z3 + z2 + z + 1) 0 1 0 1 très mauvais réseau g(z) = (1, 1) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 40. Ko IntelligenceIos 16 Réseaux digitaux Définition Soit un nombre premier b ≥ 2, appelé base, un réseau digital en base b formé par n = bm points en d dimensions est défini en sélectionnant d matrices génératrices C1, C2, . . . , Cd, où chaque Cj est une ∞ × m. La matrice dont les éléments appartiennent aux corps fini Fb = 0, 1, 2, . . . , b − 1. ⇒ La matrice Cj détermine la coordonné j de tous les points. On définit ui pour i = 0, 1, 2, . . . bm − 1, on écrit la représentation binaire de i en base b, on multiplie le vecteur des coefficients binaires par Cj mod b pour obtenir les coefficients binaires de ui,j. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 41. Ko IntelligenceIos 16 Réseaux digitaux Définition Soit un nombre premier b ≥ 2, appelé base, un réseau digital en base b formé par n = bm points en d dimensions est défini en sélectionnant d matrices génératrices C1, C2, . . . , Cd, où chaque Cj est une ∞ × m. La matrice dont les éléments appartiennent aux corps fini Fb = 0, 1, 2, . . . , b − 1. ⇒ La matrice Cj détermine la coordonné j de tous les points. ⇒ Semblable à la composante gj(z) du vecteur g(z) On définit ui pour i = 0, 1, 2, . . . bm − 1, on écrit la représentation binaire de i en base b, on multiplie le vecteur des coefficients binaires par Cj mod b pour obtenir les coefficients binaires de ui,j. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 42. Ko IntelligenceIos 17 Réseaux digitaux Construction des points Soit i = k−1 l=0 ai,lbl , et soit    ui,j,1 ui,j,2 ...    = Cj      ai,0 ai,1 ... ai,k−1      mod b. ui,j = ∞ l=1 ui,j,lb−l et ui = (ui,1, ui,2, . . . , ui,d). ⇒ L’ensemble de points résultant est un réseau digital en base b. En pratique on tronque l’expansion ui,j, disons à L. Pourb = 2, les Cj sont des L × m matrices binaires. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 43. Ko IntelligenceIos 18 Transformée de Walsh f(u) = h∈Nd 0 ˆf(h) walb,h(u), où ˆf(h) = [0,1)d f(u)walb,h(u)du et walb,h(u) = exp (2πih · u)/b. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 44. Ko IntelligenceIos 18 Transformée de Walsh f(u) = h∈Nd 0 ˆf(h) walb,h(u), où ˆf(h) = [0,1)d f(u)walb,h(u)du et walb,h(u) = exp (2πih · u)/b. Erreur d’intégration (propriété de Sloan) En = 1 n n−1 i=0 f(ui) − [0,1)d f(u) du = 0=h∈L∗⊥ d ˆf(h). Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 45. Ko IntelligenceIos 19 Expression de la variance Pour un réseau randomisé, la variance peut s’exprimer: Var[ˆµn,RQMC] = 0=h∈L∗⊥ d | ˆf(h)|2 . D’un point de vue de la réduction de la variance, un réseau optimal pour f minimise Df (Pn)2 = Var[ˆµn,RQMC]. Pas très utilisé comme critère, solution ? ⇒ Erreur pire cas e(HK; Pn) = sup f∈HK ,||f||K ≤1 |Qn(f) − I(f)|. Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 46. Ko IntelligenceIos 20 Critères pratiques Soit la classe de fonctions suivante: Eν,d(c) = {f : [0, 1]d → R : | ˆf(h)| ≤ c b−νµ1(h) pour tout h ∈ Nd 0}, où ν > 1 et c > 0. On obtient ainsi |Qn(f) − I(f)| ≤ 0=h∈L∗⊥ d c b−νµ1(h) , ν > 1, La quantité Tν = 0=h∈L∗⊥ d c b−νµ1(h) , ν > 1, Dépend uniquement de la classe de fonctions Eν,d(1). A implémenter! Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 47. Ko IntelligenceIos 21 De quoi on a besoin? Pour trouver des bons réseaux digitaux et polynomiaux Des figures de mérite et des poids adaptés à un problème, pour un nombre de points n, pour un polynôme et une dimension d, plusieurs méthodes de constructions, Options: comme la normalisation etc. Nos travaux de recherche Implanter les figures de mérite pour les réseaux digitaux et polynomiaux. Comparer (application) la performance des méthodes d’intégration de notre logiciel par rapport aux autres méthodes d’intégration. Définir des nouveaux critères pour des classes de fonctions non considérés (explorées) ⇒ fonctions non bornées! ? Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 48. Ko IntelligenceIos 22 Ce qui existe déjà À notre connaissance Dirk Nuyens’ Code Matlab une méthode de construction (Fast CBC) Choix de paramètres restreint (ex: seulement une dizaine de polynômes primitifs ) seulement un type de poids (poids produit) Pas de points QMC/RQMC points générés et testés! pas d’application!! Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 49. Ko IntelligenceIos 22 Ce qui existe déjà À notre connaissance Dirk Nuyens’ Code Matlab une méthode de construction (Fast CBC) Choix de paramètres restreint (ex: seulement une dizaine de polynômes primitifs ) seulement un type de poids (poids produit) Pas de points QMC/RQMC points générés et testés! pas d’application!! Des tables de vecteur générateur J. Dick D. Nuyens Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 50. Ko IntelligenceIos 23 Structure de Polylatbuilder Points du réseau poly- nomial et digital Figures de mérite Type de poids Méthodes de construction Erreur dans un espace de Walsh t-valeur Test spectral Autre heuris- tique ? Poids Produit Poids dépen- dant de l’ordre Poids General Poids produit- et-dépendant- ordre (POD) CBC Fast CBC Random Ko- robov Korobov Exhaustive Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 51. Ko IntelligenceIos 24 Mesures de qualité Figure de mérite implantée E(f, g(z)) 1/q ) = e(g(z); n; ||.||p,α,γ) La pire fonction: χ(g(z); n; ||.||p,α,γ) = 0=v⊂1:t γv q/2 j∈v ω(uj) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 52. Ko IntelligenceIos 24 Mesures de qualité Figure de mérite implantée E(f, g(z)) 1/q ) = e(g(z); n; ||.||p,α,γ) La pire fonction: χ(g(z); n; ||.||p,α,γ) = 0=v⊂1:t γv q/2 j∈v ω(uj) Le noyau ω(uj) = ∞ h=1 wal2,h(uj) 2qα log2hj = 12( 1 6 − 2 log)2uj −1 ) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 53. Ko IntelligenceIos 25 Méthodes de construction Construction CBC Sachant n, on construit un vecteur générateur g(z) = (g1(z), g2(z), . . . , gd(z)). On fixe g1(z) = 1, g1(z) reste fixe, on choisit g2(z) du sous ensemble des composantes de vecteurs générateurs. pour minimiser le critère d’erreur désiré en 2 dimensions, With g1(z), g2(z) restent fixe, on choisit g3(z) du sous ensemble des composantes de vecteurs générateurs. pour minimiser le critère d’erreur désiré en 3 dimensions, ed(gd(z); Pn; ||.||p,α,γ)q = ed−1(g(z)d−1; n; ||.||p,α,γ)q + Θd(g(z)d) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 54. Ko IntelligenceIos 26 Results – g(z) with Fast CBC Valeurs des g(z) P(z) = z10 + z3 + 1 P(z) = z7 + z + 1 t gt(z) Square Error gt(z) Square Error 1 1 1.58 10−8 1 1.01 10−6 2 z9 + z8 + z5 3.6 10−8 z6 + z5 + z3 + z 2.22 10−6 3 z9 + z8 + z6 + z2 + z + 1 6.36 10−8 z6 + z5 + z4 + z2 3.74 10−6 4 z8 + z6 + z5 + z4 + z3 + z2 + z 1.03 10−7 z5 + z4 + z + 1 5.70 10−6 5 z8 + z6 + z1 1.57 10−7 z5 + z3 8.18 10−6 6 z9 + z7 + z4 + z2 + z 2.36 10−7 z5 + z4 + z3 1.16 10−5 7 z8 + z7 + z6 + z3 + z2 3.34 10−7 z6 + z3 + z + 1 1.56 10−5 8 z9 + z8 + z6 + z5 + z4 + z3 + 1 4.55 10−7 z6 + z5 + z3 + z2 + 1 2.03 10−5 9 z9 + z8 + z6 + z4 + z3 + z2 6.25 10−7 z6 + z5 + z4 + z3 + z + 1 2.7 10−5 10 z8 + z6 + z5 + z4 + z2 + 1 8.64 10−7 z5 + z4 + z3 + z 3.43 10−5 Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 55. Ko IntelligenceIos 27 QMC square error Fait en C++ Résultats encourageants Bonne uniformité de la règle de réseau polynomial (bon paramètre g(z)) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 56. Ko IntelligenceIos 27 QMC square error Fait en C++ Résultats encourageants Bonne uniformité de la règle de réseau polynomial (bon paramètre g(z)) points du réseau polynomial pour n = 1023, P(z) = z10 + z3 + 1 en 2D 0 1 0 1 good lattice g(z) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 57. Ko IntelligenceIos 28 Application Financière: option asiatique Équation différentielle stochastique (EDS) dSt = µSt dt + σSt dWt La solution de EDS St = S0 exp(r−σ2 /2)t+σBt Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 58. Ko IntelligenceIos 28 Application Financière: option asiatique Équation différentielle stochastique (EDS) dSt = µSt dt + σSt dWt La solution de EDS St = S0 exp(r−σ2 /2)t+σBt Tarification de l’option La payoff de l’option est X = e−rt max(0, 1 d s j=1 Stj − K), et le prix c = E[X |Ft] v(s0, T) = E[e−rt f(S1 . . . St) |Ft] Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 59. Ko IntelligenceIos 29 Option d’achat asiatique– Résultats numériques v(s0, T) = e−rt (0,1)d max(0, 1 d d i=1 S0 exp [(r − σ2 )ti +σ ti − ti−1 i j=1 Φ−1 (uj)] − K)du1 . . . dud Techniques de réduction de variance pour MC control variate CV1 = e−rt max(0, Y − K) où Y = t j=1(Stj )1/d control variate CV2 = e−rt max(0, Y − K) où Y = t j=1(Stj )1/d Variable antithetique (VA) Mohamed Hanini | Comment générer des points quasi-Monte Carlo
  • 60. Ko IntelligenceIos 30 Call Asian option– Numerical results Comparaison des méthodes QMC Table: Valeur de l’option asiatique avec un temps d’exercice basé sur la configuration suivante:(j)/10, pour j = 1, 2, . . . , d = 10, un nombre de n = 210 points, et un prix d’exercice K = 100 MC RQMC RQMC Polynômes Entiers Valeur de l’option 3.37 3.33 3.354 Écart type 4.52 0.015 0.025 Variance Ratio 95.17 33.06 Mohamed Hanini | Comment générer des points quasi-Monte Carlo