Le modèle de Black et Scholes

Bernard LAPEYRE

28 mars 2018

Version pdf de ce document

Préliminaires

  1. Ecrire une fonction Scilab qui calcule la moyenne empirique Moyenne, la variance empirique Variance empirique d'un tableau de nombre.

    Vérifiez qu'elles coïncident avec les fonctions prédéfinies de Scilab : mean, variance.

    Correction

  2. Ecrire une fonction permettant de simuler un vecteur consitué de variables aléatoires gaussiennes centrées réduites indépendantes.

    Tracer l'histogramme du vecteur obtenu et verifier qu'il correspond bien à la loi gaussienne centrée réduite.

    Cette fonction existe dans Scilab (x=rand(1,n,''gauss'')).

    Correction

  3. On cherche à calculer par simulation $\E(e^{\beta G})$$G$ est une gaussienne centrée réduite. On rappelle que $\E(e^{\beta
G})=\exp(\beta^2/2)$.

    Calculer par simulation $\E(e^{\beta G})$ pour $\beta=2,4,6,8,10\ldots$. Précisez à chaque fois une intervalle de confiance. Pour quelles valeurs de $\beta$ peut on utiliser cette méthode de monte-carlo ?

    Correction

Le modèle de Black et Scholes

On considère le modèle de Black et Scholes :

\begin{displaymath}
S_t = S_0 \exp\left(\left(r-\frac{\sigma^2}{2}\right)t + \sigma W_t\right).
\end{displaymath}

On supposera dans la suite que $S_0=100$, $\sigma=0.3$ (volatilité annuelle) et $r=0.05$ (taux d'intérêt exponentiel annuel).

  1. Tracer l'histogramme de la loi de $S_T$, pour $T=1$, $\sigma=0.3$ (volatilité annuelle) et $r=0.05$ (taux d'intérêt exponentiel annuel).
    Correction
  2. On cherche à calculer le prix d'un call de strike $K=100$. Calculer ce prix par une méthode de monte-carlo avec un nombre de tirages égaux à $N=1000$,$1000$,$10000$. On précisera l'intervalle de confiance.
    Correction
  3. On va chercher à utiliser la variable aléatoire $S_T$ comme une variable de contrôle. Vérifiez que $\E(S_T)=S_0 e^{rT}$ (pourquoi ?).

    Ecrire un programme qui utilise $S_T$ comme variable de contrôle. Comparer la précision de cette méthode avec la précédente suivant les valeur relative de $K$ et $S_0$.

    Se convaincre que l'on a ainsi ramené le calcul du call à un calcul de put.

    Correction

  4. On se place dans la cas d'un call de strike $K$ grand devant $S_0$. Montrer par simulation que la précision relative du calcul décroit au fur et à mesure que $K/S_0$ décroit. On prendra $S_0=100$ et $K=100$, $150$, $200$, $250$. Que se passe t'il pour $K=400$ ?
    Correction

  5. Montrer que :

    \begin{displaymath}
\E\left(f(W_T)\right)
= \E\left(e^{-\lambda W_T -\frac{\lambda^2 T}{2}}f(W_T+\lambda T)\right).
\end{displaymath}

    On se place dans le cas du call avec $S_0=100$ et $K=150$. Proposer une valeur de $\lambda$ permettant de réduire la variance de la simulation.
    Correction

Modèle de Panier et variables de contrôle

On s'intéresse à un modèle de panier constitué à l'aide de $d$ actifs. On suppose que chacun de ces $d$ actifs de prix $S^i_t$ suit un modèle de Black et Scholes multidimensionnel. Pour cela on considère $d$ mouvement brownien indépendants $(W^i_t,t\geq 0)$, une matrice $d\times d$, $\Sigma=(\sigma_{ij})_{1\leq i,j \leq d}$ et l'on suppose que que le prix de l'actif $i$ à l'instant $t$, $S^i_t$ est donné par :

\begin{displaymath}
\frac{d S^i_t}{S^i_t} = r dt + \left[\Sigma dW_t\right]_i, S^i_0=x_i.
\end{displaymath}

qui peut se résoudre en :

