30.08.2014 Views

Méthodes numériques en finance

Méthodes numériques en finance

Méthodes numériques en finance

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

11 MÉTHODES DE SIMULATIONS DANS LE MODÈLE DE BLACK & SCHOLES (1973) 147<br />

c’est à dire, <strong>en</strong> combinant les deux termes que<br />

R ti ,t i−1<br />

∼ 1 2 b(X t i−1<br />

)b ′ (X ti−1 )[(∆ i W ) 2 − ∆ i ] + R ti ,t i−1<br />

.<br />

Sous des conditions de régularités des fonctions a(·) et b(·), il est alors possible de<br />

montrer que le reste R ti ,t i−1<br />

est néglieable par rapport à l’expression de gauche.<br />

On a alors le schéma itératif suivant, <strong>en</strong> notant ∆ i = t i − t i−1 et ∆ i W = W ti − W ti−1 ,<br />

• X (n)<br />

0 = X 0 ,<br />

• ...<br />

• X (n)<br />

t i<br />

• ...<br />

•<br />

= X (n)<br />

t i−1<br />

+ a(X (n)<br />

t i−1<br />

) · ∆ i + b(X (n)<br />

t i−1<br />

) · ∆ i W + 1 2 b(X t i−1<br />

)b ′ (X ti−1 )[(∆ i W ) 2 − ∆ i ],<br />

Proposition 88. L’approximation de Milstein à pas constant converge fortem<strong>en</strong>t à l’ordre<br />

γ = 1.<br />

A partir de là, on <strong>en</strong> déduit l’algorithme suivant pour simuler le prix d’une option,<br />

1. Pour k = 1, ..., N, on simule S T , solution de dS t = rS t dt + σS t dW t , i.e.<br />

] )<br />

S t = S 0 exp<br />

([µ − σ2<br />

t + σW t<br />

2<br />

(<br />

soit S(k) ⇐ exp S 0 exp<br />

] ([µ − σ2<br />

t + σ √ ))<br />

tN , où N ∼ N (0, 1),<br />

2<br />

2. Pour chaque scénario k on détermine le payoff, V (S T , T )(k) ← V (S(k), T ),<br />

3. On détermine alors l’espérance (risque neutre) associée<br />

Ê(V (S T , T )) ⇐ 1 N∑<br />

V (S T , T )(k)<br />

N<br />

k=1<br />

4. Enfin, la valeur actualisée ˆV ⇐ e −rT Ê(V (S T , T )) est le prix <strong>en</strong> 0 de l’option.<br />

11.6 Simulation du mouvem<strong>en</strong>t browni<strong>en</strong>...<br />

Simulation processus browni<strong>en</strong> géométrique - Euler<br />

N.euler=1000; dt.euler=T/N.euler<br />

dW=sqrt(dt.euler)*rnorm(1)<br />

S.euler=c(S.euler,S.euler+dt.euler*S.euler*r + sigma*S.euler*dW)<br />

S.euler=S0; W=0<br />

}<br />

for(j in 1:N.euler) {<br />

Un autre code est possible <strong>en</strong> utilisant la discrétisation de Milstein.<br />

Simulation processus browni<strong>en</strong> géométrique - Milstein<br />

N.milstein=1000; dt.milstein=T/N.milstein<br />

S.milstein=S0; W=0<br />

for(j in 1:N.milstein) {<br />

dW=sqrt(dt.milstein)*rnorm(1)<br />

S.milstein

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!