Vous êtes sur la page 1sur 26

Application de l'Approximation de Pad et des Transformes

de Laplace en Finance

1er aot 2009

Ali Benslimane

TELECOM ParisTech

Rapport de stage recherche du Master de Modlisation Alatoire de l'Universit


Paris 7

Encadrants : Laurent Decreusefond, Isabelle Camilier

Table des matires


1

Introduction

Outils mathmatiques

2.1

Transforme de Fourier rapide (FFT) . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Approximation de Pad

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

Transforme de Laplace

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pricing d'options

3.1

Transforme de Fourier du prix d'une option

. . . . . . . . . . . . . . . . . . . . . .

3.2

Calcul du prix avec la Transforme de Fourier rapide . . . . . . . . . . . . . . . . . .

10

3.3

Transforme de Laplace et calcul de prix d'options europennes . . . . . . . . . . . .

18

3.4

Utilisation de l'approximation de Pad . . . . . . . . . . . . . . . . . . . . . . . . . .

21

Annexe

24

Introduction

Dans la littrature nancire, on trouve un grand nombre d'articles qui utilisent l'analyse de
Fourier pour dterminer des prix d'options. Dans cet article, on exposera des mthodes permettant
d'utiliser la transforme de Fourier rapide (la FFT), la transforme de Laplace et l'approximation de
Pad pour valuer le prix d'options. Premirement, on prsentera les outils mathmatiques utiliss et
leurs algorithmes. Nous prsenterons l'algorithme de Cooley-Tukey qui se base sur l'inversion de bits
pour eectuer la transformation de Fourier, l'algorithme qui permet de calculer les coecients de
l'approximation de Pad et l'algorithme de Stehfest qui permet de calculer la transform de Laplace
inverse. Ensuite, nous calculerons le prix d'options en se basant sur ces mthodes mathmatiques
et nous comparerons les rsultats de ces direntes mthodes de pricing avec les rsultats donns
par des mthodes plus classiques.
Mots cls : Transforme de Laplace, Transforme de Fourier, Approximation de Pad, Pricing

d'options europennes.

Outils mathmatiques

2.1

Transforme de Fourier rapide (FFT)

