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
Strategie Options sur Devises - USDJPY ( Suivi 10 et fin )
- Les Stratégies Options sur Forex -
Strategie Options sur Devises - USDJPY ( Suivi 10 et fin )
P&L + 367267 JPY, environ + 3846 USD
Ratio backspread sur le CAC 40 (suivi 10)
- Les Stratégies Options sur Actions et Indices -
Ratio backspread sur le CAC 40 (suivi 10)
Le P&L du Ratio Backspread commence à bien performer : +1722.30 euros cette fin de semaine.
Le modèle binomial : On price ! La suite
- Modèles d'évaluation d'options -
Le modèle binomial : On price ! La suite
Pair ou impair ? La parité du nombre de périodes influe énormément sur l'estimation du prix de l'option. On peut peut-être en tirer parti !
Eur/USD : Suivi put spread (7)
- Les Stratégies Options sur Forex -
Eur/USD : Suivi put spread (7)
1.27 sur l'Euro-dollar, notre vertical put spread en profite, +200 USD.
Options Binaires : theta des options binaires
- Warrants, Turbos, Options Binaires -
Options Binaires : theta des options binaires
Le temps impacte la valeur des options binaires bien moins que celle des options "classiques".
Le modèle binomial : une version simple pour les options européennes
- Modèles d'évaluation d'options -
Le modèle binomial : une version simple pour les options européennes
Le modèle binomial est un modèle très intuitif pour comprendre comment s'évalue la valeur d'une option.