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
Eur/USD : Suivi put spread, c'est la sortie !
- Les Stratégies Options sur Forex -
Eur/USD : Suivi put spread, c'est la sortie !
« Enfin » un moment type de gestion et un point sur le money management. P&L $ +720
Black & Scholes : le modèle, présentation et solution ( Part 2 )
- Modèles d'évaluation d'options -
Black & Scholes : le modèle, présentation et solution ( Part 2 )
Solutions pour le call et le put standards de type européen. Les options classiques
Chooser option - Call ou Put ?
- Stratégies Options Fondamentales -
Chooser option - Call ou Put ?
Certaines options de type "exotiques" peuvent se répliquer très simplement avec des options vanilles
Option Pricing - Black Scholes en Python
- Brokers Options -
Option Pricing - Black Scholes en Python
La programmation du modèle Black Scholes en Python est très facile
Alors...on joue la correlation...!!!
- ABC des Options -
Alors...on joue la correlation...!!!
Pas toujours évident de comprendre ce qu'est la corrélation entre deux actifs financiers.
Le butterfly spread : sensibilité aux variations du spot-son delta ∆
- Stratégies Options Avancées -
Le butterfly spread : sensibilité aux variations du spot-son delta ∆
Le butterfly spread présente certaines caractéristiques qui lui confèrent plusieurs utilisations, en particulier en fonction de sa sensibilité aux variations du sous-jacent, son delta ∆.