La transforme de Fourier rapide ou FFT (de l'anglais Fast Fourier Transform) est une mthode
rapide de calculer la Transforme de Fourier Discrte (TFD).
Si on possde n lments complexes

x0 , .....,xn1 ,
n1
X

X(k) =

la TFD est dnie pour

x(r)exp(2i

r=0
On pose

r = 2p

si

est pair et

X(k) =

N
1
X

r = 2p + 1

x(2p)exp(2i

p=0

si

est impair.

k = 0, . . . , n 1

kr
)
n

X(k)

s'crit alors en posant

N = n/2

N
1
X
2pk
(2p + 1)k
x(2p + 1)exp(2i
)+
)
n
n
p=0

Nommons les squences :

x2N (r) = x(r) : r = 0, . . . , 2N 1


x0N (p) = x(2p) : p = 0, . . . , N 1
i
x (p) = x(2p + 1) : p = 0, ...., N 1

N
X2N (k) = x(k) : k = 0, ...., 2N 1
L'expression de

X(k)

X2N (k) =

s'crit maintenant :

N
1
X
p=0

Le facteur

k
exp(2i 2N
)

X2N (k) =

x0N (p)exp(2i

N
1
X
pk
pk
k
xiN (p)exp(2i )exp(2i
)+
)
N
N
2N
p=0

ne dpend pas de

"N 1
X
p=0

donc on peut le sortir de la somme, on obtient donc :

pk
x0N (p)exp(2i )
N

"N 1
#
X
k
pk
i
+ exp(i )
xN (p)exp(2i )
N
N
p=0

0 k N 1, on reconnait dans les deux expressions entre crochets la TFD des s0


i
x0N (p) et xiN (p) que nous appellerons respectivement XN
(k) et XN
(k). Donc pour
k = 0, ...., N 1 :

 Si

quences

0
X2N (k) = XN
(k) + exp(i

k
)X i (k)
N N

k
) = exp(i Nl ), l'quation
N k 2N 1, on peut crire k = l + N , et comme exp(i N
de X2N s'crit :

 Si

X2N (l+N ) =

"N 1
X

p(l
x0N (p)exp(2i

p=0

#
"N 1
#
+ N)
(l + N ) X i
p(l + N )
) +exp(i
)
xN (p)exp(2i
)
N
N
N
p=0

En simpliant cette expression, on obtient : Pour

l = 0, ...., N 1

0
X2N (l + N ) = XN
(l) exp(i

l
)X i (l)
N N

On conclut donc que :

k
0
i
(k) + exp(i N
X2N (k) = XN
(k)
)XN
(k = 0, . . . , N 1)
k
0
i
X2N (k + N ) = XN (k) exp(i N )XN
(k)

Une fois rcrites de la sorte, ces expressions permettent de calculer la somme de la transforme de
Fourier discrte en

O(n log n)

oprations au lieu de le faire en

O(n2 )

oprations.

Pour ce qui est du codage, on a utilis l'algorithme de Cooley-Tukey qui s'appuie sur la mthode
d'inversion des bits pour rordonner les donnes. Pour plus de prcisions ce sujet, le lecteur pourra
se rferer Sundarajan, Ahmad, et Swamy.

2.2

Approximation de Pad

L'approximation de Pad est une technique qui permet d'approcher une fonction par une fraction
rationnelle avec un ordre de prcision qui crot quand on augmente le degr du numrateur et du
dnominateur. On utilisera cette technique pour approcher des sries entires qui apparaissent dans
des expressions d'valuation de prix d'options. On s'appuiera sur l'algorithme Quotient-Dierence
(plus connu sous le nom d'algorithme QD) qui convertit une srie entire en une fraction continue
qui converge plus rapidement que la srie de dpart. Une fraction continue est une fraction de la
forme :

b0 +

a1
b1 +

a2
a3
b2 + b +.....
3

Pour simplier, on note cette fraction

b0 +

ak
bk

in
k=1

est innie.

si elle s'arrte au rang

et

b0 +

ak
bk

i
k=1

si elle

Notre but est de partir d'une srie entire dont les coecient sont donns par la suite

(si ),

par

exemple :

S(z) =

sk z k

k=0
et de trouver une suite

(ck )

telle que la fraction continue :


h c z in 
k
Cn (z) = c0 / 1 +
1 k=1
est l'approximation de Pad l'ordre [bn/2c / b(n + 1)/2c] de S(z). En
est une fraction rationnelle dont le numrateur est de degr bn/2c et le
b(n + 1)/2c. De plus Cn (z) vrie :

d'autres termes,

Cn (z)

dnominateur de degr

Cn (z) = O(z n+1 )


Pour avoir les lments de la suite
et

(i)

qk

(ck ),

on commence par calculer les lments des deux suites

(i)

ek

dnies rcursivement par :

Ensuite, les

(ck )

(i)
(i)
e0 = 0, q1 = si+1 /si
(i)
(i+1)
(i+1)
(i)
ek = ek1 + qk
qk
(i)
(i+1) (i+1) (i)
qk+1 = qk
ek
/ek

(i = 0, 1, 2, . . . ; k = 1, 2, . . .)

sont dnis par :

c0 = s0
(0)
c2k = ek
(k = 0, 1, 2, . . .)

(0)
c
=
q
2k1
k
Aprs on cherche des polynmes

An (z) et Bn (z) respectivement de degrs bn/2c et b(n + 1)/2c tels

que :

Cn (z) =

An (z)
Bn (z)

Ces polynmes sont aussi dnis rcursivement avec la relation suivante qui utilise la suite des
coecients

(ck ) :

A1 (z) = 0, A0 (z) = c0 , B1 (z) = 1, B0 (z) = 1,


An+2 (z) = An+1 (z) + cn+2 zAn (z)
(n = 1, 0, 1, 2, . . .)

Bn+2 (z) = Bn+1 (z) + cn+2 zBn (z)

Pour tester la performance de cette mthode d'approximation on va considrer l'approximation de

avec l'approximation de Pad et en utilisant le dveloppement en sries de Taylor. On crit :

Arctan(x) =

X
(1)k x2k+1
k=0

2k + 1

=x

X
(1)k (x2 )k
k=0

2k + 1

si = (1)i /(2i+1), on arrive grce l'implmentation de l'algorithme de l'approximation


(i)
(i)
de Pad calculer les suites ek et qk et aprs la suite ck et enn dterminer les polynmes An
et Bn . On va calculer sachant que = 4 Arctan(1) en tronquant la srie de Taylor et puis en
remplaant x par 1 dans le dveloppement en fraction continue obtenu grce l'approximation de
En posant

Pad.
Sur le tableau qui suit, on voit qu'avec un trs petit nombre de termes
converger rapidement vers

si (20

termes), on arrive

A l'inverse, il faut prendre un trs grand nombre de termes dans la

srie de Taylor pour arriver une bonne approximation de

Nombre de termes (si )

Erreur avec Pad

Erreur avec dveloppement en srie de Taylor

5
10
15
20
500

0.19809
0.099753
0.0512242
5.11965e8

0.19809
0.099753
0.066593
0.0499688
0.002

Figure 1 
2.3
Si

Transforme de Laplace
est une fonction relle, sa transforme de Laplace

f est

dnie par :

f() =

ex f (x)dx
0

est une variable complexe. Cette relation peut tre inverse et on obtient la transforme de

Laplace inverse :

+i

1
f (x) =
2i

ex f()d
i

Si

est la fonction de densit d'une variable alatoire

X , sa transforme de Laplace n'est autre que

sa fonction gnratrice de moments (Moment Generating Function, MGF) :

f() =

ex f (x)dx = E [exp(X)]
0

La transforme de Laplace inverse est trs pratique parce que dans certains cas, il est plus faile
de calculer la fonction gnratrice de moments d'une variable alatoire plutt que de calculer sa
fonction de densit. Il se trouve qu'en pratique le calcul de cette transforme inverse n'est pas
vident vu qu'on intgre sur un chemin complexe. Harald Stehfest a prsent un algorithme qui
permet d'eectuer ce calcul pour des fonctions qui n'ont pas de discontinuits et qui n'oscille pas
rapidement. Mais en gnral, les fonctions qu'on utilise satisfont ces conditions. L'algorithme de
Stehfest nous donne :

L
Avec les coecients

Vi

ln2 X
Vi f
(f (s)) = F (t) =
t i=1

ln2
i
t

dnis par :

min(i,N/2)
N

Vi = (1) 2 +i

k=[ i+1
2 ]

( N2

k 2 +1 (2k)!
k)!k!(k 1)!(2k i)!(i k)!

Pour ce qui est du calcul de la transforme de Laplace directe, on utilise un changement de variable

(u = ex )

pour avoir une intgrale avec des bornes nies au lieu d'avoir une intgrale avec des

bornes innies.

f() =

1
e

3
3.1

us1 f (ln(u))du

f (x)dx =
0

Pricing d'options
Transforme de Fourier du prix d'une option

Dans cette partie, on va calculer le prix du call de strike


du prix. Soit

ST

K = exp(k)

et de maturit T en utilisant

sT = log(ST ) le log
qT (s) la densit risque-neutre de sT . La fonction caractristique de sT est dnie par :

la tranforme de Fourier. On appelle

le prix du sous-jacent la date T et

T (u) = E(e

iusT

eius qT (s)ds

)=

La valeur initiale du call est :

CT (k) = E[erT max(ST K, 0)] = E[erT max(esT ek , 0)] =

erT (es ek )qT (s)ds


k

CT (k)

On ne peut pas prendre la transforme de Fourier de


intgrable (CT (k) tend vers

>0

S0

quand

).

tend vers

car cette fonction n'est pas carr-

Pour remdier ce problme on pose pour

cT (k) = exp(k)CT (k)


Pour certaines valeurs positives de

, cT (k) est carr-intgrable donc on peut prendre sa transforme

de Fourier dnie par :

eivk cT (k)dk

T (v) =

ek erT (es ek )qT (s)dsdk

eivk

T (v) =

s
e

rT

erT qT (s)

(es+k e(1+)k )eivk dkds

qT (s)



e(1++iv)s
e(1++iv)s

ds
+ iv
+ 1 + iv

T (v) =

erT T (v ( + 1)i)
+ v 2 + i(2 + 1)v

Maintenant, il ne reste plus qu' calculer le prix du call en utilisant la transforme de Fourier
inverse :

exp(k)
CT (k) =
2

ivk

exp(k)
T (v)dv =

eivk T (v)dv
0

La seconde galit est vraie parce que la valeur du call

CT (k)

est relle et la fonction

T (v)

est

impaire dans sa partie imaginaire et paire dans partie relle.


Revenons maintenant au paramtre

introduit plus haut. Pour que la valeur du call modie

(0) soit ni. Par la dernire relation de T (v), la


T (( + 1)i) est nie. Et par la dnition de la fonction

soit intgrable, une condition susante est que


condition susante revient dire que
caractristique

, ceci impose que :

E(ST+1 ) <
De cette manire on obtient donc une condition sur le paramtre

3.2

Calcul du prix avec la Transforme de Fourier rapide

Dans cette partie, on montre comment on utilise la transforme de Fourier rapide pour valuer
les prix des options valus dans la partie prcdente. On commence tout d'abord par approximer

les intgrales innies avec des sommes nies. On appelle

sj = (j 1)

pour

j = N . . . N

l'intgrale. La fonction caractristique

N est le nombre de
s'exprime alors :

Grce cette expression on peut calculer tous les

= (j 1))

eiusj qT (sj )

j=N

mation (vj

N
X

eius qT (s)ds w

T (u) =

le pas de discrtisation et on pose

points qu'on prend pour approximer

T (v)

et ensuite calculer

CT (k)

avec l'approxi-

exp(k)
CT (k) =

eivk T (v)dv w
0

exp(k) X ikvj
e
T (vj )

j=1

Il ne nous reste plus qu' calculer cette somme pour direntes valeurs de

avec l'algorithme de la

Transforme de Fourier Rapide (FFT).


Pour tester cette mthode, on compare ses rsultats avec ceux donns par la formule analytique
du prix d'un call europen. On obtient les valeurs suivantes pour un call europen de sous-jacent

S0 = 100,

avec un taux de

4%,

une volatilit de

20%

10

et une maturit de

ans. On prend

= 1.1

Strike

Prix B&S Analytique

Prix B&S FFT

95.3844

95.3844

10

90.7688

90.7688

15

86.1533

86.1533

20

81.5377

81.5377

25

76.9221

76.9221

30

72.3065

72.3065

35

67.691

67.691

40

63.0763

63.0762

45

58.4645

58.4648

50

53.8623

53.8633

55

49.2835

49.2862

60

44.7523

44.7565

65

40.3033

40.3007

70

35.9799

35.964

75

31.8305

31.8405

80

27.9024

27.9203

85

24.2374

24.1974

90

20.8678

20.9139

95

17.8141

17.7711

100

15.0847

15.1245

105

12.6768

12.6351

110

10.5781

10.6276

115

8.76938

8.70955

120

7.22642

7.29195

125

5.92239

5.86495

130

4.82954

4.85996

135

3.92063

3.92964

11

Figure 2 
Maintenant on observe la dirence entre les valeurs obtenues en faisant varier la maturit du call
europen et en prenant comme taux
sous-jacent la date

de

100

4%,

une volatilit de

12

20%,

un strike de

105

et un prix du

Maturit

Prix B&S Analytique

Prix B&S FFT

7.56699

7.50432

12.6768

12.6351

16.9917

16.9594

20.8485

20.8218

24.3828

24.36

27.6661

27.6462

30.7423

30.7247

33.6409

33.6252

36.3832

36.3691

10

38.9854

38.9726

11

41.4602

41.4485

12

43.818

43.8073

13

46.0674

46.0576

14

48.216

48.2069

15

50.27

50.2617

16

52.2352

52.2275

17

54.1167

54.1095

18

55.9189

55.9123

19

57.6461

57.6399

20

59.302

59.2963

Figure 3 
Nous allons appliquer cette mthode utilisant la transforme de Fourier sur un autre modle de
pricing d'options qui est le modle Variance-Gamma (VG). Madan, Carr et Chang expliquent que

13

ce modle enlve le smile observ quand on trace les volatilits implicites en fonction des prix
d'exercice. Un processus VG est obtenu en valuant le mouvement brownien arithmtique avec un
drift

et une volatilit

moyen par unit de temps

un temps alatoire donn par un processus gamma ayant pour taux

et un taux de variance de

Le processus rsultant

pur processus saut avec deux paramtres supplmentaires

et

Xt (, , )

est un

par rapport au modle de Black

Scholes. Les paramtres du processus VG retent la dissymtrie (skewness) et le kurtosis de la


distribution du retour. Le processus risque-neutre du prix du sous-jacent s'crit :

St = S0 exp(rt + Xt (, , ) + t)
o en posant

= (1/)ln(1 2 /2),

la moyenne du taux de retour est gal au taux d'intrt

r.
Calculons maintenant la fonction caractristique du logarithme du prix dans ce cas :

T (u) = E (exp(iuln(ST )) = E (exp(iuln(S0 ))exp(iu(rtT + XT (, , ) + T ))

T (u) = exp(iu(ln(S0 ) + (r + )T )E (exp(iuXT (, , )) = exp(iu(ln(S0 ) + (r + )T )XT (u)


o

XT

XT .

est la fonction caractristique du processus

Cette fonction est donne explicitement

dans l'article de Madan, Carr et Chang :

XT (u) = (1 iu + 2 u2 /2)T /
D'o l'expression de la fonction caractristique du logarithme du prix :

T (u) = exp(iu(ln(S0 ) + (r + )T )(1 iu + 2 u2 /2)T /


Maintenant qu'on a cette fonction, on peut calculer la transforme de Fourier du prix du call modi
(comme ce qu'on a fait auparavant dans le cas Black Scholes) et ensuite on calcule le prix du call
en faisant une transforme de Fourier inverse.
Madan, Carr et Chang donne une formule analytique ferme pour le calcul du prix du call europen
avec le modle VG. On dnit d'abord des constantes qui serviront dans la formule du prix du call :

=
s= q

1+


2

= s
c1 =

( + s)2
2

c2 =

2
2

14

et

  


1
S0
T
1 c1
d=
ln
+ rT + ln
s
K

1 c2
et le prix du call est :

r
c(S0 , K, T ) = S0 d
o la fonction

1 c1
, ( + s)

T
,
1 c1

r
Kexp(rT ) d

1 c2
, s

T
,
1 c2

est dnie par :

(a, b, ) =


N

a
+b u
u

u1 exp(u)
du
()

0
o

est la fonction de rpartition de la loi normale centre rduite et

dnie pour tout complexe

tel que

Re(z) > 0

(z) =

est la fonction Gamma

par :

tz1 et dt

0
Si on veut calculer le prix de l'option avec la formule analytique, soit on calcule l'intgrale apparaissant dans l'expression de

soit on calcule l'expression quivalente de la fonction

qui utilise

la des fonctions hypergomtriques dgnres et la fonction de Bessel modie de second espce.

(a, b, ) =



1
1+u
c+ 2 exp(sign(a)c)(1 + u)

K+ 21 (c) , 1 , 1 + ;
, sign(a)c(1 + u)
2
2()



1
c+ 2 exp(sign(a)c)(1 + u)1+
1+u

, sign(a)c(1 + u)
sign(a)
K 21 (c) 1 + , 1 , 2 + ;
2
2()(1 + )

+sign(a)
o

et



1
c+ 2 exp(sign(a)c)(1 + u)
1+u

, sign(a)c(1 + u)
K 12 (c) , 1 , 1 + ;
2
2()
p
b
c = |a| 2 + b2 , u =
2 + b2

dsigne la fonction de Bessel modie de seconde espce et

la fonction hypergomtrique

dgnre (conuente) deux variables, dnie par :

()
(, , ; x, y) =
()( )

1
u1 (1 u)1 (1 ux) exp(uy)du
0

On obtient les rsultats suivants avec le calcul du prix avec la formule analytique et avec la FFT.
On observe d'abord les variations du prix d'un call europen en faisant varier le prix d'exercice.

15

Figure 4 
On remarque que les prix commencent devenir dirents ds que le strike dpasse 40. En faisant
un test avec une mthode de Monte-Carlo, il se rvle que les prix justes sont ceux donns par
la mthode utilisant la FFT. L'cart non ngligeable entre les deux mthodes vient du fait que la
formule analytique du prix de l'option europenne dans le modle Variance Gamma (VG) utilise
des fonctions hypergomtriques qui prsentent des singularits diciles contrler quand on fait
des approximations numriques. Les approximations de l'intgrale apparaissant dans la formule de

avec les mthodes des rctangles, des trapzes et de la quadrature de Gauss-Laguerre donnent

des rsultats non satisfaisant.


Dans le cas de ce modle, on voit que la transforme de Fourier nous permet d'viter des implmentations lourdes mais galement des dicults numriques quand on dispose d'une formule explicite
simple de la fonction caractristique du logarithme du prix du sous-jacent. Nous allons prsent
regarder les prix donns par le modle de Black Scholes et pour le modle VG pour un call europen
de strike

K = 100, taux r = 5%, maturit T = 1an, volatilit = 12%, = 0.1, = 0.16, = 1.1.

16

S0

Prix B&S

Prix VG

Dirence de prix

70

0.0164686

0.0160231

-0.000445445

72

0.034149

0.0315927

-0.00255634

74

0.0663812

0.0597461

-0.00663517

76

0.121622

0.108427

-0.0131952

78

0.211075

0.188912

-0.0221635

80

0.348576

0.316124

-0.0324519

82

0.550069

0.508343

-0.0417259

84

0.832675

0.786071

-0.0466041

86

1.21346

1.17008

-0.043387

88

1.70808

1.67894

-0.0291405

90

2.32946

2.32675

-0.00271212

92

3.08678

3.12155

0.0347638

94

3.98487

4.06492

0.0800497

96

5.02396

5.15258

0.128623

98

6.19996

6.37563

0.175664

100

7.50514

7.72203

0.216889

102

8.92886

9.17808

0.249226

104

10.4586

10.7296

0.270979

106

12.0809

12.3627

0.28179

108

13.7823

14.0647

0.282403

110

15.5496

15.8239

0.274313

112

17.371

17.6304

0.259417

114

19.2357

19.4754

0.239717

116

21.1347

21.3518

0.217098

118

23.0602

23.2533

0.193188

120

25.0059

25.1752

0.169289

122

26.9668

27.1132

0.146366

124

28.939

29.0641

0.125071

126

30.9194

31.0252

0.105788

128

32.9058

32.9945

0.0886918

130

34.8964

34.9702

0.0737954

132

36.8899

36.9509

0.0610044

134

38.8856

38.9357

0.0501556

136

40.8827

40.9237

0.041049

138

42.8807

42.9142

0.0334709

140

44.8794

44.9066

0.0272105

17

Figure 5 
On remarque que les prix des options donnes par le modle VG sont trs proches de celles donnes
par le modle Black Scholes. Il est intressant de noter que les prix des options avec le modle VG
sont plus ou moins levs que ceux avec le modle B&S suivant qu'elles soient dans la monnaie,
la monnaie ou en dehors de la monnaie.

3.3

Transforme de Laplace et calcul de prix d'options europennes

On considre un actif de prix S(t) la date t et on pose :

X(t) = log(S(t)/S(0))
On suppose que sous une probabilit risque-neutre P*, le processus X(t) est donn par :

o r est le taux sans risque,

1
X(t) = (r 2 )t + W (t), X(0) = 0
2
la volatilit et W (t) un mouvement brownien.

La fonction gnratrice

de moments de X(t) s'crit :

h
i
E eX(t) = exp(G()t)
o la fonction G est dnie par :

1
1
G(x) = x(r 2 ) + x2 2
2
2
T et de strike K = ek est donn par : 
h
i

+
+
CT (k) = erT E (S(T ) K) = erT E S(0)eX(T ) ek

Le prix d'un call europen de maturit

18

La Transforme de Laplace par rapport

fC () =

de

CT (k)

ek CT (k)dk = erT

est donn par :

S(0)+1
exp(G( + 1)T ), > 0
( + 1)

Il est aussi possible de calculer les sensibilits de l'option en prenant l'inverse des drives des

et sont :

S(0)
(CT (k)) =
CT (k) = L 1 (erT
exp(G( + 1)T )|k=logK
S(0)

Transformes de Laplace du prix de l'option. Les expressions du

(CT (k)) =

2
2 S(0)

CT (k) = L 1 (erT S(0)1 exp(G( + 1)T )|k=logK

On inverse la transforme de Laplace en utilisant l'algorithme d'Euler dcrit dans Abate et Whitt.

de calls europens de maturit sur un sous-jacent ayant pour


T = 2ans, de volatilit = 20% et un taux r = 4% quand le strike

A titre d'exemple on va voir les


prix

S0 = 100,

de maturit

varie.
Strike

B&S CF

TLI

Erreur

B&S CF

avec TLI

Erreur

25

4.95414e-009

9.78895e-009

9.78894e-009

1.83128e-014

30

0.999999

0.999999

3.50765e-009

2.46256e-007

2.46243e-007

1.27308e-011

35

0.999982

0.999982

5.46887e-009

2.72166e-006

2.72174e-006

7.84194e-011

40

0.999876

0.999876

2.46536e-008

1.71569e-005

1.71569e-005

4.27837e-011

45

0.999418

0.999418

6.48271e-008

7.23426e-005

7.23412e-005

1.42828e-009

50

0.997979

0.997979

7.27318e-008

0.000226267

0.000226271

3.89894e-009

55

0.994425

0.994425

4.62792e-008

0.000563239

0.000563245

6.10477e-009

60

0.987136

0.987136

1.18925e-007

0.00117278

0.00117277

1.70007e-008

65

0.974251

0.974251

1.08388e-007

0.00211806

0.00211802

3.52694e-008

70

0.954035

0.954035

4.08403e-007

0.00340891

0.00340892

1.11817e-008

75

0.92526

0.925261

1.83588e-007

0.00499148

0.00499158

1.08206e-007

80

0.887472

0.887472

7.52821e-007

0.00675707

0.00675721

1.44941e-007

85

0.841068

0.841066

1.71772e-006

0.00856475

0.00856477

1.84009e-008

90

0.787208

0.787206

1.58671e-006

0.0102686

0.0102683

2.49432e-007

95

0.727614

0.727615

2.7169e-007

0.0117415

0.011741

4.97419e-007

100

0.664313

0.664317

3.32936e-006

0.0128908

0.0128902

5.212e-007

105

0.599388

0.599394

6.00505e-006

0.0136647

0.0136645

2.01887e-007

110

0.53478

0.534787

6.58059e-006

0.0140511

0.0140515

4.15553e-007

115

0.472149

0.472153

4.31919e-006

0.0140704

0.0140715

1.13012e-006

120

0.412803

0.412802

1.16885e-006

0.0137665

0.0137681

1.6627e-006

125

0.35768

0.357671

8.454e-006

0.0131974

0.0131992

1.76033e-006

130

0.307365

0.307349

1.55876e-005

0.0124266

0.0124279

1.28318e-006

135

0.262139

0.262118

2.04963e-005

0.0115164

0.0115167

2.47872e-007

140

0.222033

0.222012

2.14142e-005

0.0105237

0.0105226

1.17813e-006

145

0.186891

0.186874

1.73283e-005

0.00949708

0.00949436

2.72064e-006

150

0.156422

0.156414

8.22024e-006

0.00847564

0.00847158

4.06299e-006

155

0.130252

0.130257

4.93911e-006

0.00748928

0.00748436

4.91193e-006

160

0.10796

0.107981

2.03949e-005

0.00655921

0.00655416

5.05092e-006

19

Figure 6 

Figure 7 

20

3.4

Utilisation de l'approximation de Pad

L'approximation de Pad peut tre utilise chaque fois qu'on veut calculer la valeur d'une srie
entire en un point mais galement quand on veut calculer une intgrale. En eet, une intgrale peut
tre approche par une somme innie qui son tour peut tre approche par une fraction continue
dont les coecients sont calculs par l'algorithme de l'approximation de Pad dont on trouvera le
code source en C++ en annexe.
Pour commencer on va tester les rsultats donns par l'approximation de Pad applique la formule
de pricing suivante :

CT (k) =

exp(k)

eivk T (v)dv w
0

sj qu'on
N
exp(k) X
CT (k) w
sj z j

j=1

On peut donc crire pour un nombre

exp(k) X ikvj
T (vj )
e

j=1

de coecients

choisit :

o on a pos :

z = eik , sj = T (j)
L'algorithme de l'approximation de Pad nous permet de calculer les coecients de deux polynmes

An (z)

et

Bn (z)

tels que :

CT (k) w

exp(k) An (z)

Bn (z)

Il sut d'augmenter le nombre de coecients

pour augmenter la prcision dans le calcul du

prix. A titre d'exemple nous allons calculer le prix d'un call europen sur un sous-jacent de prix

S0 = 100,

de maturit

T = 2ans,

= 20% de strike K = 60 et avec un taux r = 4%.


P = 44.7523. Dans le tableau et le graphe qui
nombre N de coecients sj pour tendre vers le prix P .

de volatilit

Le prix avec la formule ferme de Black Scholes est


suivent, on voit qu'il sut d'augmenter le

21

Nombre de coecients

sj

Prix avec l'approximation de Pad

200

50.6279

400

47.7311

600

46.7164

800

45.5178

1000

45.9586

1200

46.0121

1400

45.5982

1600

45.4925

1800

45.4102

2000

45.3444

2200

45.2906

2400

45.2458

2600

45.2078

2800

45.1753

3000

45.147

3200

45.1224

3400

45.1006

3600

45.0813

3800

45.064

4000

45.0483

Figure 8 
En revanche, l'approximation de Pad ne prsente pas d'intrt particulier ici vu le nombre de
coecients qu'il faut calculer donc son utilisation dans ce cas n'est pas intressante.

22

Maintenant on va voir un exemple o l'approximation de Pad est trs utile. On va s'en servir pour
calculer la fonction de rpartition d'une variable alatoire. Dans la premire partie, on a vu que :

f() =

ex f (x)dx = E [exp(X)] = MX ()
0

o on a not
de

MX ()

la MGF de la variable alaoire

prise au point

et

la fonction de densit

X.

En prenant la transforme de Laplace inverse, on obtient :

1
fX (l) =
2i

+i

el MX ()d
i

En intgrant cette expression, on obtient la fonction de rpartition :

1
FX (l) =
2i

+i

el
MX ()d

i
Maintenant on va diviser le chemin d'intgration en petits intervalles avec un pas de discrtisation

et on va valuer l'intgrale en l'approchant par une srie.

h X
MX ( + ikh)
exp [( + ikh)l]
2
+ ikh
k=
"
!

#

X
ML () X
MX ( + ikh)
h
h
+
Re
exp(ikhl)
= exp(l)Re
sk zlk
FX (l) = exp(l)

2
+ ikh

FX (l) =

k=1

o on a dni

s0 =

k=0

MX ()
MX ( + ikh)
, sk =
(k = 1, 2, . . .),
2
+ ikh
zl = exp(ihl)

Ensuite on tronque la somme prcdente en prenant les

Nt

premiers termes de la somme (Nt est le

paramtre de troncature) et on obtient :

Nt
X
h
FX (l) ' exp(l)Re
sk zlk

k=0

Et l il ne reste plus qu' valuer la somme l'aide de l'approximation de Pad.

23

Annexe

#include
#include
#include
#include
#include
#include
#include
#include

<iostream>
<complex>
<vector>
"matrix.h"
<cmath>
<math.h>
"Polynom.h"
"Fonctions.hh"

using namespace std ;


typedef complex<double> dcmplx ;
typedef Polynom<dcmplx> cpoly ;
vector<dcmplx>
coeff(const vector<dcmplx>& s){
long n, i, k, m ; n= s.size() ;
m=2*n ;
// Calcul des squences e et q
matrix<dcmplx> e(n,n) ;
matrix<dcmplx> q(n,n+1) ;
dcmplx f(0,0) ;
for (long i=0 ; i<n ; i++) {
e.set(i,0,f) ;
q.set(i,0,f) ; // Pas ncessaire
dcmplx g ;
g=s[i+1]/s[i] ;
q.set(i,1,g) ;
}
for (long k=1 ; k< n ; k++){
for (long i=0 ; i<n-k ; i++){
dcmplx h ;
h=e.get(i+1,k-1)+ q.get(i+1,k) - q.get(i,k) ;
e.set(i,k,h) ;
}
for (long i=0 ; i<n-k ; i++){
dcmplx p ;
p=q.get(i+1,k)*e.get(i+1,k)/e.get(i,k) ;
q.set(i,k+1,p) ;
}
}
24

// Maintenant on calcule les coefficients de la squence c qu'on va utiliser pour trouver les c
// de la dcomposition de Pad
vector<dcmplx> c(m) ;
c[0]=s[0] ;
for (long i=1 ; i<n ; i++){
dcmplx a = -e.get(0,i) ;
dcmplx b= -q.get(0,i) ;
c[2*i]=a ;
c[2*i-1]=b ;
}
return c ;
}
dcmplx coeff_frac(const vector<dcmplx>& c, const dcmplx m){
vector<cpoly> A, B ;
cpoly c0 ;
cpoly poly1 ;
cpoly poly0 ;
cpoly J ;
c0.set(0,c[0]) ;
poly1.set(0,dcmplx(1,0)) ;
poly0.set(0,dcmplx(0,0)) ;
J.set(1,dcmplx(1,0)) ;
A.push_back(poly0) ;
A.push_back(c0) ;
B.push_back(poly1) ;
B.push_back(poly1) ;
for (long i=2 ; i<c.size() ; i++) {
A.push_back(A[i-1]+c[i-1]*J*A[i-2]) ;
B.push_back(B[i-1]+c[i-1]*J*B[i-2]) ;
}
return (A[A.size()-1].ev(m))/(B[B.size()-1].ev(m)) ;
}

25

Rfrences
[1] Peter P. Carr et Dilip B. Madan (1999), Option Valuation Using the Fast Fourier Transform,

Journal of Computational Finance 2 : 61-73

[2] Steven Kou, Giovanni Petrella et Hui Wang (2005), Pricing Path-dependant Options with Jump
Risk via Laplace Transforms,

The Kyoto Economic Review

74(1) : 1-23

[3] Yasushi Takano et Jiro Hashiba (2008), A Novel Methodology for Credit Portfolio Analysis :
Numerical Approximation Approach, Mizuho-DL Financial Technology
[4] Stehfest, H., "Algorithm 368 - Numerical Inversion of Laplace Transforms,"

the ACM, (1970) 13, 47.

Communications of

[5] Dilip B. Madan, Peter P. Carr, Eric C. Chang (1998), The Variance Gamma Process and Option
Pricing,

European Finance Review 2 : 79-105, 1998

[6] D. Sundarajan, M.O. Ahmad and M.N.S. Swamy (1997), Fast computation of the discrete
Fourier transform of real data.

IEEE Trans. Signal Process. 45 8 (1997), pp. 20102022.

[7] Joseph Abate et Ward Whitt (1993), Numerical Inversion of Laplace Transforms of Probability
distributions.

ORSA Journal of Computing Vol 7, No. 1, Winter 1995.

26

Vous aimerez peut-être aussi