Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3...

35
Modèle de Heston Pricing d’options européennes et calibration P ROJET IMI ENPC 15 juin 2007 Tuteur : Adel B EN HAJ YEDDER Gilles Blanchet Moncef Elacheche Eric Jeangirard Khaled Saleh

Transcript of Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3...

Page 1: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

Modèle de Heston

Pricing d’options européennes et calibration

PROJET IMI ENPC

15 juin 2007

Tuteur : Adel BEN HAJ YEDDER

Gilles Blanchet Moncef Elacheche Eric Jeangirard Khaled Saleh

Page 2: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance
Page 3: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

3

RésuméDans ce rapport, nous présentons un modèle couramment utilisé en finance : le modèle de

Heston. Ce modèle, notamment utilisé en dérivés actions, est un modèle à volatilité stochastique.Nous montrons comment établir la formule de pricing des options vanilla puis étudions la ca-pacité du modèle à reproduire une nappe de volatilité de marché. En ajoutant des sauts sur lesous-jacent à travers le modèle de Bates, nous obtenons des résultats très concluants pour lesmoyennes et longues maturités mais nous observons que ce modèle ne peut reproduire parfaite-ment le smile sur les courtes échéances.

AbstractIn this report, we present a common model in finance : the Heston model. This model, com-

monly used in equity derivatives is a stochastic volatility model. We establish the vanilla optionspricing formula and then study the capacity of the model to reproduce the market volatilitysurface. By adding jumps (Bates model), we get very satisfying results for middle-term andlong-term maturities, but we observe that this model cannot reproduce perfectly the smile for theshort-term maturities.

Page 4: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

4 TABLE DES MATIÈRES

Table des matièresIntroduction 6

1 Le modèle de Heston 71.1 Mise en équation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Expression des solutions analytiques pour les produits vanilles . . . . . . . . . . 91.3 Amélioration : modèle de Bates . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Calibration 122.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.1 L’algorithme de Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . 132.2.2 L’algorithme de descente de gradient . . . . . . . . . . . . . . . . . . . 142.2.3 L’algorithme de Levenberg-Marquardt . . . . . . . . . . . . . . . . . . . 14

3 Implémentation en langage C++ 163.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.1 La classe Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.2 La classe BS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.3 La classe Heston . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.4 La classe Bates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3 La classe Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.4 Intégrale de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.5 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Résultats 244.1 Influence qualitative des paramètres sur le smile . . . . . . . . . . . . . . . . . . 244.2 Efficacité de la calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2.1 Influence du nombre d’itérations . . . . . . . . . . . . . . . . . . . . . . 274.2.2 Reproductibilité de la nappe de volatilité . . . . . . . . . . . . . . . . . 30

5 Conclusion 35

Références 35

Page 5: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

TABLE DES MATIÈRES 5

RemerciementsNous voudrions évidemment commencer par remercier notre tuteur Adel Ben Haj Yedder,

actuellement quant à Natixis, qui a eu la gentillesse d’accepter de nous encadrer pour notreprojet de département - qui plus est en nous proposant un sujet idéal pour compléter la formationque nous avons reçu en deuxième année.

Nous tenons d’autre part à remercier Mohamed Sbai, en première année de thèse au CERMICS

pour avoir pris le temps de discuter avec nous du modèle.Nous remercions aussi Jean-Philippe Pons, chercheur au CERTIS pour nous avoir aidé dans

l’étape d’implémentation des classes en C++.

Page 6: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

6 TABLE DES MATIÈRES

IntroductionEn 1973, Black, Scholes et Merton [3] ont exhibé un moyen simple de pricer et de couvrir

des options sur actions, en donnant même une formule close pour les options les plus classiques(appelées vanilla, à savoir les call et les put). Ce modèle connut un grand succès en particulierparce qu’il montrait que la tendance du cours du sous-jacent n’intervenait pas dans la formule depricing et donnait une stratégie de couverture simple.

Néanmoins, dans le modèle Black-Scholes, la volatilité est supposée constante. Pourtant, sinous observons des prix d’options vanilles ayant différents prix d’exercice et différentes maturi-tés, nous constatons que leur volatilité implicite est différente (le smile de volatilité, cf Fig. 1).Evidemment, un trader peut continuer à utiliser la formule de Black-Scholes en y introduisant lavolatilité qu’il estime adéquate, et ce pour chaque deal qu’il traite. D’autres modèles à un facteuront été développés, par exemple ceux à volatilité locale (Dupire[1], Derman et Kani [2] notam-ment). Avec ces modèles, le marché reste complet et il est possible de retrouver une structurede smile. Parallèlement, des modèles à plusieurs facteurs ont été développés, en particulier desmodèles avec des sauts (Merton par exemple) ou des modèles à volatilités stochastiques, toujoursdans le but de reproduire le smile observé sur le marché.

Après avoir explicité le modèle d’Heston, nous expliquerons comment il est possible de re-produire effectivement la nappe de volatilité observée (étape de calibration), puis nous commen-terons nos résultats.

75 80 85 90 95 100 105 110 115 120 1250.205

0.210

0.215

0.220

0.225

0.230

0.235

0.240

0.245

0.250

Strike

Vol.

impl

icite

FIG. 1 – En bleu, le smile de marché "stylisé", en rouge le smile avec le modèle de Black-Scholes

Page 7: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

7

1 Le modèle de HestonL’observation des marchés montre la nécessité de modéliser la volatilité comme une variable

aléatoire. En effet, il suffit pour s’en convaincre de se rappeler l’existence de krachs boursiers.Dans le modèle de Heston, apparaît un paramètre de retour à la moyenne de la volatilité. Il

est économiquement raisonnable qu’il y ait un tel paramètre dans la mesure où nous pouvonssupposer que, même à long terme, la volatilité d’une action gardera un certain ordre de grandeur.

1.1 Mise en équationLe modèle de Heston (1993) suppose que le prix du stock, S ainsi que sa variance v vérifient

