logo strategies-options Accès Site
 
panier
"Gérer, c'est prévoir"
Le site consacré aux stratégies de trading incorporant des produits dérivés, en particulier des options.
Accueil  >  Modèles d'évaluation d'options  >  Le modèle trinomial : VBA code 

Le modèle trinomial : VBA code

Publié le 04 Juin 2019 par Strategies Options
icone rss


Le modèle trinomial sous VBA (Visual Basic Applications)

Dans la même veine que pour le modèle binomial, l'utilisation de VBA pour programmer ce modèle trinomial et obtenir facilement un résultat.



I - Le code

Public Function TT(AmeEurFlag As String, 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 Variant


Dim OptionValue() As Double
ReDim OptionValue(0 To n * 2 + 1)

Dim ReturnValue(3) As Double
Dim dt As Double, u As Double, d As Double
Dim pu As Double, pd As Double, pm As Double, Df As Double
Dim i As Long, j As Long, z As Integer

If CallPutFlag = "c" Then
z = 1
ElseIf CallPutFlag = "p" Then
z = -1
End If

dt = T / n
u = Exp(v * Sqr(2 * dt))
d = Exp(-v * Sqr(2 * dt))
pu = ((Exp(b * dt / 2) - Exp(-v * Sqr(dt / 2))) / (Exp(v * Sqr(dt / 2)) - Exp(-v * Sqr(dt / 2)))) ^ 2

pd = ((Exp(v * Sqr(dt / 2)) - Exp(b * dt / 2)) / (Exp(v * Sqr(dt / 2)) - Exp(-v * Sqr(dt / 2)))) ^ 2
pm = 1 - pu - pd
Df = Exp(-r * dt)

For i = 0 To (2 * n)
OptionValue(i) = Application.Max(0, z * (S * u ^ Application.Max(i - n, 0) * d ^ Application.Max(n - i, 0) - X))
Next

For j = n - 1 To 0 Step -1

For i = 0 To (j * 2)

OptionValue(i) = (pu * OptionValue(i + 2) _
+ pm * OptionValue(i + 1) + pd * OptionValue(i)) * Df

If AmeEurFlag = "a" Then
OptionValue(i) = Application.Max(z * (S * u ^ Application.Max(i - j, 0) _
* d ^ Application.Max(j - i, 0) - X), OptionValue(i))
End If
Next

Next

TT = OptionValue(0)


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 :
"=TT("a";"c";100;110;1;0.05;0.05;0.30;200)"
pour obtenir la valeur
- d'une option de type américain ("a")
- 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 200 périodes
La cellule donne alors le résultat de 10.02051


Pour calculer un put de type européen sur une valeur avec dividende de 3% par exemple
Il suffit d'ouvrir une feuille Excel vierge, et d'entrer dans une cellule :
"=TT("e";"p";100;110;1;0.05;0.02;0.30;250)"
pour obtenir la valeur
- une option de type européen("e")
- 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 250 périodes
La cellule donne alors le résultat de 16.1981


La suite : Option Pricing - Modele Trinomial En Python
Précédent : Modèle Trinomial : American Style - Version Détaillée - On Price !

Strategies Options
D'autres Fiches
Black & Scholes : une première approche
- Modèles d'évaluation d'options -
Black & Scholes : une première approche
Le modèle de Black & Scholes (1973), parfois appelé Black Scholes Merton (BSM), est un modèle standard d’évaluation des options de type européen
Strategie Option cac40
- Les Stratégies Options sur Actions et Indices -
Strategie Option cac40
C'est la reprise...Butterfly
Eur/USD : put spread
- Les Stratégies Options sur Forex -
Eur/USD : put spread
En limitant l'investissement avec ce put spread sur l' EUR / USD, on limite les risques
Strategies Options CAC 40 - Static Hedge - Suivi 1
- Contact -
Strategies Options CAC 40 - Static Hedge - Suivi 1
Un premier point qui commence bien.
Call-put parité : taux et future
- Relations entre Sensibilités des Options -
Call-put parité : taux et future
Les valeurs des options et la maturité suffisent à retrouver le niveau du contrat future et le taux d'intérêt. Parfois on peut même trouver le taux de dividende ou de revenu.
Bilan Strategie Put Spread MAR10 1.40/1.36  €/USD
- Les Stratégies Options sur Forex -
Bilan Strategie Put Spread MAR10 1.40/1.36 €/USD
Résumé et bilan de la stratégie de Put Spread MAR10 1.40/1.36 sur l'euro/usd