\begin{displaymath}
S^i_t = x_i e^{\displaystyle (r - \frac {\sigma_i^2}{2})t + \sigma_i {\bar W}^i_t },
\end{displaymath}

$\sigma_i^2 = \sum_{j=1}^d \sigma_{ij}^2$ et ${\bar W}^i_t= \frac{1}{\sigma_i}\sum_{j=1}^d \sigma_{ij} W^j_t$.

On prendra dans les applications numériques $x_i=100$ et $d=10$.

Par ailleurs, on souhaite choisir la matrice $\Sigma$ de façon à :

(a)
pouvoir donner une valeur arbitraire aux $(\sigma_{i},1\leq i \leq d)$
(b)
avoir $\E\left(\bar W^i_t \bar W^j_t\right) = \rho_{ij} t$
$\rho_{ij}$ étant une matrice constante donnée telle que $\rho_{ii}=1$ (pourquoi?).
  1. Montrer que si un modèle vérifiant (b) existe la matrice $\rho$ est forcément symétrique et positive. Sous cette hypothèse, montrer l'existence d'une matrice $\Sigma$ permettant de réaliser (a) et (b).
  2. On prendra dans la suite $\rho_{ij}=0.5$ pour tout $i$ et $j$ différent et $\sigma_{i}=0.3$ (par année), pour tout $i$. Vérifier (à l'aide de SciLab) que $\rho$ est bien une matrice définie positive (mais que ce n'est pas le cas si $d=10$ et $\rho_{ij}=-0,95$).
    Correction
  3. Proposer une méthode de simulation du vecteur $(W^1_T,\ldots,W^d_T)$ puis de $(S^1_T,\ldots,S^d_T)$.
    Correction
  4. On s'intéresse maintenant au calcul du prix d'un call sur un indice de prix $I_t$ donné par

    \begin{displaymath}
I_t = a_1 S^1_t + \cdots + a_d S^d_t.
\end{displaymath}

    On prendra dans les applications numériques $a_1=\cdots=a_d=1/d$. Calculer par simulation la valeur du call de payoff à l'instant $T$

    \begin{displaymath}
\left(I_T-K\right)_+,
\end{displaymath}

    et estimer l'erreur commise pour différentes valeurs de $K$ ($K=0.8
I_0$, $K= I_0$, $K=1.2 I_0$, $K=1.5 I_0$ par exemple).

    Reprendre les simulations pour un put sur indice de payoff $(K-S_T)_+$.

    Correction
  5. Montrez que $\E(I_T) = I_0 \exp(rT)$ et utilisez $I_T$ comme variable de contrôle. Quand cette méthode est elle efficace ?
    Correction
  6. En supposant que $r$ et $\sigma$ tendent vers $0$ se convaincre qu'il est légitime d'approximer $\log(I_t/I_0)$ par :

    \begin{displaymath}
Z_T = \frac{a_1 S^1_0}{I_0} \log(S^1_t/S^1_0)
+ \cdots + \frac{a_d S^d_0}{I_0} \log(S^d_t/S^d_0).
\end{displaymath}

    Montrer que $Z_T$ est une gaussienne de moyenne

    \begin{displaymath}
T \sum_{i=1}^d \frac{a_i S^i_0}{I_0} \left(r-\sigma_i^2/2\right)
\end{displaymath}

    et de variance

    \begin{displaymath}
T \frac{1}{I_0^2} \sum_{i=1}^d \sum_{j=1}^d J_i \rho_{ij} J_j
\end{displaymath}

    $J_{i}= a_i S^i_0 \sigma_i$.

    On rappelle que (exercice) :

    \begin{displaymath}
\E\left(\left(e^Z - K\right)_+\right)
= e^{\E(Z)+\frac{1}{2}\Var(Z)}N(d + \sqrt{\Var(Z)}) - KN(d)
\end{displaymath}

    $d=\frac{\E(Z)-\log(K)}{\sqrt{\Var(Z)}}$.

    En déduire une expression explicite de $\E\left(\left(e^{Z_T} -
K\right)_+\right)$ et une technique de variable de contrôle pour le calcul du prix du call. Évaluez par simulation le gain de la méthode pour différentes valeurs de $K$.

    Correction