le système d’EDS suivant :{dS(t) = µ(t)S(t)dt+

√v(t)S(t)dZ1

dv(t) = κ(θ − v(t))dt+ σ√v(t)dZ2

(1.1)

avec ⟨dZ1, dZ2

⟩= ρdt

où µ(t) est la tendance instantanée (déterministe) du stock, κ, la vitesse de retour à la moyenne,θ la variance à l’infini, σ la volatilité de la volatilité et ρ la corrélation des deux browniens Z1 etZ2.

Dans la suite de la section, nous avons en grande partie repris la démarche de Jianqiang Xu[4].Dans le cas Black-Scholes, la seule source d’incertitude vient du prix du stock, qui peut se couvriravec le stock. Dans le cas Heston, il faut aussi couvrir l’incertitude venant du caractére stochas-tique de la volatilité pour créer un portefeuille sans risque. Imaginons ainsi un portefeuille Πcontenant l’option dont on cherche à détermner le prix noté V (S, v, t), la quantité −∆ de stocket la quantité −∆1 d’un autre actif, de valeur V1 dépendant de la volatilité. On a ainsi :

Π = V −∆S −∆1V1 (1.2)

Nous obtenons, grâce à la formule d’Itô :

dΠ =

{∂V

∂t+

1

2vS2(t)

∂2V

∂S2+ ρσvS(t)

∂2V

∂v∂S+

1

2σ2v

∂2V

∂v2

}dt

−∆1

{∂V1

∂t+

1

2vS2(t)

∂2V1

∂S2+ ρσvS(t)

∂2V1

∂v∂S+

1

2σ2v

∂2V1

∂v2

}dt

+

{∂V

∂S−∆1

∂V1

∂S−∆

}dS +

{∂V

∂v−∆1

∂V1

∂v

}dv

(1.3)

Page 8: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

8 1 LE MODÈLE DE HESTON

Pour que le portefeuille soit sans risque, il est nécessaire d’éliminer les termes en dS et dv,d’où l’on tire les quantités : ∆ = ∂V

∂S− ∂V/∂v

∂V1/∂v∂V1

∂S

∆1 = ∂V/∂v∂V1/∂v

(1.4)

Le rendement d’un portefeuille sans risque devant être égal au taux sans risque r (supposéconstant) - sans quoi il y aurait une opportunité d’arbitrage, nous avons :

dΠ =

{∂V

∂t+

1

2vS2(t)

∂2V

∂S2+ ρσvS(t)

∂2V

∂v∂S+

1

2σ2v

∂2V

∂v2

}dt

−∆1

{∂V1

∂t+

1

2vS2(t)

∂2V1

∂S2+ ρσvS(t)

∂2V1

∂v∂S+

1

2σ2v

∂2V1

∂v2

}dt

= rΠdt

= r(V −∆S −∆1V1

)dt

En utilisant (1.4), la dernière équation peut se réécrire :

1

∂V/∂v

{∂V

∂t+

1

2vS2∂

2V

∂S2+ ρσvS

∂2V

∂v∂S+

1

2σ2v

∂2V

∂v2+ rS

∂V

∂S− rV

}=

1

∂V1/∂v

{∂V1

∂t+

1

2vS2∂

2V1

∂S2+ ρσvS

∂2V1

∂v∂S+

1

2σ2v

∂2V1

∂v2+ rS

∂V1

∂S− rV1

} (1.5)

Le membre de gauche est une fonction uniquement de V tandis que le membre de droite estune fonction de V1 seulement. Cela force chacun des deux membres à être égaux à une fonctionf des variables indépendantes S, v et t. On peut ainsi écrire que :

∂V

∂t+

1

2vS2∂

2V

∂S2+ ρσvS

∂2V

∂v∂S+

1

2σ2v

∂2V

∂v2+ rS

∂V

∂S− rV =

∂V

∂vf (1.6)

Soit encore

∂V

∂t+

1

2vS2∂

2V

∂S2+ ρσvS

∂2V

∂v∂S+

1

2σ2v

∂2V

∂v2+ rS

∂V

∂S− rV =

∂V

∂v

[κ(θ− v)−Λ(S, v, t)σ

√v]

(1.7)où Λ(S, v, t) est le prix de marché de la volatilité.

Dans son article, Heston choisit Λ(S, v, t) = λ√v

σ, de sorte que :

∂V

∂t+

1

2vS2∂

2V

∂S2+ ρσvS

∂2V

∂v∂S+

1

2σ2v

∂2V

∂v2+ rS

∂V

∂S− rV − ∂V

∂v

[κ(θ− v)− λv

]= 0 (1.8)

Page 9: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

1.2 Expression des solutions analytiques pour les produits vanilles 9

1.2 Expression des solutions analytiques pour les produits vanillesOn cherche à présent à résoudre 1.8 pour un call européen de strike K. On suppose que la

solution cherchée peut s’écrire sous la forme

C(S, v, t) = SP1 −Ke−r(T−t)P2 (1.9)

Posons x = ln(S) et τ = T − t.En injectant 1.9 dans 1.8, on obtient pour j = 1, 2 :

∂Pj∂t

+1

2v∂2Pj∂x2

+ ρσv∂2Pj∂x∂v

+1

2σ2v

∂2Pj∂v2

+ (r + ujv)∂Pj∂x

+ (a− bjv)∂Pj∂v

= 0 (1.10)

oùu1 =

1

2, u2 = −1

2, a = κθ, b1 = κ+ λ− ρσ, b2 = κ+ λ

D’autre part, puisqu’il s’agit d’un call, nous avons les conditions à la limite suivante :

Pj(x, v, T ) = 1{x>ln(K)} (1.11)

Les Pj peuvent s’interpréter comme des probabiltés : ... Les fonctions caractéristiques cor-respondantes f1 et f2 satisfont l’EDP :

∂fj∂t

+1

2v∂2fj∂x2

+ ρσv∂2fj∂x∂v

+1

2σ2v

∂2fj∂v2

+ (r + ujv)∂fj∂x

+ (a− bjv)∂fj∂v

= 0 (1.12)

avec la condition terminalefj(x, v, T,Φ) = eiΦx

Nous allons chercher une solution sous la forme :

fj(x, v, t,Φ) = exp(C(τ,Φ) +D(τ,Φ)v + iφx

)(1.13)

En injectant dans 1.12, on obtient :

− Φ2

2+ ρσΦiD +

1

2σ2D2 + ujΦi− bjD +

∂D

∂t= 0 (1.14)

rΦi+ aD +∂C

∂t= 0 (1.15)

avec C(0,Φ) = D(0,Φ) = 0. On peut résoudre ces ODE :

C(τ,Φ) = rΦiτ +a

σ2

[(bj − ρσΦi+ d)τ − 2ln

(1− gedτ

1− g

)](1.16)

D(τ,Φ) =bj − ρσΦi+ d

σ2

[1− edτ

1− gedτ

](1.17)

Page 10: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

10 1 LE MODÈLE DE HESTON

avec

g =bj − ρσΦi+ d

bj − ρσΦi− det d =

√(ρσΦi− bj)2 − σ2(2ujΦi− Φ2)

Par transformation inverse, on arrive à obtenir (cf [5] ) :

Pj =1

2+

1

π

∫ +∞

0

Re

[e−iΦln(K)fj

]dΦ

1.3 Amélioration : modèle de BatesUne amélioration courante du modèle à volatilité stochastique de Heston consiste à ajouter

des sauts à la dynamique du sous-jacent, à travers le modèle de Merton. La combinaison de cesdeux modèle s’appelle le modèle de Bates, et s’écrit :{

dS(t) = rS(t)dt+√v(t)S(t)dZ1 + (eJ − 1)dNt

dv(t) = κ(θ − v(t))dt+ σ√v(t)dZ2

(1.18)

avec ⟨dZ1, dZ2

⟩= ρdt

et Nt est un processus de Poisson de paramètre λ et J suit une loi gaussienne de moyenne met de variance w.

Dans ce modèle, il y a maintenant non plus cinq mais huit paramètres.

Plus généralement, il existe une grande quantité de raffinements pouvant être apportés : consi-dérer les dividendes, un taux sans risque aléatoire etc... La Fig. 2 donne un aperçu de certainsraffinements possibles. Néanmoins, il faut garder à l’esprit que plus le nombre de paramètresintroduits est grand, plus il sera ensuite difficile d’arriver à les calibrer correctement.

Page 11: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

1.3 Amélioration : modèle de Bates 11

Modèle

Sous-jacent

Tauxssrisque

Dividendes

Volatilité

...

Sauts

Continu

Cst

...Nuls

...CstDéterministeStochastique

Black-Scholes

Bates

Heston

Dupire

FIG. 2 – Arbre structurel de modèles en dérivés actions

Page 12: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

12 2 CALIBRATION

2 Calibration

2.1 Motivation

Le modèle de Heston nous donne la prime d’une option d’échéance T et de strike K à par-tir des paramètres p = (ρ, κ, θ, v0, σ). Or jusqu’à présent nous avons considéré ces paramètrescomme des données propres au marché et on doit donc s’interroger sur leur valeur, c’est-à-direcalibrer ces paramètres aux données du marché. Une façon de faire consiste à résoudre le pro-blème de minimisation :

p = arg infp∈R5

m∑i=1

αi (H(Xi, p)− Ci)2 (2.1)

où Hi et Ci sont respectivement le prix simulé par le modèle de Heston et le prix observé sur lemarché d’une option i dont les caractéristiques (telles que le strike Ki ou l’échéance Ti) sont prisen compte par le vecteur Xi.

Il est en fait plus judiceux, plutôt que de comparer les prix d’options, de comparer les volati-lités implicites. Nous avons donc cherché à résoudre :

p = arg infp∈R5

m∑i=1

ωi (σH(Xi, p)− σCi)2 (2.2)

où σHiet σCi

sont respectivement la volatilité implicite du prix simulé par le modèle de Hestonet la volatilité implicite du prix observé sur le marché d’une option i dont les caractéristiques(telles que le strike Ki ou l’échéance Ti) sont pris en compte par le vecteur Xi.

Les poids ωi permettent d’accorder plus d’importance à certaines options qu’à d’autres. Enchoisissant comme poids le véga de l’option, à savoir sa sensibilité à la volatilité, on favorise lesoptions ayant un véga élevé car, sur ces options là, une faible variation de volatilité induit unevariation plus importante de prix dont il faut se prémunir.

Nous arrivons ainsi à calibrer les paramètres du modèle à partir de l’observation de prix demarché d’options vanilla puisque ce sont sur ces options que nous avons une formule close depricing. Une fois les paramètres calibrés, on est donc en mesure de pricer toute option : les vanillaévidemment, mais cela n’a aucun intérêt puisque on oberve déjà leur prix sur le marché, maissurtout n’importe quelle option exotique (par une méthode de Monte Carlo).

A ce stade, quelques remarques s’imposent.Dans notre problème d’optimisation nous n’avons assigné aucune contrainte sur p bien que

ces composantes n’aient un sens que dans certains intervalles de R. Nous verrons a posteriorique l’optimisation nous fournit des optimums qui vérifient effectivement les contraintes susmen-tionnées.

Cette étape est cruciale puisque c’est à partir de ces paramètres que nous pourrons effecti-vement pricer et couvrir des options. Et nous avons retenu l’algorithme de Levenberg-Maquardtpour la résolution du problème de minisation (2.2).

Page 13: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

2.2 Optimisation 13

2.2 OptimisationLa méthode d’optimisation la plus appropiée est l’algorithme de Levenberg-Marquardt. En

effet, cet algorithme s’applique principalement à la régression linéaire au travers de la méthodedes moindres carrés. Nous décrivons ici le cadre général de la méthode. Etant donné un certainnombre de paires de données (ti, yi), on cherche le paramètre p (qui peut être un vecteur) de lafonction f(t, p) qui minimise la somme des carrés des déviations :

S(p) =m∑i=1

[yi − f(ti, p)]2

que l’on notera sous forme d’une erreur quadratique moyenne :

S(p) =⟨

(f(t, p)− y)2⟩

(2.3)

Dans la suite, on se place dans le cas où f est une fonction scalaire pour simplifier les nota-tions.

L’algorithme consiste à interpoler l’algorithme de Gauss-Newton et la méthode de descentede gradient. L’algorithme est plus stable que le premier, c’est-à-dire qu’il trouve une solutionmême s’il est démarré loin du minimum. Cependant, pour certaines fonctions très régulières,il peut converger légèrement moins vite. Les deux sections qui suivent seront consacrées à laprésentation des algorithmes de Gauss-Newton et de descente de gradient. Puis, l’algorithme deLevenberg-Marquardt sera décrit.

2.2.1 L’algorithme de Gauss-Newton

Dans cette section, on cherche à minimiser la fonction S(p) par l’algorithme de Gauss-Newton. Supposons qu’on se trouve à l’itération n (le vecteur pn−1 est connu) de l’algorithmeet que l’on cherche à calculer le vecteur pn en fonction de pn−1 tel que S(pn) se rapproche plusd’un minimum local de S. Pour cela, on calcule une approximation quadratique de S à partird’un approximation linéaire de f autour de pn−1 :

f(t, p) = f(t, pn−1) +∇f(t, pn−1).p+ ... (2.4)

Il est important de noter que le gradient ∇f(t, pn−1) est calculé uniquement à partir descomposantes du vecteur p. En remplaçant (1.1) dans (0.1), et en déterminant le point pn où legradient de S s’annule, on obtient :

pn = pn−1 −H−1.d (2.5)

d =⟨

(f(t, pn−1)− y)(∇f(t, pn−1))⟩

H =⟨

(∇f(t, pn−1))(∇f(t, pn−1))T⟩

Page 14: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

14 2 CALIBRATION

à condition que H soit inversible. La matrice H est une approximation de la hessienne de Sau point pn−1 calculée à partir du gradient de f . Cet algorithme de Gauss-Newton ne donne enpratique de bons résulats que si f est effectivement proche d’une fonction affine au point pn−1,sinon, cet algorithme donne de très mauvais résultats.

2.2.2 L’algorithme de descente de gradient

Dans cette section, on cherche à minimiser la fonction S(p) par l’algorithme de descente degradient. On suppose là encore qu’on se trouve à l’itération n et que l’on cherche à calculer levecteur pn en fonction de pn−1 tel que S(pn) se rapproche d’un minimum local de S. L’idée dela descente de gradient est de suivre la direction opposée au gradient de S au point pn−1 :

pn = pn−1 − θn−1∇S(pn−1)

La longeur du pas θn−1 peut être choisie de diférentes manières. Dans une descente de gra-dient à pas constant, θn est constante et sa valeur est fixée au début de l’algorithme. Une autrefaçon est de prendre pour (θn)n≥1 une suite décroissante - par exemple θn = α

n. Enfin, θn−1

peut être choisie de sorte à minimiser S le long de la droite vectorielle dirigée par le gradient∇S(pn−1). Ainsi,

θn−1 = argminθ

S(pn−1 − θ∇S(pn−1)

)2.2.3 L’algorithme de Levenberg-Marquardt

Cet algorithme fut découvert par Kenneth Levenberg et amélioré par Donald Marquardt.L’idée est d’utiliser un algorithme de Gauss-Newton dans les zones où S et quasi-quadratique(i.e. f est quasi-linéaire) et une descente de gradient dans les autres cas. Le pas d’une itérationde cet algorithme est calculé de la façon suivante :

pn = pn−1 −(H + λI

)−1

.d

Lorsque λ est petit, cette équation est équivalente à (1.2) et le nouveau vecteur pn est dé-terminé à partir d’une approximation quadratique de S. Lorsque λ est grand, cette équation estéquivalente à :

pn = pn−1 −1

λd

= pn−1 −1

λ< (f(t, pn−1)− y)(∇f(t, pn−1)) >

= pn−1 −1

2λ∇S(t, pn−1)

Ce qui correspond bien à une descente de gradient. Pour des valeurs intermédiaires de λ l’al-gorithme est un mélange entre la descente de gradient et l’approche quadratique basée sur l’ap-proximation linéaire de f . Ce coefficient est modifié à chaque itération, comme pour la descente

Page 15: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

2.2 Optimisation 15

de gradient adaptative. Si S(pn) diminue au cours de l’itération, on diminue λ (en le divisantpar 10 par exemple), et l’on se rapproche ainsi de la méthode quadratique. Au contraire si S(pn)augmente, cela signifie que nous nous trouvons dans une région dans laquelle S n’est pas trèsquadratique, et donc on augmente λ (en le multipliant par 10 par exemple) afin de se rapprocherde la descente de gradient.

Cet algorithme fut ensuite amélioré par Marquardt, le pas de l’itération étant cette fois-cidéfini par :

pn = pn−1 −(H + λdiag(H)

)−1

.d

La matrice identité a été remplacée par la diagonale de H . Le but est ici de modifier lecomportement de l’algorithme dans les cas où λ est grand, c’est à dire lorsque l’on est proched’une descente de gradient. Avec cette modification l’on se déplace plus vite dans les directionsvers lesquelles le gradient est plus fiable, afin d’éviter de passer de nombreuses itérations sur unplateau. Ceci est appelé l’algorithme de Levenberg-Marquardt.

En pratique, cet algorithme permet de converger avec beaucoup moins d’itérations. Maischaque itération demande plus de calculs, en particulier pour l’inversion de la matrice H . Sonutilisation se limite donc aux cas où le nombre de paramètres à optimiser n’est pas très élevé. Eneffet, si p est un vecteur de dimension N , H est une matrice N × N , et le nombre d’opérationsnécessaires à l’inversion d’une matrice N ×N est proportionnel à N3.

Page 16: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

16 3 IMPLÉMENTATION EN LANGAGE C++

3 Implémentation en langage C++

Le point de vue que nous adoptons dans cette partie est celui d’un analyste quantitatif d’unebanque travaillant sur des options vanilles, c’est à dire des call ou des put sur sous-jacentssimples, une action ou un indice. Son objectif est de pouvoir fournir à ses collègues, les structu-rers et les traders, un moyen de calculer les primes des options vendues par sa banque. Ce travailest d’une importance cruciale puisque le prix doit être le plus « juste » possible, c’est celui-ci quiconditionnera la prospérité de la banque pour laquelle il travaille. Le quant doit aussi indiquer autrader la façon optimale de couvrir l’option, c’est-à-dire déterminer la composition et la bonnegestion du portefeuille qui permettra au trader de gérer le risque pris par la banque suite à lavente de l’option. Enfin, il doit mettre en place l’outil informatique qu’utiliseront ses collèguespour obtenir facilement le prix des options qu’ils souhaitent vendre. Les deux premières étapesde modélisation et de pricing ont été exposées dans la 1re partie de ce projet. La modélisationfait intervenir les paramètres ρ, κ, θ, v0 et σ, ces données sont propres au marché sur lequel lesous-jacent est coté. Il convient donc de les calibrer. Le principe de cette étape a été exposé dansla 2e partie. L’objet de cette nouvelle partie est d’exposer comment l’analyste quantitatif peutstructurer son projet informatique de calibration et de pricing sous les contraintes suivantes :

– précision,– rapidité,– facilité d’utilisation.

3.1 Motivation

Pour la réalisation de ce projet, plusieurs langages étaient éligibles comme Maple, Matlab,Scilab ou encore Excel VBA. Cependant, notre choix s’est porté sur le C++. Nos motivations ontété variées. Tout d’abord, ce langage est celui utilisé dans les salles de marché par les quants,il s’est donc imposé naturellement. Ensuite, le C++ présente des performances d’optimisationdes calculs remarquables par rapport à d’autres langages tel Excel VBA. Ensuite, le C++ estun langage orienté objet ; si le projet est organisé correctement en modules, l’utilisation de cesmodules devrait être aisée. Enfin, il existe des modules d’optimisation déjà implémentés en C++,ce qui réduit la charge de travail.

3.2 Structures

A l’ouverture des marchés, pour calibrer le modèle, le quant dispose des prix des call surle sous-jacent qui l’intéresse avec des strike et des échéances différentes. Le quant doit pouvoirrapidement calibrer le modèle de Heston. Pour ce faire, nous avons implémenté deux classes prin-cipales, la classe Option, dont dérivent d’autres classes, et la classe Optimisation. Le principalavantage des structures en C++ est l’utilisation des héritages, qui permet de rajouter facilementdes raffinements. Dans notre projet, à la classe Option, nous avons fait dériver la classe Heston(qui implémente le modèle de Heston), à laquelle nous avons ensuite ajouté une classe fille Bates,qui prend en compte les sauts.

Page 17: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

3.2 Structures 17

3.2.1 La classe Option

La classe Option comprend l’ensemble des données du marché indispensables à l’évaluationde l’option quel que soit le modèle utilisé. Cette classe est virtuelle, ses caractéristiques sontrésumés dans le tableau suivant :

Classe Option

int phi Nature de l’option : call (1), Put (-1)double t0 Date de l’évaluation de l’optiondouble T Date de maturité de l’optiondouble S0 Prix spot à t0double K Prix d’exercice de l’optiondouble r Taux d’intérêt sans risque continudouble d Taux de dividende continudouble market_price Prix réel de l’option sur le marchédouble vega Vega=

∂prixoption

∂σde l’option réel en t0 sur le marché

virtual double prix()=0 Fonction membre virtuelle

A cette description, il faut bien sûr ajouter qu’il existe deux constructeurs :– le constructeur par défaut,– un constructeur qui initialise les paramètres à la création de la nouvelle instance.

Cette classe n’est pas utilisable en tant que telle, c’est une classe mère à partir de laquelle nousavons défini des classes filles correspondant chacune à un type de modèle. Ainsi, nous avons in-troduit la classe BS pour le modèle de Black-Scholes et la classe Heston pour le modèle d’Hestonselon le schéma suivant :

Classe Option

Classe BS Classe Heston

Classe Bates

3

FIG. 3 – Structure des classes

La classe Bates dérive de la classe Heston puisq’il s’agit en fait de rajouter des sauts aumodèle de Heston.

3.2.2 La classe BS

Cette classe est de la forme class BS :public Option. Ceci signifie qu’elle dérive de la classeOption et qu’elle hérite aussi de tous ses paramètres. A ceux-ci, pour pouvoir implémenter le prixde l’option selon le modèle de Black-Scholes, il faut ajouter le paramètre volatilité implicite, σ.Deux raisons nous ont poussé à implémenter cette classe BS : d’une part, c’est l’occasion demontrer quelle peut être l’ulilité des héritages en finance, d’autre part, l’implémentation de cetteclasse nous permet aisément de comparer l’effet du changement de modèle sur les prix.

Page 18: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

18 3 IMPLÉMENTATION EN LANGAGE C++

3.2.3 La classe Heston

Cette classe est de la forme class Heston :public Option. Le tableau suivant énumère lescaractéristiques de cette classe :

Classe Heston

paramètres hérités de la classe Option +double rho Corrélation des browniensdouble kappa Vitesse de retour à la moyennedouble sigma Volatilité de la volatilitédouble theta Variance à l’infinidouble v0 Variance initialedouble prix() Méthode qui renvoie le prix de l’option

Ainsi, en tapant seulement les deux lignes suivantes :

Heston h(phi, S0, K, T, t0, r, d, w, rho, kappa, sigma, theta, v0, market_price) ;h.prix() ;

3.2.4 La classe Bates

Cette classe est de la forme class Bates :public Heston. Le tableau suivant énumère lescaractéristiques de cette classe :

Classe Bates

Paramètres hérités de la classe Heston +double lambda Fréquence des sautsdouble m Valeur moyenne des sautsdouble v Variance de la distribution des sauts

Ainsi, en tapant seulement les deux lignes suivantes :

Bates h(phi, S0, K, T, t0, r, d, w, rho, kappa, sigma, theta, v0,lambda,m,v, market_price) ;h.prix() ;

on obtient le prix de l’option donné par le modèle de Bates. L’implémentation des classes consti-tue une étape fondamentale dans l’implémentation de la calibration. La deuxième étape est l’im-plémentation du module d’optimisation.

3.3 La classe OptimisationDans la partie 2.2, nous avons traité du module d’optimisation pré-implémenté qui suit une

méthode de Levenberg-Marquardt. Il s’agit maintenant de faciliter son utilisation à travers uneclasse Optimisation. Voici ses caractéristiques :

ClasseOptimisation

double *initial_guess paramètre initial d’optimisationint nombre_itérations Nombre d’itérations maximalesconst char* adresse_donnees Adresse du fichier texte contenant

les données du marchévoid calcul() Renvoie les paramètres ρ, κ, θ, v0 et σ calibrés

Page 19: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

3.4 Intégrale de Gauss 19

De plus, cette classe est dotée de deux constructeurs. Le premier est le constructeur par défaut.Le second initialise les paramètres à la création d’une instance :

– Initial_guess,– nombre d’itérations,– adresse du fichier où sont contenues les données.Le fichier qui contient les données du marché est organisé suivant six colonnes comme suit :

Maturité Strike (en %) Volatilité implicite Ri di wi

où :

Ri taux actuarieldi taux de dividende équivalentwi Vega de l’option

Pour obtenir le taux d’intérêt sans rique continu, on calcule r = ln(1+R). En outre, comme écritprécédemment, le vega sert de poids de pondération dans la fonction coût à optimiser. Ainsi, sion appelle « CAC40.txt », le fichier contenant les données du marché sur un call à une date t0, ilsuffit pour connaître les valeurs de ρ, κ, θ, v0 et σ d’écrire :

Optimisation test(« CAC40.txt », nombre_iterations, ρinitial, κinitial, θinitial, v0initial, σinitial) ;test.calcul() ;

Pour utiliser la classe Optimisation, il n’est pas indispensable de connaître tout sur le modèle deHeston. Il suffit seulement de savoir qu’il faut donner sept paramètres au module d’optimisation.La structure de ce projet répond donc au troisième objectif du quant : la facilité d’utilisation.Pour s’assurer que ce projet est une réussite, il faut donc montrer que la calibration est précise etrapide, c’est ce que nous nous efforcerons de démontrer dans la sous-section suivante ainsi quedans la section 4.2.

3.4 Intégrale de GaussLa méthode d’intégration numérique qui a été choisie pour le calcul du coût d’une option

sous le modèle de Heston est la méthode de Gauss-Legendre à N points. Cette méthode permetd’obtenir d’excellents résultats en termes de précision pourvu que la fonction à intégrer soitsuffisamment régulière. Nous décrivons ici le principe général de la méthode pour calculer unequantité du type ∫ b

a

f(x)dx

où f est une fonction continue. Nous commençons d’abord par subdiviser l’intervalle [a, b]en petits intervalles [xi, xi+1] de même longueur h

xi = a+ ih, i = 0...n, h =b− an

Page 20: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

20 3 IMPLÉMENTATION EN LANGAGE C++

Ainsi, on peut écrire ∫ b

a

f(x)dx =n−1∑i=0

∫ xi+1

xi

f(x)dx

Ce sont les intégrales ∫ xi+1

xi

f(x)dx

que nous allons esssayer d’approcher par la méthode de Gauss-Legendre. Remarquons d’abordque par un changement de variable affine, l’on se ramène à l’intervalle canonique [−1, 1] :

x =xi + xi+1

2+xi+1 − xi

2t

Ainsi, ∫ xi+1

xi

f(x)dx =xi+1 − xi

2

∫ 1

−1

g(t)dt

où g est la fonction donnée par

g(t) = f(xi + xi+1

2+xi+1 − xi

2t), t ∈ [−1, 1]

La méthode de Gauss consiste à approcher la quantité

I(g) =

∫ 1

−1

g(t)dt

par une expression de la forme

J(g) =N∑k=1

ωkg(tk)

où les (tk)1≤k≤N ∈ [−1, 1] sont appelés points de Gauss et les (ωk)1≤k≤N sont appelés poidsde Gauss.

Ainsi, l’intégrale de départ est approchée par∫ b

a

f(x)dx ≈ Lh(f)

Lh(f) =n−1∑i=0

xi+1 − xi2

N∑k=1

ωkg(tk)

Page 21: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

3.4 Intégrale de Gauss 21

Le critère retenu pour calculer les (tk)1≤k≤N et les (ωk)1≤k≤N est l’égalité stricte entre I(g) etJ(g) pour les fonctions polynômiales g de degré r aussi grand que possible. L’idée de la méthodede Gauss-Legendre est de choisir les (tk)1≤k≤N le plus judicieusement possible pour que cecritère soit satisfait. Comme les (tk)1≤k≤N et les (ωk)1≤k≤N forment 2N inconnues, on pourraau plus espérer que r = 2N − 1. Puis, en vertu du théorème de Weierstrass qui veut que toutefonction continue d’un compact [a, b] peut être approchée uniformément par des polynômes, onpourra en déduire des résultats sur la précision de la méthode selon la régularité de la fonction àintégrer.

On choisit pour les (tk)1≤k≤N , les N racines du polynôme de Legendre de degré N donnépar

LN =1

2NN !

dN

dtN

[(t2 − 1)N

]Et pour les (ωk)1≤k≤N , on choisit

ωk =

∫ 1

−1

φk(t)dt, k = 1...N

où (φk)1≤k≤N est la base de Lagrange de PN−1 associée aux points (tk)1≤k≤N . φk est donnépar

φk(t) =(t− t1)...(t− tk−1)(t− tk+1)...(t− tN)

(tk − t1)...(tk − tk−1)(tk − tk+1)...(tk − tN)

Avec ce choix, on montre que l’on a l’égalité stricte I(g) = J(g) pour tous les polynômes gde degré inférieur ou égal à r = 2N−1. L’avantage de cette méthode est que les (tk)1≤k≤N et les(ωk)1≤k≤N sont indépendants de la fonction g à intégrer. Ces valeurs peuvent donc être calculéesavec précision et tabulées. Il est en suite très facile de les intégrer une fois pour toute dans uncalculateur.

Le théorème suivant donne le degré de précision de la méthode de Gauss-Legendre.

Théorème 1 Soit f une fonction 2N -fois continûment dérivable sur l’intervalle [a, b]. Alors ilexiste une constante C indépendante de la subdivison (xi)0≤i≤n telle que∣∣∣∣∫ b

a

f(x)dx− Lh(f)

∣∣∣∣ ≤ Ch2N

On peut montrer que la fonction à intégrer est de classe C∞. Ainsi, on obtient une excellenteprécision en choisissant N = 20 points. Comme l’intégration doit se faire sur [0,+∞[, on faitle calcul sur les segments consécutifs [0, 10], puis [10, 20], puis [20, 30] etc... On arrête le calcullorsque la dernière intégrale ainsi calculée contribue pour moins de 10−10% à la somme desintégrales calculées.

Page 22: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

22 3 IMPLÉMENTATION EN LANGAGE C++

3.5 Optimisation

Notre programmme C++ de l’algorithme de Levenberg-Marquardt se base sur une version (enC) gratuite appelée ’levmar’ et que l’on peut télécharger à l’url suivant : http ://www.ics.forth.gr/ lou-rakis/levmar/ . Rappelons que l’algorithme de Levenberg-Marquardt permet de déterminer leparamètre p ∈ Rn qui minimise :

S(p) =m∑i=1

[yi − f(xi, p)]2 (3.1)

Le programme ’levmar’ est très complet et possède différentes fonctions qui répondent à desbesoins spécifiques, selon que l’on souhaite minimiser (3.1) avec ou sans contrainte, que l’onsouhaite effectuer l’optimisation soit avec une expression exacte du jacobien de f soit à par-tir d’une approximation de cette dernière à l’aide des différences finies, etc. En ce qui nousconcerne, nous avons réaliser la calibration à l’aide de la fonction :

1 i n t dlevmar_dif{2 v o i d (*f)(do ub l e *p,do ub l e *hy, i n t n, i n t m, v o i d *data),3 /* cette fonction f qui prend en argument

4 les variables (p,hy ,n,m, data ) specifiee ci - dessous

5 est celle qui intervient dans la formule que l’on cherche à minimiser

*/

6 do ub l e *p,7 /* parametre initial sur lequel on optimise */

8 do ub l e *y,9 /* tableau des observations ; dans notre cas ces observations sont

10 les prix de marche des options ponderes par leur vega */

11 i n t n,12 /* taille du parametre p */

13 i n t m,14 /* taille du vecteur x */

15 i n t itmax,16 /* nombre d’ iteration */

17 do ub l e opts[5],18 /* cette entree est optionnelle et nous l’avons utilise par defaut

19 en entrant NULL */

20 do ub l e info[LM_INFO_SZ],21 /* informations relatives à la minisation */

22 do ub l e *work,23 /* mode d’ allocation de la memoire

24 on entre NULL par defaut */

25 do ub l e *covar,26 /* on ne se sert pas de cette variable :

27 on entre NULL dans ce cas */

28 v o i d *data,29 /* donnees complementaires ;

30 dans notre cas ces donnees seront celles donnees par le marche */

31 }

Page 23: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

3.5 Optimisation 23

Cette fonction minimise le problème (3.1) en cherchant le p ∈ Rn optimal. Remarquons quecette fonction ne prend pas comme argument le jacobien de f : elle l’approche à l’aide des diffé-rences finies. Signalons de plus que parmi les arguments de cette fonction, la fonction f est cellequi calcule la volatilité du prix des options calculés à l’aide du modèle courant (celui de Hestonavec ou sans saut) et en affectant à la variable hy le résultat de ce calcul.

Enfin, dans notre programmme, on fait appel dans la méthode calcul de la classe optimisationà cette fonction de la façon suivante :

1 dlevmar_dif(vol_calculees_Hes_saut, initial_guess, y, n, m,2 nombre_iterations, NULL, info, NULL, NULL, data);3 /* calibration du modele de Heston avec saut */

Page 24: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

24 4 RÉSULTATS

4 Résultats

4.1 Influence qualitative des paramètres sur le smileDans cette sous-section, nous cherchons à déterminer l’influence d’un paramètre sur l’allure

du smile de volatilité, tous les autres paramètres étant fixés. Nous nous intéressons aux volatilitésimplicites et plutôt qu’aux prix car elles sont toutes comparables les unes aux autres. Nous avonsfixés dans tous les graphiques de cette sous-section les paramètres suivants (sauf lorsque l’onétudie le paramètre en question) :

T = 1ρ = −0.5θ = 0.05κ = 1σ = 0.5v0 = 0.025

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.6 0.8 1 1.2 1.4 1.6 1.8 2

Vol.

impl

icite

Strike

Influence de !

!=0.2!=0.5!=0.9

FIG. 4 – Influence de σ

Il apparaît sur la Fig. 4 que σ influe directement sur la convexité du smile. Plus σ est impor-tant, plus la convexité du smile se verra accentuée. En effet, dans le cas extrême où σ = 0, leterme en dZ2 disparaît et v devient une fonction déterministe du temps. Ainsi, à t fixé, la varianceest constante et le smile est une droite horizontale de valeur θ− e−K(t−t0)(θ− v0). Au contraire,quand σ devient important, la probabilité que vt atteigne des valeurs importantes est plus grandeet ainsi, les options hors la monnaie deviennent plus intéressantes, donc plus chères.

Page 25: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

4.1 Influence qualitative des paramètres sur le smile 25

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.6 0.8 1 1.2 1.4 1.6 1.8 2

Vol.

impl

icite

Strike

Influence de v0

v0=0.0025v0=0.04v0=0.25

FIG. 5 – Influence de v0

Comme le montre la Fig. 5, contrairement à σ qui permet d’ajuster la convexité de la courbe,la variance initiale v0 permet de régler la hauteur du smile. En effet, si la valeur initiale de lavariance est très faible, la variance bien que se diffusant, restera relativement faible. Cela est enparticulier vrai pour les courtes échéances.

Les changements de la valeur de la variance à l’infini, θ, semblent avoir les mêmes effetsque ceux de v0 sur la courbe du smile. Ainsi, l’on peut s’interroger sur la nécessiter d’optimisersur cinq paramètres alors qu’il suffirait peut-être de faire l’optimisation sur seulement quatreparamètres en fixant v0 judicieusement. Néanmoins, comme nous le verrons, il est important deconserver ces deux paramètres car le premier permet de bien calibrer pour les courtes échéancestandis que le second permet d’ajuster la nappe pour les longues échéances.

Changer la valeur de κ, la "vitesse" de retour à la moyenne affecte peu les valeurs extrêmesdu smile mais influe surtout sur la partie centrale, comme le montre la Fig. 7. Augmenter κrevient à aplanir le centre de la courbe. En effet, si la vitesse de retour à la moyenne est élevée,la volatilité ne pourra que peu se diffuser. Ainsi une augmentation de κ peut se voir compenserpar une augmentation de la volatilité de vt, à savoir σ. Toujours dans l’optique de l’optimisation,il serait envisageable de fixer κ et d’optimiser selon les paramètres restants.

Enfin, sur la Fig 8, nous pouvons observer que fixer la corrélation ρ à 0 nous donne un smilepresque symétrique par rapport au strike. Avec une corrélation positive, les calls sont plus chers,tandis qu’avec une corrélation négative, ce sont les puts les plus chers.

Page 26: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

26 4 RÉSULTATS

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.6 0.8 1 1.2 1.4 1.6 1.8 2

Vol.

impl

icite

Strike

Influence de !

!=0.01!=0.1!=0.5

FIG. 6 – Influence de θ

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.6 0.8 1 1.2 1.4 1.6 1.8 2

Vol.

impl

icite

Strike

Influence de !

!=0.1!=1!=10

FIG. 7 – Influence de κ

Page 27: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

4.2 Efficacité de la calibration 27

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.6 0.8 1 1.2 1.4 1.6 1.8 2

Vol.

impl

icite

Strike

Influence de !

!=-0.5!=0

!=0.5

FIG. 8 – Influence de ρ

4.2 Efficacité de la calibrationNous allons à présent décrire les résultats que nous avons obtenus en calibrant le modèle à

partir d’une base de 120 données de l’ indices "S&P 500" datant de juin 2005.

4.2.1 Influence du nombre d’itérations

Nous voyons sur la Fig. 9 que dans ce cas, il faut une centaine d’itérations de l’algorithmed’optimisation pour minimiser au mieux la fonction. Le temps de calcul nécessaire est ainsi deplus de deux heures sur l’ordinateur sur lequel nous avons lancé le calcul (cf Fig. 10). Néanmoins,il est possible d’accélérer largement les calculs en optimisant l’implémentation de la fonction depricing.

Page 28: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

28 4 RÉSULTATS

0

100

200

300

400

500

600

700

20 40 60 80 100 120 140

Vale

ur d

e la

fonc

tion

à m

inim

iser

Nb d’itérations

Evolution de l’erreur en fonction du nb. d’itérations

FIG. 9 – Influence du nombre d’itérations sur la fonction à minimiser

0

2000

4000

6000

8000

10000

12000

20 40 60 80 100 120 140

Seco

ndes

Nb d’itérations

Temps de calcul en fonction du nb. d’itérations

FIG. 10 – Temps de calcul en fonction du nombre d’itérations

Page 29: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

4.2 Efficacité de la calibration 29

Les Fig. 11, 12 et 13 montrent l’évolution des différentes valeurs des paramètres à calibrerau cours de l’optimisation. Nous voyons ainsi qu’après 80 itérations, les paramètres ρ, κ, σ et v0

atteignent leur valeur optimale. Nous constatons en revanche que même après 1000 itérations, leparamètre θ ne s’est pas fixé. Néanmoins, l’influence de son évolution sur la valeur de la fonctionà minimiser est minime après 100 itérations.

!0.73

!0.72

!0.71

!0.7

!0.69

!0.68

!0.67

!0.66

!0.65

!0.64

!0.63

20 40 60 80 100 120 140

! cal

ibré

Nb d’itérations

Evolution de la valeur calibrée de !

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

20 40 60 80 100 120 140

! cal

ibré

Nb d’itérations

Evolution de la valeur calibrée de !

FIG. 11 – Evolution des valeurs calibrées de ρ et κ en fonction du nombre d’itérations

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

20 40 60 80 100 120 140

v 0 ca

libré

Nb d’itérations

Evolution de la valeur calibrée de v0

FIG. 12 – Evolution des valeurs calibrées de σ et v0 en fonction du nombre d’itérations

Page 30: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

30 4 RÉSULTATS

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.55

0.6

0 100 200 300 400 500 600 700 800 900 1000

! cal

ibré

Nb d’itérations

Evolution de la valeur calibrée de !

FIG. 13 – Evolution de la valeur calibrée de θ en fonction du nombre d’itérations

4.2.2 Reproductibilité de la nappe de volatilité

Comme le suggére la sous-section précédente, nous avons d’abord essayé de calibrer surseulement trois paramètres (ρ, θ et σ). Nous l’avons ensuite fait sur cinq paramètres (modèle deHeston), puis enfin sur huit ( ajout de sauts avec le modèle de Merton).D’abord, en ne calibrant que sur trois paramètres, on obtient finalement des résultats que peusatisfaisant, dans la mesure où il est difficile de fixer κ et v0 a priori. La Fig. 14 montre les résul-tats.En optimisant sur cinq paramètres comme le prévoit le modèle Heston, il devient possible d’ob-tenir de meilleurs résultats. La Fig. 15 montre que seules les échéances courtes sont difficiles àreproduire.

Enfin, en ajoutant les paramètres m, v et λ pour introduire des sauts, les résultats sont encoremeilleurs, pour un temps de calcul avec le même nombre d’itérations de l’ordre de 20% supé-rieur, c’est-à-dire d’environ 30 minutes. Néanmoins, comme nous l’avons déjà mentionné, il estpossible de faire tomber ce temps de calcul à 3 minutes en optimisant l’implémentation.

Page 31: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

4.2 Efficacité de la calibration 31

0.5 1

1.5 2

2.5 3

0 2 4 6 8 10 12 14 16

0.1

0.15

0.2

0.25

0.3

0.35

Nappe de volatilité

Nappe simulée après calibrationNappe de marché

Strike

Echéance

FIG. 14 – Superposition de la nappe de marché et de la nappe obtenue après calibration sur 3paramètres après 25 itérations

0.5 1

1.5 2

2.5 3

0 2 4 6 8 10 12 14 16

0.1

0.15

0.2

0.25

0.3

0.35

Nappe de volatilité

Nappe simulée après calibrationNappe de marché

Strike

Echéance

FIG. 15 – Superposition de la nappe de marché et de la nappe obtenue après calibration sur 5paramètres après 25 itérations

Page 32: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

32 4 RÉSULTATS

Nous avons néanmoins constaté que pour de courtes échéances, le smile calibré restait relati-vement éloigné du smile réel. Nous avons alors utilisé le modèle de Bates (qui ajoute des sauts),en optimisant sur huit paramètres.

Nous avons tracé les smiles à T = 3 mois, T = 1 an, T = 5 ans et enfin T = 15 ans.

0.12

0.14

0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.8 0.85 0.9 0.95 1 1.05 1.1 1.15Strike

Smile pour T = 3 mois

Smile calibréSmile réel

FIG. 16 – Superposition du smile de marché et du smile obtenu après calibration sur 8 paramètresaprès 125 itérations pour T = 3 mois

La Fig. 18 nous montre qu’il est possible de bien reproduire le smile pour de longues échéances.En revanche, la Fig. 16 indique que cela reste plus difficile pour de courtes échéances, et ce mal-gré le fait que l’on ait déjà ajouté des sauts. Le choix des coefficients ωi dans la fonction à mi-nimiser comme étant égaux au véga de l’option permet de coller au smile réel dans la monnaie,mais en ce qui concerne les prix hors la monnaie les écarts peuvent encore rester significatifs[6].

Page 33: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

4.2 Efficacité de la calibration 33

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3Strike

Smile pour T = 1

Smile calibréSmile réel

0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2Strike

Smile pour T = 5

Smile calibréSmile réel

FIG. 17 – Superposition des smiles de marché et des smiles obtenus après calibration sur 8paramètres après 125 itérations pour T = 1 an et T = 5 ans

Page 34: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

34 4 RÉSULTATS

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.34

0.5 1 1.5 2 2.5 3Strike

Smile pour T = 15

Smile calibréSmile réel

FIG. 18 – Superposition du smile de marché et du smile obtenus après calibration sur 8 para-mètres après 125 itérations pour T = 15 ans

Page 35: Modèle de Heston - eric.jeangirard.free.freric.jeangirard.free.fr/mathfi/heston_rapport.pdf · 3 Résumé Dans ce rapport, nous présentons un modèle couramment utilisé en finance

35

5 ConclusionL’objet de ce projet était d’étudier et de calibrer un modèle à deux facteurs : le modèle d’Hes-

ton. Dans un premier temps, nous avons établi une formule explicite du prix des options vanillesà partir du schéma de diffusion du sous-jacent et de sa volatilité. Ensuite, après avoir brièvementrappelé la principe de la calibration en finance, nous avons montré comment il était possibled’implémenter la calibration à partir de classes en C++. Nous avons ainsi pu étudier la capacitédu modèle à reproduire la nappe de volatilité observée sur l’indice S&P 500. Finalement, il ap-paraît que même en ajoutant des sauts au modèle d’Heston, il reste très difficile de reproduire lesmile pour les courtes échéances.

Références[1] Dupire B. Pricing with a smile. Risk, 1994.

[2] Derman E. and Kani I. Riding on the smile. Risk, 1994.

[3] Black F. and Scholes M. The pricing of options and corporate liabilities. Journal of PoliticalEconomy, 1973.

[4] Xu J. Pricing and hedging options under stochastic volatility. University of British Columbia,2003.

[5] Kendall M. Kendall’s advanced theory of statistics. A Hodder Arnold Publication, 1998.

[6] Heston S. A closed-form solution for options with stochastic volatility with applications tobond and currency options. Review of Financial Studies, 1993.