35

Laachir Rapport PFE Master

  • Upload
    smolf2

  • View
    49

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Laachir Rapport PFE Master

Université Paris I Panthéon-SorbonneMaster 2 MAEF - Spécialité Recherche : MMMEF

&

Ecole Nationale Supérieure de Techniques Avancées

Ismail LAACHIR

Méthode des Points Intérieurs en Optimisation

et application à la calibration du modèle d'Heston

Résumé : La pertinence d'un modèle est souvent évaluée par plusieurs critères parmi lesquels lacapacité des prix des options vanilles générés par le modèle à coller aux prix du marché. En e�et, lebut de la calibration est de pouvoir utiliser le modèle, une fois calibré, pour calculer le prix des optionsexotiques et la stratégie de leur couverture avec ces options vanilles. Cela impose de pouvoir choisirles paramètres du modèle de manière à retrouver les volatilités implicites de marché. Cette partieessentielle correspond à la calibration. Il est donc indispensable d'utiliser un algorithme d'optimisationqui soit rapide, précis et surtout numériquement stable. Dans ce sens, la première partie de monstage a consisté en l'implémentation d'un algorithme d'optimisation basé sur la méthode des PointsIntérieurs proposé par Armand et al [1]. Cet algorithme a ensuite été testé sur plusieurs problèmesd'optimisation classiques pour évaluer la convergence et la robustesse de l'algorithme. Ensuite, dansla deuxième et troisième parties, nous avons utilisé cet algorithme pour la calibration d'un modèle àvolatilité stochastique qu'est le modèle d'Heston, après une étude préalable du modèle et du rôle dechacun de ses paramètres.

Rapport de stage présenté le 15 septembre 2008.

Jury :

David LEFEVREEnseignant-chercheur ENSTAUMA/OC (Pièce 3055)32, boulevard VictorF-75379 Paris cedex 15

Georges NEMESSociété GénéraleDirection des RisquesRISQ/RDM/MOD

1

Page 2: Laachir Rapport PFE Master

Table des matières

Introduction 2

1 Méthode des Points Intérieurs en Optimisation : Algorithme BFGS 41.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Algorithme BFGS d'Armand et al [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Calcul d'une direction de descente . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 Recherche Linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3 Actualisation de l'information du second ordre . . . . . . . . . . . . . . . . . . 71.2.4 Algorithmes Aµ et A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.5 Convergence de l'algorithme global A . . . . . . . . . . . . . . . . . . . . . . . 10

1.3 Résultats Numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.1 Fonction de Rosenbrock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.2 Welded Beam Design Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.3 Pressure Vessel Design Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Modèle d'Heston : Evaluation 152.1 Présentation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1.1 Propriétés théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Prix d'un Call : Formule semi-explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1 Instabilité numériques : Logarithme complexe . . . . . . . . . . . . . . . . . . . 172.2.2 Intégration Numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Modèle d'Heston : Calibration 203.1 Volatilité Implicite : E�et des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . 203.2 Calibration : Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Application aux prix générés par le modèle d'Heston . . . . . . . . . . . . . . . 233.2.2 Calibration du modèle d'Heston sur des données de marché . . . . . . . . . . . 24

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

A Modèle d'Heston : Résultats théoriques 28A.1 Existence du processus (Vt)t≥0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28A.2 Contrôle uniforme sur les moments de X et V . . . . . . . . . . . . . . . . . . . . . . . 29A.3 Continuité de f1 et f2 en 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

B Problèmes test 34

2

Page 3: Laachir Rapport PFE Master

Introduction

Pour qu'un modèle puisse être pertinent dans la pratique, il doit être capable de redonner les prixde marché des options vanilles. Cela impose de pouvoir choisir les paramètres du modèle de manièreà retrouver les volatilités implicites de marché. Cette partie essentielle correspond à la calibration. Lacalibration est ce que l'on appelle un problème mal posé (ill-posed problem) : il est quasiment impos-sible qu'un modèle paramétrique soit en mesure de retrouver exactement tous les prix de marché. Ontente alors de minimiser une fonction erreur qui mesure la proximité de la surface des prix théoriquesde celle du marché. A l'inverse, cette minimisation peut généralement avoir plusieurs solutions et dé-pendre fortement de la fonction erreur que l'on choisit.

C'est pour ces raisons qu'il est indispensable d'utiliser un algorithme d'optimisation qui soit ra-pide, précis et surtout numériquement stable, dans le sens où un petit changement des prix observésne doit pas entraîner de grands changements des paramètres. Il existe plusieurs types d'algorithmesd'optimisation, parmi lesquels on distingue les méthodes de Points Intérieurs, qui ont suscité un intérêtcroissant ces deux dernières décennies.

Dans ce sens, la première partie de mon stage a consisté en l'implémentation d'un algorithmed'optimisation basé sur la méthode des Points Intérieurs proposé par Armand et al [1]. Cet algorithmea ensuite été testé sur plusieurs problèmes d'optimisation classiques pour évaluer la convergence et larobustesse de l'algorithme. Ces problèmes test montrent en e�et que l'algorithme est assez prometteurpour son utilisation en calibration.

La deuxième partie de ce rapport est consacrée à un modèle à volatilité stochastique qu'est lemodèle d'Heston. Le choix de ce modèle est motivé par les constatations expérimentales sur les courbesde volatilité implicite remarquées sur le marché et les limites des modèles jusque là utilisés pourcapturer cette dynamique du smile. Ce modèle utilise plusieurs paramètres ce qui en fait un modèle�exible et pouvant générer plusieurs formes de smile remarquées sur la marché. Ensuite, nous avonsrappelé la méthode d'évaluation des options vanilles dans ce modèle et les problèmes numériquesrencontrés lors de son utilisation et les solutions apportées à ces problèmes pour pouvoir évaluer lesprix de façon stable et robuste numériquement. Ceci est indispensable pour l'étape de la calibration,qui est étudiée dans la troisième partie du rapport. Pour cela nous avons commencé par présenter laproblématique de la calibration, puis étudié l'e�et des di�érents paramètres du modèle d'Heston surles volatilités implicites. Ensuite nous avons soumis l'algorithme d'optimisation à un dernier test quiest de récupérer les paramètres avec lesquels une nappe de prix a été générée. A l'issue des résultatsconcluants de ce test, nous avons utilisé l'algorithme pour la calibration du modèle d'Heston sur desdonnées réelles de marché. La comparaison de nos résultats avec ceux de l'article [7] montrent laprécision et la robustesse de cet algorithme.

3

Page 4: Laachir Rapport PFE Master

Chapitre 1

Méthode des Points Intérieurs en

Optimisation : Algorithme BFGS

1.1 Introduction

L'optimisation est un domaine assez récent qui a connu un grand essor et gagné en importancedans di�érentes problématiques d'ingénierie, de science et d'économie, pro�tant du développement ac-céléré de la puissance des ordinateurs. Ces di�érents besoins ont donné naissance à une multitude debranches dans l'optimisation, chacune avec sa théorie et ses méthodes numériques. On peut distinguerpar exemple plusieurs dualités : optimisation continue/combinatoire, di�érentielle/non di�érentielle,dimension in�nie/dimension �nie et �nalement linéaire/non linéaire. Selon [2] : En optimisation nonlinéaire, on peut ainsi distinguer plusieurs vagues : méthodes de pénalisation, méthode du lagrangienaugmentée (1958), méthodes de quasi-Newton (1959), méthodes newtoniennes ou SQP (1976), algo-rithmes de points intérieurs (1984). Une vague n'e�ace pas la précédente mais permet d'apporter demeilleures réponses à certaines classes de problèmes, comme ce fut le cas pour les méthodes de pointsintérieurs en optimisation semi-dé�nie positive (SDP).

Comme notre besoin est d'avoir un algorithme pour extraire un nombre �ni de paramètres, enmanipulant des fonctions assez régulières, nous allons nous intéresser à un algorithme d'optimisationdi�érentielle non linéaire et en dimension �nie.

Pour notre étude nous allons implémenter un algorithme de Points Intérieurs, et en prenant encompte aussi l'impératif de rapidité d'exécution, nous avons choisi d'utiliser un algorithme qui utilisela méthode de quasi-Newton pour calculer l'information de second ordre à un moindre e�ort. Cecidiminuera le nombre d'évaluations de la fonction à minimiser, ce qui peut se révéler crucial pourl'utilisation pratique de la calibration.

1.2 Algorithme BFGS d'Armand et al [1]

