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
Echéances des Options et contrats Futures sur le Crude Oil - WTI
- Les Stratégies Options sur Matières Premières -
Echéances des Options et contrats Futures sur le Crude Oil - WTI
Comment calculer les échéances des contrats futures et d' options sur le Crude Oil (CL). Mise à jour 2015
Eur/USD : Suivi put spread (8)
- Les Stratégies Options sur Forex -
Eur/USD : Suivi put spread (8)
1.2670 sur l'EURUSD, profit +260 $
Options sur actions - Point sur la Societe Generale
- Calculateur Online Volatilité Implicite -
Options sur actions - Point sur la Societe Generale
Le bien être des spreads vis à vis des shorts put.
Strategie Options sur Devises - USDJPY ( Suivi 2 )
- Les Stratégies Options sur Forex -
Strategie Options sur Devises - USDJPY ( Suivi 2 )
Du mieux sur le P&L !
Put Arbitrage
- Relations entre Sensibilités des Options -
Put Arbitrage
Une relation d'arbitrage moins connue que la call put parité
Le butterfly spread : vega υ du butterfly spread
- Stratégies Options Avancées -
Le butterfly spread : vega υ du butterfly spread
Le butterfly spread réagit différemment aux variations de la volatilité implicite, en fonction du niveau du sous-jacent par rapport à la structure.