Projet de communication numérique Réalisation d'une chaîne de transmission nu...
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
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
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