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
Le call spread : une première approche
- Stratégies Options Fondamentales -
Le call spread : une première approche
Le call spread est une stratégie simple qui combine l'achat et la vente de deux calls.
Black & Scholes: les grecs
- Modèles d'évaluation d'options -
Black & Scholes: les grecs
Le modèle de Black-Scholes définit la valeur théorique d'une option de type européen. Mais la gestion précise d'une telle option a besoin de plus d'outils : les grecs.
Le strangle
- Stratégies Options Fondamentales -
Le strangle
Le strangle est une variante logique du straddle
Interprétation de N(d2) dans le modèle de Black-Scholes
- Modèles d'évaluation d'options -
Interprétation de N(d2) dans le modèle de Black-Scholes
Que signifie N(d2) dans le modèle Black & Scholes
Les Ratio Spreads : Une première approche
- Stratégies Options Avancées -
Les Ratio Spreads : Une première approche
Principal objectif du ratio spread : -Être financé par le marché pour un mouvement limité.
Strategie Options sur Devises - USDJPY
- Les Stratégies Options sur Forex -
Strategie Options sur Devises - USDJPY
Départ sur un diagonal spread sur USDJPY