Un problème d'optimisation classique s'écrit de la façon suivante :{min f(x)c(x) ≥ 0 (1.1)

Hypothèse HNous supposerons que les fonctions f : Rn → R et c : Rn → Rm sont di�érentiables deux fois, f

convexe, et les ci concave et qu'au moins une des fonctions f,−c1, ...,−cm est fortement convexe 1.

On suppose aussi qu'il existe x tel que c(x) > 0.

1Une fonction φ : Rn → R est fortement convexe de module κ > 0, si la fonction φ(.)− κ2||.|| est convexe.

4

Page 5: Laachir Rapport PFE Master

Ce problème est souvent transformé, sous certaines conditions, en un système d'équations et in-équations connu sous le nom des conditions KKT (Karush-Kuhn-Tucker) :

(P )

∇`(x, λ) = ∇f(x)−∇c(x)λ = 0

C(x)λ = 0c(x) ≥ 0λ ≥ 0

où C(x) = diag(c1(x), ..., cm(x)) et `(x, λ) = f(x) − c(x)λ représente le lagrangien du problème(1.1). La variable λ ∈ Rm est appelée vecteur dual, et le système (P ) primal-dual.

La deuxième équation porte le nom des conditions de complémentarité : Elles signi�ent que soitλi = 0 soit ci(x) = 0, ce qui représente 2m cas à étudier. Elle est donc une source principale de di�-culté pour résoudre le problème (P). Cette remarque est la base de la méthode des Points Intérieurs.

En e�et, pour éliminer le problème combinatoire de la 2ème équation de (P), on peut approximerles conditions d'optimalité exprimées dans (P) par les équations perturbées suivantes :

(Pµ)

∇f(x)−∇c(x)λ = 0C(x)λ = µe(c(x), λ) > 0

, où µ est un paramètre strictement positif que l'on fera tendre vers zéro. La limite de ces solutionsquand µ tends vers 0 coïncidera avec la solution de (1.1).

Remarque :

Une deuxième façon, équivalente, d'introduire la méthode des Points Intérieurs est de pénaliser leproblème d'optimisation (1.1) comme suit :{

min φµ(x)c(x) > 0

, avec φµ(x) = f(x)− µm∑

k=1

log(ci(x)).

Cette fonction, appelée "barrière logarithmique", est dé�nie seulement pour c(x) > 0, ie à l'inté-rieur de l'ensemble des points admissibles, d'où le nom de Points Intérieurs.

Le système d'équations Pµ est alors une formulation des conditions d'optimalité de ce problèmepénalisé.

L'algorithme BFGS proposé dans l'article [1] que nous allons implémenter et utiliser en calibra-tion appartient à la classe de méthodes de points intérieurs. Il combine les techniques des PointsIntérieurs, et les méthodes de Quasi-Newton pour résoudre une suite de problèmes (Pµ)µ→0. Cettesuite de problèmes à résoudre est une di�culté à supporter pour pouvoir se passer des équations decomplémentarité, source principale de complexité. On appelle Aµ l'algorithme pour résoudre (Pµ) etA l'algorithme global pour résoudre P .

L'algorithme Aµ peut être résumé en trois étapes :

1. Calcul d'une direction de descente ie un vecteur d = (dx, dλ).

2. Recherche Linéaire : chercher un coe�cient α pour que le nouvel itéré x+ = x+ αdx

et λ+ = λ+ αdλ véri�e un certain critère de descente.

3. Actualisation de l'information du second ordre.

5

Page 6: Laachir Rapport PFE Master

1.2.1 Calcul d'une direction de descente

Les deux équations de (Pµ) seront résolues par méthode de quasi-Newton. Cette méthode ap-proxime l'équation vectorielle F (y) = 0, où F : Rp → Rp, par une suite de points qui satisfontF (yk) + F ′(yk)(yk+1 − yk) = 0, ce qui revient à approximer la fonction F par sa tangente en yk. Lasuite yk est alors dé�nie par yk+1 = yk − F ′(yk)−1F (yk), à condition que F ′(yk) soit inversible. Levecteur −F ′(yk)−1F (yk) est appelé direction de descente de Newton. Cette méthode est assez simpleà programmer et assez rapide, surtout quand le gradient de F est facile à calculer.

Son utilisation pour le problème Pµ donne :(M −∇c(x)

Λ∇c(x) C(x)

)(dx

)=(−∇f(x) +∇c(x)λ

µe− C(x)λ

), avec Λ = diag(λ1, ..., λm) et M = ∇2

xx`(x, λ).Ce qui donne, en éliminant dλ :

(M +∇c(x)C(x)−1Λ∇c(x)T )dx = −∇f(x) + µ∇c(x)C(x)−1e = −∇φµ(x)

Il est donc évident que si M est strictement positive, et que (x, λ) est strictement admissible ie :c(x) > 0 et λ > 0, alors la vecteur dx existe et est une direction de descente pour la fonction φµ, ie :∇φµ(x)dx < 0. Cela nous assure que la fonction φµ(.) diminue au voisinage de x. Par contre, le seulchoix xk+1 = xk +dx et λk+1 = λk +dλ ne peut garantir à lui seul de diminuer la fonction φµ(.). Pource but, on utilise souvent la méthode Recherche Linéaire.

1.2.2 Recherche Linéaire

Pour forcer la diminution de φµ le long de la direction dx, il est possible de calculer les nouveauxitérés xk+1 et λk+1 selon : xk+1 = xk + αdx et λk+1 = λk + αdλ, où α est un réel que l'on diminuerajusqu'à véri�er une condition de descente du genre Wolf ou Armijo (voir [2]). L'existence d'un telcoe�cient est garantie par l'inégalité ∇φµ(x)dx < 0, qui se traduit par : ∃ε > 0 tel que

∀|α| < ε, φµ(x+ αd)− φµ(x) = α∇φµ(x)d+ o(α) < 0

Un choix logique pour la fonction de mérite pendant la Recherche Linéaire serait φµ(x), néanmoins,cette fonction ne dépend pas de λ, alors que le coe�cient α décide du pas de déplacement pour lesdeux variables (x, λ). Certains auteurs ont donc proposé d'ajouter à φµ(x) une fonction dépendant de

λ. Et puisque λ doit véri�er λi =µ

ci(x)pour la solution de (Pµ), une possibilité est de choisir comme

fonction de mérite 2 :ψµ(x, λ) = φµ(x) + Γ(x, λ)

où :

Γ(x, λ) = λT c(x)− µn∑

k=1

log(λkck(x))

Il est possible de montrer (voir l'article [1]) que (dx, dλ) reste une direction de descente pourψµ(x, λ) aussi, ce qui justi�e la Recherche Linéaire avec cette fonction de mérite.

En utilisant la fonction ψµ(x, λ) avec le critère de descente d'Armijo, l'étape de la Recherche Li-néaire peut s'écrire :

On dispose au début d'un pas initial α0 et des constantes ω, ξ1 et ξ2.

RL :

1. On calcule ψµ(x+ αdx, λ+ αdλ).

2. Si : ψµ(x+ αdx, λ+ αdλ) < ψµ(x, λ) + ωα∇ψµ(x, λ)T d

, on accepte le pas α.

2Le minimum de la fonction u → βu− µlog(uβ) est atteint pour u =µ

β, avec β > 0 et µ > 0.

6

Page 7: Laachir Rapport PFE Master

3. Sinon, on diminue le pas α ∈ [ξ1α, ξ2α] et on revient vers 1

En général, on prend : α0 = 1, ω = 10−4, ξ1 = 0.01 et ξ2 = 0.99

La plus simple méthode pour diminuer le pas α et de choisir ξ1 = ξ2 = τ , ie : αj = τ j . Cecipose un problème pour le choix de τ qui, s'il est trop grand, peut imposer un nombre trop importantd'itérations pour trouver un bon pas, et s'il est trop petit, peut causer une évolution trop lente desitérés et peut-être même une stagnation de l'algorithme. Ceci peut être expliqué en partie par le faitque la diminution de τ est faite, dans ce cas, sans prendre en compte les informations disponibles surla valeur des fonctions et de leurs dérivées depuis le début de la RL.

En e�et, à chaque itération j de la RL on dispose de la valeur de ψµ(x + αidx, λ + αidλ) pour0 ≤ i ≤ j et ∇ψµ(x, λ)T d qui peuvent être exploitées pour la diminution de α.

Une possibilité donc est de construire un modèle quadratique ou cubique, selon le nombre d'in-formations disponibles, pour la fonction réelle Ψµ(α) = ψµ(x+ αdx, λ+ αdλ) qui sera minimiser, parrapport à la variable α, dans l'intervalle [ξ1α−, ξ2α−] où α− est la dernière valeur du pas de descentequi ne satisfait pas le critère de descente.

1.2.3 Actualisation de l'information du second ordre

Le calcul de la direction de descente (dx, dλ) implique l'évaluation du hessien du lagrangien ` quin'est pas disponible en général sous forme analytique et qui nécessite donc plusieurs évaluations dela fonction objectif f pour l'approximer par di�érences �nies. Il serait donc intéressant du point devue de la vitesse de l'algorithme d'utiliser une méthode qui ne nécessite pas l'évaluation des dérivéessecondes. La méthode la plus répandue est celle de Quasi-Newton qui consiste à approximer le hessiende ` par une matrice M strictement positive qui sera mise à jour après chaque itération par uneformule dite BFGS, le principe étant de n'utiliser que les informations déjà calculées ie : (xk+1, λk+1),(xk, λk) et Mk.

Cette formule est basée sur le développement de Taylor avec reste intégral :

γk =(∫ 1

0

∇2`(xk + tδk)dt)δk

avec : δk = xk+1 − xk et γk = ∇x`(xk+1, λk+1)−∇x`(xk, λk+1).

Pour approximer le hessien ∇2` au point xk+1, une possibilité est donc de choisir une matriceMk+1 qui véri�e : γk = Mk+1δk et qui véri�e, comme le hessien, MT

k+1 = Mk+1.Ces deux équations sont insu�santes pour déterminer Mk+1, car on dispose de moins d'équations

que d'inconnues. Pour la formule BFGS, on impose en plus qu'elle soit dé�nie positive et qu'elle mi-nimise une "certaine distance" à la matrice, déjà calculée, Mk (voir [2]).

On arrive alors à la formule :

Mk+1 = Mk −Mkδkδ

Tk Mk

δTk Mkδk

+γkγ

Tk

γTk δk

(Formule BFGS)

Il est possible de montrer que Mk+1 est dé�nie positive si Mk l'est et γTk δk > 0. Il est interessant à

noter que Mk+1 −Mk est un matrice de rang 1, ce qui confère à la suite (Mk)k une certaine stabilitéaux cours des itérations. Plusieurs changements de la formule BFGS ont été proposées pour répondre àdi�érentes exigences pratiques. Par exemple, la condition γT

k δk > 0 n'est pas garantie dans la majoritédes problèmes d'optimisation. Heureusement, la correction de Powell donne une solution à cet obstacle.

Correction de Powell :

Pour garder la propriété de la dé�nie-positivité deMk+1 même quand γTk δk ≤ 0 (ce qui peut arriver

en cas de non convexité du lagrangien), il est souvent fait appel à une heuristique appelée correction

7

Page 8: Laachir Rapport PFE Master

de Powell, qui consiste à remplacer γk par un vecteur : γPk = θγk + (1− θ)Mkδk. Le paramètre θ est

pris aussi grand que possible dans [0, 1], de telle sorte que δTk γ

Pk ≥ κδT

k Mkδk, pour une constante κdans ]0, 1[ (typiquement κ= 0.2). On trouve :

θ =

1 si δT

k γk ≥ κδTk Mkδk

(1− κ)δTk Mkδk

δTk Mkδk − δT

k γksinon

Mise à l'échelle répétée :

Une deuxième modi�cation de la formule BFGS ci-dessous est d'e�ectuer une mise à l'échelle dela matrice Mk pour mieux estimer le hessien.

En e�et, la Formule BFGS est une approximation par une matrice constante du hessien ∇2`(xk +tδk), or ceci n'est plus judicieux quand les deux points xk et xk+1 sont très éloignés, ce qui peut arriveren cas de mauvais choix du point initial. Il est donc souhaitable de prendre en compte une possibleévolution rapide des itérés lors l'estimation du hessien.

Le choix le plus utilisé est :

Mk+1 = σk

(Mk −

MkδkδTk Mk

δTk Mkδk

)+γkγ

Tk

γTk δk

avec

σk =γT

k δkδTk Mkδk

Ce coe�cient a été modi�é par Al-Baali (voir l'article [11]) : σk = min(

γTk δk

δTk Mkδk

, 1)

et les

résultats numériques obtenus dans [11] avec ce choix montre qu'il est plus performant.

1.2.4 Algorithmes Aµ et A

Nous pouvons en�n présenter l'algorithme en pseudo-code. Comme c'est expliqué précédemment,le problème initial P (algorithme global A) est une suite de problèmes Pµ (algorithme Aµ) où l'ondiminuera le paramètre µ au fur et à mesure.

Remarque :

La méthode la plus simple pour diminuer le paramètre µ, est : µ+ = µβ , avec β > 1 pour que la

suite µk converge vers 0. Des techniques de mise à jour plus sophistiquées existent, mais pour notreimplémentation nous avons choisi un simple critère, utilisé dans d'autres algorithmes reconnus :

Si le problème (Pµ) a été résolu en moins de trois itérations, on prend : µ+ = µ100 , sinon µ+ = µ

5

8

Page 9: Laachir Rapport PFE Master

Algorithm 1 Algorithme (Aµ)while ||∇f(x)−∇c(x)λ|| > ε Or ||C(x)λ− µe|| > ε do1) Calcul de la direction de descente :d = (dx, dλ) solution de :

(M +∇c(x)C(x)−1Λ∇c(x)T )dx = −∇f(x) + µ∇c(x)C(x)−1e

Λ∇c(x)T dx + C(x)dλ = µe− C(x)λ

2) Recherche Linéaire avec critère d'Armijo :while ψµ(x+ αdx, λ+ αdλ) > ψµ(x, λ) + ωα∇ψµ(x, λ)T d doα ∈ [ξ1α, ξ2α]

end whilex+ = x+ αdx

λ+ = λ+ αdλ

3) Actualisation de l'information du second ordre : Formule BFGSδ = x+ − xγ = ∇x`(x+, λ+)−∇x`(x, λ+), avec correction de Powell si necessaire.

σk = min(

γTk δk

δTk Mkδk

, 1)

Mk+1 = σk

(Mk −

MkδkδTk Mk

δTk Mkδk

)+γkγ

Tk

γTk δk

end while

Algorithm 2 Algorithme global AOn dispose d'une valeur initial µ0 (On peut simplement prendre µ0 = 1) et d'un point initial (x, λ)strictement admissible.

while ||∇f(xµ)−∇c(xµ)λµ|| > tolerance Or ||C(xµ)λµ|| > tolerance do

Diminuer le paramètre µ.

(xµ, λµ) sera le point initial du nouveau problème Pµ+

(xµ+ , λµ+) solution de Pµ+ (sortie de l'algorithme Aµ+)

end while

9

Page 10: Laachir Rapport PFE Master

1.2.5 Convergence de l'algorithme global A

Le théorème suivant assure la convergence da l'algorithme A, sous certaines conditions vers labonne solution.

Théorème 1.2.1 Convergence de l'algorithme global A (voir [1]).Supposons que :

� f et −c1, ...,−cm sont convexes et qu'au moins une de ces fonctions est fortement convexe.� f et c sont C1,1.� ∃x ∈ Rn tel que c(x) > 0.Alors l'algorithme A génère une suite bornée {zi} et sa limite est une solution du problème primal

dual (P).

Une preuve peut être trouvée dans l'article [1].

1.3 Résultats Numériques

Nous présenterons dans cette partie plusieurs exemples de problèmes d'optimisation sur lesquels ontestera l'algorithme A. Ils sont des cas classiques auxquels on soumet tout algorithme d'optimisation,car ils présentent des particularités qui rendent leur minimisation di�cile. Ils sont soit issus d'autresbranches comme la mécanique ou la logistique, soit des problèmes arti�ciels dans le sens où ils ont étéconçus pour tester la robustesse des algorithmes. Nous allons leur appliquer l'algorithmeA en utilisantplusieurs points initiaux, puis estimer la meilleure solution du problème trouvée, la moyenne des solu-tions et la pire. Ceci nous permettra d'étudier la convergence de l'algorithme et sa dépendance au pointinitial choisi, le but �nal étant de pouvoir utiliser l'algorithme pour la calibration du modèle d'Heston.

Pour commencer, nous avons testé l'algorithme A avec un ensemble de problèmes tests G1, G4, G6, G7, G8, G9, G10 (voir l'article [12]), qui sont rappelés dans l'annexe B. Les caractéristiques de cesproblèmes tests sont su�samment diverses pour couvrir plusieurs sortes de di�cultés que rencontrentles algorithmes d'optimisation. D'autres problèmes sont étudiés dans la section suivante.

Nous avons testé notre algorithme en utilisant 20 points initiaux di�érents et rapporté, dans la tableen bas, la meilleure solution connue dans la littérature3, la meilleure solution trouvée par l'algorithme,la moyenne et la pire solution, en plus de l'écart type des résultats :

Test Problem Best Known Best Worst Average Std DeviationG1 -15 -14,999997 -14,851949 -14,980565 0,039242G4 -30665.539 -30665,538672 -30665,535061 -30665,538343 0,001089G6 -6961.81388 -6961.813876 -6961.813875 -6961.813875 0.00001G7 24.3062091 24.30620906 24.30621290 24.30620928 0.00000098G8 -0.095825 -0,095825 -0,095825 -0,095825 0G9 680.6300573 680.6300573 680.6300893 680.6300610 0.0000000G10 7049.3307 7049.248020769 7049.248500528 7049.248091997 0.000214125

Les résultats de l'algorithme A sont très satisfaisant (à part pour le problème G6), et les valeursminimales sont toutes retrouvées pour tous les problèmes. L'algorithme arrive même à améliorer lavaleur minimale pour le problème G10. Pour ce problème, la meilleure valeur minimale connue est7049.3307, mais nous trouvons 7049.2480, et ce pour :

x = (579.30668, 1359.97067, 5109.97067, 182.017610, 295.60117, 217.98230, 286.41653, 395.60117)

Dans la suite nous étudierons d'autres problèmes d'optimisation issus des di�érents domaines del'ingénierie.

3Valeurs reprises de l'article [8], table 2.

10

Page 11: Laachir Rapport PFE Master

1.3.1 Fonction de Rosenbrock

Cette fonction est un test classique auquel on soumet les algorithmes d'optimisation sans contraintes.

Elle est dé�nie sur RN par : f(x) =N−1∑i=1

100(xi+1−x2i )

2 +(1−xi)2. Elle admet un minimum global

unique au point x∗ avec x∗i = 1 et f(x∗) = 0. En dimension 2, le graphe de la fonction est caractérisépar une vallée autour de x∗, ce qui peut induire un algorithme en stagnation.

Fig. 1.1 � Graphe de la fonction de Rosenbrock

Nous avons testé notre algorithme avec cette fonction, sous les contraintes de bornes xi ∈ [−2, 2],pour 100 points initiaux choisi aléatoirement, et pour di�érentes valeur de N .

Dimension N Pourcentage d'échecs

2 0 %5 9%10 15%20 17%30 20%

1.3.2 Welded Beam Design Problem

La fonction objectif pour ce problème a quatre variables x = (x1, x2, x3, x4) et peut être exprimésous la forme (voir l'article [9]) :

11

Page 12: Laachir Rapport PFE Master

Minimiser f(x0, x1, x2, x3) = 1.10471x21x2 + 0.04811x3x4(14.0 + x2)

Sous les contraintes :

g1 = t− tmax ≤ 0g2 = s− smax ≤ 0g3 = x1 − x4 ≤ 0g4 = 0.10471x2

1 + 0.04811x3x4(14.0 + x2)− 5.0 ≤ 0g5 = d− dmax ≤ 0g6 = P − Pc ≤ 0

avec :P = 6000;L = 14; E = 30e6; G = 12e6tmax = 13600; smax = 30000; dmax = 0.25M = P (L+ x2

2 ); R =√

0.25(x22 + (x1 + x3)2)

J = 2√2x1x2(

x22

12 + 0.25(x1 + x3)2)

Pc = 4.013E6L2 x3x

34(1− 0.25x3

√EG

L )t1 = P√

2x1x2; t2 = MR/J

t =√t21 + t1t2x2/R+ t22

s = 6PLx4x2

3

d = 4PL3

Ex4x33

(1.2)

En lançant l'algorithme A avec 30 points initiaux, nous obtenons les statistiques suivantes :

BEST SOLUTION 1.724852309WORST SOLUTION 1.724862549MEAN 1.724853257STANDARD DEVIATION 2.44719E-06

Nous trouvons donc la valeur minimale suivante pour f : 1.724852309, alors que la meilleure valeurtrouvée dans [9] est 1.728226. Nous trouvons donc une meilleure valeur et cela pour les variables :

x = (0.205729627, 3.470489088, 9.03662404, 0.205729645)

1.3.3 Pressure Vessel Design Problem

La fonction objectif pour ce problème est le coût de fabrication d'un cylindre contenant de l'air souspression de 3000 psi (voir �gure 1.2), les contraintes représentant des limitations sur ses dimensions.

Minimiser f(x0, x1, x2, x3) = 0.6224x0x2x3 + 1.7781x1x22 + 3.1661x2

0x3 + 19.84x20x2

Sous les contraintes :

x1 − 0.00954x2 ≥ 0x0 − 0.0193x2 ≥ 0(πx2

2x3 + 43πx

32)− 1296000 ≥ 0

240− x3 ≥ 0

(1.3)

La valeur minimale de la fonction objectif trouvée dans l'article [8] est de fmin = 5868.764836.

Comme dans beaucoup de problèmes d'optimisation, la convergence de l'algorithme dépend dupoint initial à cause de l'existence éventuelle de minima locaux. Nous avons essayé notre algorithmeavec di�érents points initiaux, en variant x2 et x3 et en �xant x0 et x1.

12

Page 13: Laachir Rapport PFE Master

Fig. 1.2 �

Nous obtenons pour x0 = 1.5 et x1 = 0.9 les résultats donnés dans la �gure 1.3.

Fig. 1.3 � Résultats pour le Vessel Design Problem

Et en variant aussi les variables x0 et x1, nous obtenons pour 100 points initiaux les statistiquessuivantes :

BEST SOLUTION 5804,3762WORST SOLUTION 6640,1494MEAN 5862,5904STANDARD DEVIATION 165,3692

Nous obtenons donc une valeur minimale plus petite que celle trouvée dans l'article [8], et celapour x∗ = (0.727590929, 0.359648573, 37.69901189, 239.99999997).

L'ensemble des tests auxquels on a soumis l'algorithme A donne des résultats assez prometteurspour son utilisation en calibration du modèle d'Heston. Comme cette calibration se fait souvent sur

13

Page 14: Laachir Rapport PFE Master

les prix des options vanilles, il est essentiel de disposer d'une méthode d'évaluation de ces instrumentsqui soit stable numériquement. Dans ce sens, nous allons, dans la prochaine partie, rappeler le cadredu modèle d'Heston et la formule semi explicite pour l'évaluation d'une option européenne. Ensuite,nous discuterons des problèmes numériques rencontrés lors de son utilisation et les solutions apportéesà ces problèmes.

14

Page 15: Laachir Rapport PFE Master

Chapitre 2

Modèle d'Heston : Evaluation

2.1 Présentation du modèle

Le modèle d'Heston a été introduit pour répondre à plusieurs constatations expérimentables :

� L'évolution aléatoire de la volatilité a une partie décorrélée de la dynamique du sous-jacent, cequi justi�e la modélisation de la volatilité par un processus stochastique à part entière, et passeulement comme fonction déterministe du sous-jacent, comme c'est le cas dans les modèles àvolatilité locale.

� Les phénomènes de smile remarqués dans le marché et la dynamique temporelle de la surface devolatilité implicite, que le modèle de volatilité locale ne permet pas de retrouver, contrairementau modèle d'Heston.

La dynamique proposée par Heston [3] a l'avantage d'expliciter cette corrélation avec un seul pa-ramètre et de donner une évolution réaliste à la volatilité. Il modélise la volatilité comme un processusde di�usion véri�ant une EDS de type Cox-Ingersoll-Ross.

La dynamique du modèle est de la forme :dSt = Strdt+ St

√VtdWt

dVt = κ(θ − Vt)dt+ ω√VtdZt

d < Wt, Zt >= ρdtavec valeurs initiales S et V0.

(2.1)

Elle est determinée par 5 paramètres (κ, ω, θ, V0, ρ).

2.1.1 Propriétés théoriques

L'existence du processus Vt ne peut être assurée par les théorèmes classiques (basés sur la méthodede Picard), car la racine carrée n'est pas lipchitzienne en 0. Par contre on peut utiliser un théorèmede Yamada-Watanabe qui nous permet d'obtenir l'existence et l'unicité de ce processus (Voir annexeA).

Ensuite, le processus St est donné par : St = S0e∫ t0 (r−Vs

2 )ds+∫ t0

√VsdWs

Moments du processus de la variance :

En plus, on peut montrer 1 que, grâce à la croissance sous-linéaire des coe�cients des l'EDS, on aun contrôle uniforme sur les moments de Vt et de Xt = log(St), pour tout p > 0 :

E[Sup

0≤t≤T|Xt|p + |Vt|p

]≤ C(p, T )(1 + |X0|p + |V0|p)

1voir l'annexe A pour une preuve

15

Page 16: Laachir Rapport PFE Master

Ceci nous permet par exemple de calculer les moments de Vt.

En e�et : Vt = V0 +∫ t

0κ(θ − Vs)ds + ω

∫ t

0

√VsdZs, et d'après le contrôle sur les moments de Vt,

l'intégrale∫ t

0

√VsdZs est une martingale, donc de moyenne nulle, d'où E[Vt] = E[V0]+

∫ t

0κ(θ−E[Vs])ds.

La moyenne véri�e donc une équation di�érentielle simple à résoudre dont la solution est :

E[Vt] = θ + (V0 − θ)e−κt

De manière similaire on trouve que :

V ar(Vt) =V0ω

2

κe−κt(1− e−κt) +

θω2

2κ(1− e−κt)

E[lnSt] = lnF − 12θt− 1− e−κt

2κ(V0 − θ)

avec F = erTS est la valeur forward de S.

� La moyenne de Vt tends vers θ quand t tends vers l'in�ni, avec une vitesse controlée par κ, cequi justi�e le nom de moyenne de la variance pour θ et taux de retour à la moyenne pour κ.

� La variance de Vt augmente avec la volatilité de la variance ω et diminue avec κ.

On signale en�n qu'il est possible de montrer que le processus V reste strictement positif, si lacondition 2κθ − ω2 > 0 est véri�ée. Cette inégalité est appelée condition de Feller.

Fonction caractéristique du log-spot :

La loi de ST est connue à travers la transformée de Fourier de lnST : φ(u) = E[eiu ln ST ].

En cherchant φ(u) sous la forme φ(u) = eC(T,u)+D(T,u)V0+iu ln F , et en utilisant l'EDP véri�ée parφ(u) par rapport aux variables S0 , V0 et T , on montre que C(T, u) et D(T, u) véri�ent deux équationsde Riccati faciles à résoudre. On trouve �nalement :

C(T, u) =κθ

ω2

((κ− ρωui+ d(u))T − 2 ln

(c(u)ed(u)T − 1

c(u)− 1

))

D(T, u) =κ− ρωui+ d(u)

ω2

(ed(u)T − 1

c(u)ed(u)T − 1

)avec :

c(T, u) =κ− ρωui+ d(u)κ− ρωui− d(u)

et d(T, u) =√

(ρωui− κ)2 + iuω2 + ω2u2

Vu que la racine carrée d'un nombre complexe est une fonction multiforme, il nous faut, pourcalculer

√z, choisir une forme qui sera forcement discontinue sur une demi droite. On choisit la forme

principale (qui admet comme demi-droite de discontinuité R−), et en plus on peut choisir soit√z

soit −√z. Le choix sera motivé par la nécessité du calcul du logarithme complexe, qui est source de

di�culté numérique comme c'est expliqué dans la section suivante.

2.2 Prix d'un Call : Formule semi-explicite

Connaissant la transformée de Fourier du log-spot, le calcul du prix d'un call peut se faire facile-ment en utilisant la formule de Fourier inverse pour retrouver la densité du log-spot.

16

Page 17: Laachir Rapport PFE Master

En e�et, si l'on nomme p(.) cette densité, alors : p(s) = 12π

∫ +∞−∞ e−iusφ(u)du.

D'autre part : C(T, S,K) = E[e−rT (ST −K)+] = e−rT E[ST 1ST≥K ] + e−rTK E[1ST≥K ]or :

E[1ST≥K ] =∫ +∞

−∞p(s)1s≥ln Kds

=12π

∫ +∞

−∞

∫ +∞

−∞e−iu sφ(u)1s≥ln Kdsdu

=12π

∫ +∞

−∞e−iu ln Kφ(u)du

∫ +∞

−∞e−iux1x≥0dx

et en utilisant la transformée de Fourier inverse de la fonction de Heaviside :∫ +∞

−∞e−iux1x≥0dx = πδ(u) +

1iu

, où δ est la distribution de Dirac, et avec la propriété∫ +∞−∞ f(x)δ(x)dx = f(0) on trouve :

E[1ST≥K ] =12

+12π

∫ +∞

−∞

e−iu ln Kφ(u)iu

du

=12

+1π

∫ +∞

0

<(e−iu ln Kφ(u)

iu

)du

En utilisant le changement de probabilitédPdP

=ST

F, on obtient : E[ST 1ST≥K ] = E[1ST≥K ], et on

peut alors utiliser la formule trouvée ci-dessus, sachant que la fonction caractéristique de ST sous Pest égale : φ(u) = 1

F φ(u− i). On trouve alors :

E[ST 1ST≥K ] =F

2+

∫ +∞

0

<(e−iu ln Kφ(u− i)

iu

)du

Donc :

C(T, S,K) = e−rT

(F −K

2+

∫ +∞

0

(F · f1(u)−K · f2(u))du)

avec :

f1(u) = <(e−iu ln Kφ(u− i)

iuF

)

f2(u) = <(e−iu ln Kφ(u)

iu

)

En pratique, le calcul de C(T, S,K) soulève deux di�cultés : La première est le calcul de la fonctioncaractéristique, qui fait intervenir le logarithme complexe, chose qui n'est pas évidente et qui peutinduire des instabilités numériques. Le second point est le choix d'un schéma d'intégration numériquequi soit robuste et adapté aux fonctions en jeu.

2.2.1 Instabilité numériques : Logarithme complexe

Le problème de l'évaluation du logarithme complexe se fait remarquer expérimentalement en tra-çant la fonction f(u) = F · f1(u) −K · f2(u) (voir la �gure 2.1). Théoriquement, cette fonction estcontinue sur ]0,∞[ (sa continuité en 0 est démontrée en annexe A), par contre son graphe révèle des

17

Page 18: Laachir Rapport PFE Master

discontinuités pour certains paramètres. En étudiant de près la formule d'évaluation d'un call, on re-marque que l'évaluation du prix d'un call passe par l'intégration de f(u) sur [0,+∞[, ce qui nécessitele calcul de log

(1−cedT

1−c

).

Le problème vient du fait que le logarithme complexe est une fonction multiforme : elle admetplusieurs déterminations. En e�et, si w ∈ C\{0}, alors z = log(w) = x+ iy est déterminé par ez = w.ie :

ex = |w|, soit x = log |w|

et d'autre part :

y = arg(w)

Il existe plusieurs déterminations, mais elles di�èrent les unes des autres d'une multiple entier de2iπ. On montre que la fonction arg n'admet pas de détermination continue sur C\{0}. On est obligéd'en choisir une, ce qui correspond à choisir une demi droite à travers laquelle arg est discontinue. Engénéral le choix est �xé sur la demi droite R− et la discontinuité arrive quand Im(z) change de signeavec <(z) < 0.

Il est donc nécessaire d'étudier si G(u) =1− cedT

1− ctraverse la demi droite R− quand u parcourt

[0,∞[.

Ceci dépend du choix du signe de d(T, u) = ±√

(ρωui− κ)2 + iuω2 + ω2u2, où la racine est calcu-lée avec sa forme principale (qui admet R− comme axe de discontinuité). En e�et, l'article [5] montrequ'avec le choix d(T, u) = d1(T, u) = +

√(ρωui− κ)2 + iuω2 + ω2u2, G traverse l'axe R− pour des

maturités assez grandes, c'est à dire que log(G) calculé avec sa détermination principale subit unediscontinuité. Une solution à ce problème, proposée par l'article [4], consiste à corriger la discontinuitédue à la partie arg du logarithme en ajoutant des multiples de 2π pour rendre la fonction continue.

Par contre, le seul choix d(T, u) = d2(T, u) = −√

(ρωui− κ)2 + iuω2 + ω2u2 assure la continuitéde log(G(u)). En e�et, le théorème 3 de l'article [5] montre qu'avec le choix précédent, G(u) et G(u−i)ne traverse pas l'axe des réels négatifs pour tout u ∈ R+ pour n'importe quel jeu de paramètres.

Ces problèmes numériques se manifestent sous forme de discontinuité de la fonction f(u) que l'ondoit intégrer sur [0,∞[, comme le montre la �gure en bas où l'on a tracé f(u), en utilisant la formed1(T, u), sans la correction proposée dans l'article [4], puis avec le choix d2(T, u) qui ne nécessite pasde correction.

Fig. 2.1 � Discontinuité dûe au logarithme complexe.

18

Page 19: Laachir Rapport PFE Master

2.2.2 Intégration Numérique

Le deuxième point sensible dans l'estimation de C(T, S,K) est l'utilisation d'un schéma de discré-

tisation numérique pour calculer l'intégrale∫ +∞

0

(F · f1(u)−K · f2(u))du.

En général, pour estimer∫ b

a

f(x) dx, on a recours à des formules d'approximation du type :

I =m∑

i=0

aif(xi) dans lesquelles les noeuds xi appartiennent à [a, b] et les poids ai sont des réels.

Un exemple de schéma simple est la méthode des trapèzes. Elle consiste à interpoler la fonctionsur chaque subdivision par un polynôme de degré 1 :∫ b

a

f(x) dx =b− a

n

(f(a) + f(b)

2+

n−1∑k=1

f

(a+ k

b− a

n

))+ εn(f)

εn(f), est l'erreur de quadrature et vaut : − (b−a)3

12n2 f ′′(ξ) pour un ξ ∈ [a, b]

Mais comme c'est signalé dans l'article [4], la forme des fonctions f1 et f2 peut très bien être denature exponentielle, ou bien très oscillatoire, selon le choix des paramètres.

Il est donc essentiel de choisir un schéma d'intégration plus avancé. Pour cela, nous utiliserons leschéma adaptive Gauss-Lobatto proposé dans l'article [6].

Il basé sur l'évaluation itérative de l'intégrale sur un grille adaptative. En e�et, l'intervalle [a, b]est récursivement divisé en sous intervalles sur lesquels, l'intégrale est évaluée par une des règles dequadrature.

19

Page 20: Laachir Rapport PFE Master

Chapitre 3

Modèle d'Heston : Calibration

La pertinence d'un modèle est souvent évaluée par plusieurs critères parmi lesquels la capacitédes prix des options vanilles générés par le modèle à coller aux prix du marché. En e�et, le but de lacalibration est de pouvoir utiliser le modèle, une fois calibré, pour calculer le prix des options exotiqueset la stratégie de leur couverture. Or, les options vanilles sont souvent utilisées comme des outils decouverture dans ces stratégies, d'où l'intérêt d'avoir un modèle qui colle assez bien à ces options-là.

C'est d'ailleurs l'une des raisons pour laquelle les modèles à volatilité stochastique ont été intro-duits après les modèles à volatilité locale. En e�et, comme nous l'avons souligné au début du chapitreprécédent, la dynamique temporelle du smile prédite par les modèles à volatilité locale ne correspondpas à celle observée dans le marché.

Le principe donc est, faute de pouvoir coller parfaitement à l'ensemble des prix réels, de retrouverdes paramètres qui minimise la distance entre les prix du modèle et ceux du marché, ce qui revient àun problème d'optimisation que l'on peut écrire, avec la notation x = (κ, ω, θ, V0, ρ) :{

min f(x)x ∈ X

où f est une fonction d'erreur et X un ensemble dans lequel on cherche nos paramètres optimaux.

Comme dans tout problème d'optimisation, la première étape est d'étudier la dépendance de lafonction f par rapport à la variable x. On va donc dans la partie suivante étudier l'in�uence desdi�érents paramètres sur la nature des courbes des prix.

3.1 Volatilité Implicite : E�et des paramètres

Avant de discuter de la calibration du modèle, il est intéressant d'étudier le rôle de chacun desparamètres dans la construction des nappes de volatilités implicites, outil essentiel utilisé par lestraders pour analyser la structure en terme des prix. Une éventuelle corrélation entre les paramètres,par exemple, peut permettre de réduire leur nombre pendant la calibration, en en �xant certains.

� Le premier paramètre auquel on s'intéresse est la vitesse de retour à la moyenne κ. D'après lerôle de κ dans la dynamique de la volatilité, il est logique d'étudier séparément son e�et pour descourtes et longues maturités. En e�et, l'e�et de κ est plus important pour les grandes maturités.Comme le montre la �gure 3.1, le paramètre κ joue sur la convexité du smile : l'augmentationde κ diminue la convexité de la nappe de volatilités. Nous remarquons aussi que ce changementest plus prononcé pour les volatilités ATM.

� La volatilité de la variance ω a un e�et similaire à celui de κ : la �gure 3.2 montre que ω contrôlelui aussi la convexité du smile.

20

Page 21: Laachir Rapport PFE Master

Fig. 3.1 � E�et de la vitesse de retour à la moyenne sur la convexité de la volatilité implicite

Fig. 3.2 � E�et de la volatilité de la variance sur la convexité de la volatilité implicite

� Le troisième paramètre est la volatilité à long terme θ : intuitivement, une augmentation de θremonte le prix, similairement au paramètre σ dans le modèle de Black-Scholes. Ceci se re�ètedans la �gure 3.3, qui montre que θ contrôle le niveau du smile. Le même rôle est joué par lavariance initiale V0.

� Le dernier paramètre est la corrélation ρ : son changement entraîne un changement de la symétrie

21

Page 22: Laachir Rapport PFE Master

du smile, et a un e�et opposé sur les prix OTM et ITM. En e�et, augmenter la corrélationaugmente les prix des Calls OTM et diminue les prix des Calls ITM. Ceci re�ète l'e�et de lacorrélation sur la skewness de la distribution des log-rendements, qui a le même signe que lacorrélation.

Ces di�érentes remarques peuvent nous suggérer de considérer κ et ω comme une même variable, demême pour θ et V0, ce qui diminue le nombre de variables à calibrer à 3 paramètres, ce qui peut êtreintéressant pour réduire le temps de calcul lors de l'optimisation. Mais pour plus �exibilité, nous neferons pas cette hypothèse et nous conserverons les 5 paramètres séparés pendant la calibration

Fig. 3.3 � E�et de la volatilité à long terme sur le niveau de la volatilité implicite

Fig. 3.4 � E�et de la corrélation sur le skew de la volatilité implicite

22

Page 23: Laachir Rapport PFE Master

3.2 Calibration : Introduction

Comme nous l'avons souligné dans la partie précédente, le principe de la calibration est de minimi-ser la distance entre les prix du modèle et ceux du marché, ce qui revient à un problème d'optimisationque l'on peut écrire, avec la notation x = (κ, ω, θ, V0, ρ) :{

min f(x)x ∈ X (3.1)

où f est une fonction d'erreur et X un ensemble qui représente les contraintes sur les paramètres. Enl'occurrence, les paramètres doivent véri�er les contraintes de bornes suivantes : κ > 0, ω > 0, θ > 0,V0 > 0 et −1 < ρ < 1.

En plus, nous imposerons la condition de Feller 2κθ − ω2 > 0 comme contrainte, ce à l'instar deplusieurs recherches qui ont montré que cette condition est nécessaire pour la stabilité des prix desoptions exotiques.

Il existe plusieurs choix possibles pour la fonction d'erreur f , qui répondent à di�érents impératifs.Le choix le plus utilisé est la fonction d'erreur quadratique que l'on notera rmse, pour root meansquare error 1 :

rmse(x) =

√√√√ ∑options

(Market price−Model price)2

number of options

Clairement, cette fonction donne plus de poids aux options chères, c'est-à-dire les options ITMet à grande maturité, au détriment des options très OTM et à courte maturité. Une solution seraitde mettre des poids aux prix, ou bien d'utiliser d'autres fonctions d'erreurs qui évalue la di�érencerelative entre le prix du marché et celui du modèle, comme l'average relative percentage error :

arpe(x) =1

number of options

∑options

|Market price−Model price|Market price

Il est aussi possible d'utiliser la fonction average absolute error dé�nie par :

aae(x) =1

number of options

∑options

|Market price−Model price|

Le problème que nous devons résoudre s'écrit alors, en utilisant par exemple la fonction rmse : min rmse(κ, ω, θ, V0, ρ)κ > 0, ω > 0, θ > 0, V0 > 0 et −1 < ρ < 12κθ − ω2 > 0

(3.2)

Dans la suite, nous utiliserons les trois fonctions pour di�érentes sortes de données. En premierlieu, nous étudions la capacité du modèle à retrouver les paramètres avec lesquels une nappe de prixa été générée.

En�n, nous utiliserons l'algorithme A pour calibrer le modèle d'Heston sur des données réelles dumarché.

3.2.1 Application aux prix générés par le modèle d'Heston

Avant d'utiliser l'algorithme A pour la calibration du modèle d'Heston sur des données réelles dumarché, on soumet l'algorithme à un dernier test qui consiste à retrouver les paramètres avec lesquelsune nappe de prix a été générée.

1On suit dans cela les notations de l'article [7]

23

Page 24: Laachir Rapport PFE Master

Avec les paramètres (κ, ω, θ, V0, ρ) = (1.5, 0.5, 0.16, 0.16, −0.1), nous avons calculé un en-semble de prix avec 6 maturités de 0.5 Y à 15 Y , chacune avec 7 strikes de 40% à 150%, en �xantS0 = 100, r = 0.03.

Pour étudier la dépendance de l'algorithme A au point initial, nous avons utilisé 10 di�érents jeuxde paramètres initiaux. Nous donnons dans le tableau en bas, l'écart type des paramètres trouvésaprès la calibration réalisée avec la fonction rmse :

rmse κ ω θ V0 ρEcart-type 5.77E-03 1.18E-03 1.50E-05 1.97E-05 2,25E-04

κ ω θ V0 ρ Cond.FellerValeurs d'origine 1.5 0.8 0.16 0.16 -0.1 -0.16Valeurs trouvées 1.8238 0.7575 0.1573 0.1611 -0.1432 1.69E-4

On voit clairement que nous arrivons à retrouver les paramètres originaux, avec une bonne stabilitépar rapport au point initial choisi. On signale aussi que l'on obtient une meilleure stabilité avec lafonction arpe.

arpe κ ω θ V0 ρEcart-type 4.05E-03 4.45E-04 1.84E-05 9.54E-06 7.74E-05

Par exemple, avec le point initial suivant : (κ, ω, θ, V0, ρ) = (4, 1, 0.4, 0.4, 0.5), nous obtenonsles paramètres suivants : (κ, ω, θ, V0, ρ) = (1.49967014, 0.50012982, 0.16000544, 0.16001793, −0.10013121).

3.2.2 Calibration du modèle d'Heston sur des données de marché

D'après la partie précédente, nous avons montré que l'algorithme donne des résultats prometteurspour son utilisation pour la calibration du modèle d'Heston sur des prix du marché. Nous allons doncconsidérer dans cette partie des prix réels et, pour des besoins de comparaison, nous utiliserons lesdonnées de l'article [7], composées de 144 Call européens sur l'Eurostoxx 50 index le 07/10/2003, dontla valeur est 2461.44, et pour des maturités de 0, 0361 Y à 5, 1639 Y . Nous prenons la même valeurque dans l'article pour le taux d'intérêt sans risque r = 0.03. (voir la table 4 de l'article [7])

Comme pour la partie précédente, nous étudierons la qualité de la calibration et sa dépendancedu choix du point initial. En e�et, nous avons lancé notre algorithme avec 10 di�érents paramètresinitiaux en utilisant les trois fonctions d'erreur rmse, arpe et aae.

Dans le tableau en bas, nous donnons la valeur minimale de la fonction d'erreur obtenue après lacalibration et, pour comparer, nous donnons aussi la valeur trouvée dans l'article [7] :

rmse arpe aaeArticle [7] 3.0281 0.0174 2.4264

Nos résultats 2.8365 0.0101 2,3209

Nous remarquons que l'algorithme A trouve une meilleure valeur pour les trois fonctions d'erreurpar rapport à l'article [7]. La �gure 3.5 montre que le modèle d'Heston arrive à reconstituer la nappedes prix avec une bonne qualité. Le signe plus représente les prix donnés par le modèle et les cerclesceux du marché. En plus, l'algorithme est stable par rapport au point initial comme le montre letableau suivant qui donne l'écart type des paramètres trouvés avec les 10 points initiaux :

κ ω θ V0 ρEcart-type 1.68E-04 7.64E-06 4.91E-06 1.49E-06 6.05E-05

Nous donnons aussi les paramètres donnant la meilleure valeur pour les trois fonctions d'erreur :

24

Page 25: Laachir Rapport PFE Master

Fig. 3.5 � Calibration du modèle d'Heston

κ ω θ V0 ρrmse 0.49732481 0.265879774 0.071072575 0.06438063 -0.733659533arpe 0.473203521 0.255870681 0.069805804 0.063142791 -0.692745768aae 0.51500004 0.265000991 0.070417831 0.06454543 -0.748583081

Comme nous l'avons souligné dans l'introduction, l'utilisation de la fonction d'erreur quadratiquedonne plus de poids aux options chères, ie de longue maturité ou très dans la monnaie, par rapportaux options à courte maturité et très hors de la monnaie. Ceci implique une mauvaise calibration sur ces

dernières options, comme le montre la �gure 3.6 qui trace l'erreur relative|Model price−Market price|

Market priceaprès la calibration. L'erreur relative est plus grande pour les grands strike (options très OTM).

Fig. 3.6 � Erreur relative pour rmse

Ce problème peut être résolu en partie en utilisant la fonction d'erreur relative arpe dans lacalibration. La �gure 3.7 nous montre que l'erreur relative sur les options OTM a été presque diviséepar deux.

25

Page 26: Laachir Rapport PFE Master

Fig. 3.7 � Erreur relative pour arpe

Conclusion

Le sujet de ce rapport a été l'utilisation d'un algorithme d'optimisation pour la calibration du mo-dèle d'Heston. Nous avons donc étudié un algorithme d'optimisation qui utilise la méthode des PointsIntérieurs et les techniques de quasi-Newton. Les di�érents tests auxquels on a soumis l'algorithmeont montré sa robustesse par rapport au choix du point de départ.

L'utilisation de cet algorithme pour la calibration du modèle d'Heston a donné des résultats satis-faisants, que ce soit pour qualité de la convergence ou pour la stabilité des résultats de la calibrationpar rapport aux paramètres initiaux. Par contre, la qualité de la calibration est relativement limitéepour les courtes maturités, ce qui est un des inconvénients du modèle d'Heston. Une possibilité doncest d'utiliser un modèle plus avancé, comme celui de Bates ou avec un processus de Lévy général.

26

Page 27: Laachir Rapport PFE Master

Bibliographie

[1] P. Armand, J. C. Gilbert ET S. Jan-Jégou (2000). A feasible BFGS interior point algorithm forsolving strongly convex minimization problems, SIAM J. Optim. 11, no. 1, 199-222.

[2] J.Ch. Gilbert.(2007) Optimisation Di�érentiable - Théorie et Algorithmes, Syllabus de cours àl'ENSTA. http ://www-rocq.inria.fr/ gilbert/ensta/optim.html.

[3] Heston, S.L.(1993) A closed-form solution for options with stochastic volatility with applicationsto bond and currency options, Review of Financial Studies , vol. 6, no. 2, pp. 327-343.

[4] Kahl, C. and Jackel, P. (2005) Not-so-complex logarithms in the Heston model, WilmottMagazine,September 2005.

[5] Albrecher, H., Mayer, P., Schoutens, W., Tistaert, J. (2007) The little Heston trap, WilmottMagazine, January Issue (2007) 83-92.

[6] Gander, G. and Gautschi, W. 2000 Adaptive quadrature-revisited, BIT Numerical Mathematics40, 1, 84-101.

[7] Schoutens, W., Simons, E. and Tistaert, J. (2004) A Perfect calibration ! Now what ?, WilmottMagazine, March 2004.

[8] Abdel-Rahman Hedar and Masao Fukushima Derivative-Free Filter Simulated Annealing Methodfor Constrained Continuous Global Optimization

[9] C. A. Coello Coello and E. M. Montes(2002) Constraint-handling in genetic algorithms throughthe use of dominance-based tournament selection Advanced Engineering Informatics, 16 , 193-203.

[10] Chandra Sekhar Pedamallu, Linet Özdamar, Tibor Csendes An Interval Partitioning Approachfor Continuous Constrained Optimization

[11] M. Al-Baali (1998) Global and superlinear convergence of a restricted class of self-scaling methodswith inexact line searches, for convex functions, Comput. Optim. Appl. 9, no. 2, 191-203

[12] W. Hock and K. Schittkowski Test Examples for Nonlinear Programming Codes, Springer-VerlagBerlin Heidelberg, 1981

27

Page 28: Laachir Rapport PFE Master

Annexe A

Modèle d'Heston : Résultats

théoriques

A.1 Existence du processus (Vt)t≥0

L'existence du processus de la variance est assurée par le théorème de Yamada-Watanabe quiaméliore notablement le théorème classique sur l'EDS. En e�et, il n'exige pas que le coe�cient de ladi�usion soit localement lipchitzien, comme c'est le cas pour l'EDS du processus CIR :

dVt = κ(θ − Vt)dt+ ω√VtdZt

La fonction √. n'étant pas lipchitzienne en 0, le théorème classique ne peut pas s'appliquer, maison peut utiliser le théorème suivant :

Théorème A.1.1 Théorème de Yamada-WatanabeOn considère l'EDS à une dimension suivante :

(E){

dXt = b(t,Xt)dt+ σ(t,Xt)dBt

X0 = x ∈ R

On suppose que :� b et σ sont à croissance linéaire, ie :

|b(t, x) + σ(t, x)| ≤ C(1 + |x|), ∀t ∈ [0, T ],∀x ∈ R

� b véri�e "la condition de Lipchitz locale" ie :

∀n ≥ 1 ∃Kn > 0 tel que ∀t ∈ [0, T ], |x| < n, |y| < n

|b(t, x)− b(t, y)| ≤ Kn|x− y|

� σ véri�e :|σ(t, x)− σ(t, y)| ≤ ρ(|x− y|), ∀t ∈ [0, T ], x ∈ R, y ∈ R

où ρ :]0,+∞[→]0,+∞[ est une fonction mesurable telle que :∫ ε

0

dz

ρ2(z)= +∞

pour tout ε > 0Alors, l'équation (E) admet une solution forte unique.

L'application de ce théorème avec le choix ρ(x) =√x (sachant que |

√x−√y| ≤

√|x− y|) montre

que l'équation véri�ée par la variance admet une unique solution forte.

28

Page 29: Laachir Rapport PFE Master

A.2 Contrôle uniforme sur les moments de X et V

Comme il a été énoncé dans le chapitre 2, les moments de X = log(S) et V sont contrôlés unifor-mément dans le sens :

Pour tout p ≥ 1 :

E[Sup

0≤t≤T|Xt|p + |Vt|p

]≤ C(p, T )(1 + |X0|p + |V0|p)

Ce résultat est vrai pour tout processus Y dé�ni par une EDS à coe�cients à croissance linéaire,comme X et V .On considère l'EDS :

(E){

dYt = b(t, Yt)dt+ σ(t, Yt)dBt

Y0 = y ∈ R

Théorème A.2.1 On suppose que b et σ véri�ent les conditions du théorème de Yamada-Watanabe(A.1.1).Alors : si T > 0,

∀p ≥ 1 ∃C(p, T ) > 0 tel que : E[Sup

0≤t≤T|Yt|p

]≤ C(p, T )(1 + |y|p)

Preuve :Premier cas : p ≥ 2.Pour travailler avec des processus bornés, on introduit le temps d'arrêt suivant : pour n ∈ N :τn = inf{t ∈ [0, T ], |Yt| > n}.

On a :

Y pt =

(y +

∫ t

0

b(s, Ys)ds +∫ t

0

σ(s, Ys)dBs

)p

, et avec l'inégalité : (a+ b+ c)p ≤ 3p−1(ap + bp + cp), on obtient :

∀ t ≤ T, |Yt∧τn|p ≤ 3p−1

(|y|p +

∣∣∣∣∫ t∧τn

0

b(s, Ys)ds∣∣∣∣p +

∣∣∣∣ ∫ t∧τn

0

σ(s, Ys)dBs

∣∣∣∣p)

Donc :

E[

supt≤T∧τn

|Yt|p]≤ 3p−1

(|y|p + E

[(∫ T∧τn

0

|b(s, Ys)| ds

)p]+ E

[supt≤T

∣∣∣∣ ∫ t∧τn

0

σ(s, Ys)dBs

∣∣∣∣p])

Sachant que∫ t∧τn

0σ(s, Ys)dBs est une martingale, on peut utiliser l'inégalité de Burkholder-Davis-

Gundy :

E

[supt≤T

∣∣∣∣ ∫ t∧τn

0

σ(s, Ys)dBs

∣∣∣∣p]≤ E

(∫ T∧τn

0

σ(s, Ys)2ds

)p/2

On utilise aussi l'inégalité de Holder (la condition p ≥ 2 le permet) pour obtenir :

E

(∫ T∧τn

0

σ(s, Ys)2ds

)p/2 ≤ CE

[(∫ T∧τn

0

σ(s, Ys)pds

)]

E

[(∫ T∧τn

0

|b(s, Ys)| ds

)p]≤ CE

[∫ T∧τn

0

|b(s, Ys)|p ds

]

29

Page 30: Laachir Rapport PFE Master

Par suite, puisque b et σ sont à croissance linéaire :

E

[∫ T∧τn

0

|b(s, Ys)|p ds

]≤ K

(1 + E

[∫ T∧τn

0

|Ys|pds

])≤ K

(1 + E

[∫ T

0

sups≤T∧τn

|Ys|pds

])

La même inégalité est valable pour le coe�cient σ.On obtient alors :

E[

supt≤T∧τn

|Yt|p]≤ A

(1 + |y|p +

∫ T

0

E[

supt≤u∧τn

|Yt|p]du

)où la constante A ne dépend pas de n. Le lemme de Gronwall donne alors :

∀ n ≥ 0 E[

supt≤T∧τn

|Yt|p]≤ A(1 + |y|p)

Finalement, le lemme de Fatou permet d'avoir :

E[supt≤T

|Yt|p]≤ A(1 + |y|p)

Deuxième cas : si 1 ≤ p < 2On se ramène au cas précédent en appliquant Holder (remarquer que 2p ≥ 2) :

E[supt≤T

|Yt|p]≤ E

[supt≤T

|Yt|2p

]1/2

≤√C√

1 + |x|2p ≤√C(1 + |x|p)

A.3 Continuité de f1 et f2 en 0

L'étude des fonctions f1 et f2 est indispensable pour mieux cerner les problèmes du calcul nu-

mérique de∫ +∞

0

(F · f1(u) − K · f2(u))du. Ici nous allons montrer leur continuité en 0. Ceci peut

être prouvé en utilisant l'expression explicite de C et D dans la fonction caractéristique φ(u) =eC(T,u)+D(T,u)V0+iu ln F (voir [4]).

Mais il est plus facile d'utiliser le fait que φ(u) est la fonction caractéristique d'un processusaléatoire, ce qui nous dispense de passer par des calculs fastidieux.

Limite de f1(u) quand u → 0

Nous commençons par réécrire la fonction f1 :

f1(u) = <(e−iu ln K φ(u− i)

iuF

)= <

(e−iu ln K E

[ST e

iu ln ST]

iuF

)

= E[<(ST

iuFeiu ln ST /K

)]= E

[ST

uFsin(u ln

ST

K

)]

or limu→0

sin (u ln ST

K )u

= lnST

KP-ps

Donc, par théorème de convergence dominée :

30

Page 31: Laachir Rapport PFE Master

limu→0

f1(u) = E[ST

FlnST

K]

=1F

E[ST lnST ]− lnK

Pour calculer 1F E[ST lnST ], on peut utiliser le théorème de Girsanov pour se ramener aux moments

de lnST calculés auparavant.

En e�et : 1F E[ST lnST ] = E[lnST ] avec E l'espérance sous la probabilité P dé�nie par :

dPdP/Ft

=St

ertS0

= exp(∫ t

0

−Vs

2ds+

∫ t

0

√VsdWs

)

On pose : dWs = dWs −√Vsds. Sous P, le processus W est un mouvement brownien (Théorème

de Girsanov).

En remplaçant W par W dans l'EDS véri�ée par (lnSt, Vt), on obtient la dynamique suivante :{d lnSt = (r + Vt

2 )dt+√VtdWt

dVt = (κθ + (ρω − κ)Vt)dt+ ω√VtdZt

Avec Wt et Zt deux mouvements browniens sous la probabilité P tels que < W , Z >t= ρt

En utilisant l'EDS de lnS on obtient : E[lnST ] = lnF + 12

∫ T

0E[Vt]dt.

Pour calculer E[Vt], nous distinguerons deux cas :

Premier cas : ρω − κ 6= 0Dans ce cas, l'EDS de V peut s'écrire :

dVt = (κ− ρω)(κθ

κ− ρω− Vt)dt+ ω

√VtdZt

= κ(θ − Vt)dt+ ω√VtdZt

avec : κ = κ− ρω et θ = κθκ−ρω .

Et en utilisant l'espérance de V calculée dans le chapitre 2, on écrit :

E[Vt] = θ + (V0 − θ)e−κt

En intégrant cette fonction, on arrive en�n au résultat :

f1(0) = E[lnST ]− lnK

= lnF

K+

12

∫ T

0

E[Vt]dt

= lnF

K+

12κθe(ρω−κ)T − 1− (ρω − κ)T

(ρω − κ)2+

12V0e(ρω−κ)T − 1ρω − κ

31

Page 32: Laachir Rapport PFE Master

Deuxième cas : ρω − κ = 0Dans ce cas, l'EDS de V se simpli�e :

dVt = κθdt+ ω√VtdZt

et la moyenne de V s'en déduit :E[Vt] = V0 + κθt

Par suite :

f1(0) = lnF

K+

12

∫ T

0

E[Vt]dt

= lnF

K+V0

2T +

κθ

4T 2

Remarque :La limite f1(0) peut exploser quand ρω − κ > 0 et pour des maturités grandes. En plus, un déve-loppement limité montre que f1(u) est équivalente à une parabole au voisinage de 0. ie : f1(u) =f1(0) + au2 + o(u3). La constante a peut prendre des valeurs très grandes, ce qui donne une paraboletrès convexe.

Ceci peut poser quelques problèmes lors de l'intégration numérique de f1 car on peut avoir f1(0)de l'ordre de 1030 alors que |f1(1)| < 1.

En e�et, selon le choix des paramètres et des caractéristiques de l'option, la forme de la fonctionà intégrer change.

Exemple : Nous avons tracé le graphe de f(u) = F ·f1(u)−K ·f2(u) pour deux jeux de paramètresqui montrent cette di�culté. La première forme reste très lisse, donc facile à intégrer, contrairementà la deuxième qui a une très grande pente au voisinage de zéro.

Fig. A.1 � Pro�l de la fonction à intégrer pour deux jeux de paramètres.

32

Page 33: Laachir Rapport PFE Master

Limite de f2(u) quand u → 0

La deuxième quantité se calcule de façon analogue :

f2(u) = <(e−iu ln K φ(u)

iu

)= E

[<(eiu ln (ST /K)

iu

)]= E

[sin(u ln ST

K

)u

]

or limu→0

sin (u ln ST

K )u

= lnST

KP-ps

Donc, par théorème de convergence dominée :

f2(0) = E[ln ST ]− ln K

= lnF

K+

(θ − V0)(1− e−κT )− θκT

33

Page 34: Laachir Rapport PFE Master

Annexe B

Problèmes test

Problème G1 :

Minimiser f(x) = 54∑

i=1

xi − 54∑

i=1

x2i −

13∑i=5

xi

Sous les contraintes :

g1(x) = 10− 2x1 − 2x2 − x10 − x11 ≥ 0g2(x) = 10− 2x1 − 2x3 − x10 − x12 ≥ 0g3(x) = 10− 2x2 − 2x3 − x11 − x12 ≥ 0g4(x) = 8x1 − x10 ≥ 0g5(x) = 8x2 − x11 ≥ 0g6(x) = 8x3 − x12 ≥ 0g7(x) = 2x4 + x5 − x10 ≥ 0g8(x) = 2x6 + x7 − x11 ≥ 0g9(x) = 2x8 + x9 − x12 ≥ 0xi ≥ 0, i = 1, . . . , 13xi ≤ 1, i = 1, . . . , 9, 13

(B.1)

Problème G4 :

Minimiser f(x) = 5.3578547x23 + 0.8356891x1x5 + 37.293239x1 − 40792.141

Sous les contraintes :

g1(x) = 92− u(x) ≥ 0g2(x) = u(x) ≥ 0g3(x) = 110− v(x) ≥ 0g4(x) = v(x)− 90 ≥ 0g5(x) = 25− w(x) ≥ 0g6(x) = w(x)− 20 ≥ 0

avec :u(x) = 85.334407 + 0.0056858x2x5 + 0.0006262x1x4 − 0.0022053x3x5

v(x) = 80.51249 + 0.0071317x2x5 + 0.0029955x1x2 + 0.0021813x23

w(x) = 9.300961 + 0.0047026x3x5 + 0.0012547x1x3 + 0.0019085x3x4

(B.2)

Problème G6 :

34

Page 35: Laachir Rapport PFE Master

Minimiser f(x) = (x1 − 10)3 + (x2 − 20)3

Sous les contraintes :

g1(x) = (x1 − 5)2 + (x2 − 5)2 − 100 ≥ 0g2(x) = −(x1 − 6)2 − (x2 − 5)2 + 82.81 ≥ 0

(B.3)

Problème G8 :

Minimiser f(x) = − sin3(2πx1) sin(2πx2)x3

1(x1 + x2)Sous les contraintes :

g1(x) = −x21 + x2 − 1 ≥ 0

g2(x) = x1 − 1− (x2 − 4)2 ≥ 0

(B.4)

Problème G9 :

Minimiser f(x) = (x1 − 10)2 + 5(x2 − 12)2 + x43 + 3(x4 − 11)2

+10x65 + 7x2

6 + x47 − 4x6x7 − 10x6 − 8x7

Sous les contraintes :

g1(x) = 2x21 + 3x4

2 + x3 + 4x24 + 5x5 − 127 ≤ 0

g2(x) = 7x1 + 3x2 + 10x23 + x4 − x5 − 282 ≤ 0

g3(x) = 23x1 + x22 + 6x2

6 − 8x7 − 196 ≤ 0g4(x) = 4x2

1 + x22 − 3x1x2 + 2x2

3 + 5x6 − 11x7 ≤ 0

(B.5)

Problème G10 :

Minimiser f(x) = x1 + x2 + x3

Sous les contraintes :

g1(x) = −1 + 0.0025(x4 + x6) ≤ 0g2(x) = −1 + 0.0025(−x4 + x5 + x7) ≤ 0g3(x) = −1 + 0.01(−x5 + x8) ≤ 0g4(x) = 100x1 − x1x6 + 833.33252x4 − 83333.333 ≤ 0g5(x) = x2x4 − x2x7 − 1250x4 + 1250x5 ≤ 0g6(x) = x3x5 − x3x8 − 2500x5 + 1250000 ≤ 0

(B.6)

35