Nous avions vu comment "pricer" une
option de type européen à l'aide du
modèle binomial, en "dressant l'arbre" des valeurs de cette option en fonction des niveaux du sous-jacent et du temps (cf
Le Modèle Binomial : On Price ! ).
C'était assez simple à faire, mais fastidieux pour s'en servir.
La quasi totalité des tableurs type Excel permettent de programmer très simplement des fonctions qui vont permettre d'utiliser les résultats comme on le souhaite.
C'est parti !
I - Le code
Function EuropeanBinomial(CallPutFlag As String, S As Double, X As Double, T As Double, r As Double, b As Double, v As Double, n As Integer) As Double
Dim u As Double, d As Double, p As Double
Dim sum As Double, dt As Double, a As Double
Dim j As Double
dt = T / n
u = Exp(v * Sqr(dt))
d = 1 / u
p = (Exp(b * dt) - d) / (u - d)
a = Int(Log(X / (S * d ^ n)) / Log(u / d)) + 1
sum = 0
If CallPutFlag = "c" Then
For j = a To n
sum = sum + Application.Combin(n, j) * p ^ j * (1 - p) ^ (n - j) * (S * u ^ j * d ^ (n - j) - X)
Next
ElseIf CallPutFlag = "p" Then
For j = 0 To a - 1
sum = sum + Application.Combin(n, j) * p ^ j * (1 - p) ^ (n - j) * (X - S * u ^ j * d ^ (n - j))
Next
End If
EuropeanBinomial = Exp(-r * T) * sum
End Function
II - Utilisation
Pour calculer un call sur une valeur sans dividende par exemple
Il suffit d'ouvrir une feuille Excel vierge, et d'entrer dans une cellule :
" = EuropeanBinomial(
c;100;110;1;0.05;0.05;0.30;1000 )"
pour obtenir la valeur
- d'un call (
c )
- pour un spot égale à
100
- de strike
110
- ayant une maturité d'
1 an
- avec un
taux d'intérêt de
0.05 ( 5% )
- avec un portage de
0.05 ( cela correspond au taux d'intérêt - le taux de dividende, soit 0.05-0 )
- avec une
volatilité de
0.3 ( 30% )
- pour
1000 périodes
La cellule donne alors le résultat de 10.017
Pour calculer un put sur une valeur avec dividende de 0.03% par exemple
Il suffit d'ouvrir une feuille Excel vierge, et d'entrer dans une cellule :
" = EuropeanBinomial(
p;100;110;1;0.05;0.02;0.30;1000 )"
pour obtenir la valeur
- d'un put (
p )
- pour un spot égale à
100
- de strike
110
- ayant une maturité d'
1 an
- avec un
taux d'intérêt de
0.05 ( 5% )
- avec un portage de
0.02 ( cela correspond au taux d'intérêt - le taux de dividende, soit 0.05-0.03 )
- avec une
volatilité de
0.3 ( 30% )
- pour
1000 périodes
La cellule donne alors le résultat de 16.1903
La suite :
Black & Scholes : Une Première Approche ou
Modèle Trinomial : Une Première Approche
Précédent :
Modèle Binomial : Version Détaillée - On Price! Strategies-options.com