Aide macro vba pour calcul du prix d'une option
Bonjour,
je dois réaliser une macro excel qui permet de calculer le prix d'une option call européenne à partir de plusieurs paramètres d'entrée (K, T, S, R , N, sigma) qui doivent pouvoir être entrés manuellement (apparition d'une fenetre qui demande la valeur pour chaque paramètre).
J'ai déjà implémenté la fonction qui retourne le prix, mais je ne sais pas comment mettre le reste en forme dans l'éditeur. :?
Merci d'avance pour vos conseils.
Fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Function CallBinomial(K As Double, T As Integer, S As Double, R As Double, N As Integer, sigma As Double)
Dim u As Variant, d As Variant, q As Variant, esc As Variant, dt As Variant
dt = T / N
u = Exp(sigma * Sqrt(dt))
d = Exp(-sigma * Sqrt(dt))
Dim i As Integer
Dim j As Integer
Dim Price() As Variant
ReDim Price(N)
Dim Cash() As Variant
ReDim Cash(N)
q = (Exp(R * dt) - d) / (u - d)
esc = Exp(-R * dt)
Price(0) = S * (d ^ N)
For j = 1 To N
Price(j) = Price(j - 1) * (u - d)
Next j
For j = 0 To N
Cash(j) = Application.MaxChange(0, Price(j) - K)
Next j
For i = N - 1 To 0 Step -1
For j = 0 To i
Cash(j) = esc * (q * Cash(j + 1) + (1 - q) * Cash(j))
Next j
Next i
CallBinomial = Cash(0)
End Function |