Hello à tous,
Voila je travaille sur une simulation de monte carlo et j'ai un problème, je ne trouve pas mon erreur et j'obtiens un message "incompatibilité de type"
Voici le code:
Voici le test de la fonction:
TypeOption, Underlying,...sont des variables déclarées en Double. Toutes ces variables sont déjà utilisées dans d'autres fonctions sans problème.
Merci de votre aide.
Voila je travaille sur une simulation de monte carlo et j'ai un problème, je ne trouve pas mon erreur et j'obtiens un message "incompatibilité de type"
Voici le code:
Code:
Function MC_Eur(TypOp, S, K, r, sigma, T, N)
Dim Resultat(3), z, i, epsilon, ST1, ST2 As Double
z = switch(TypOp)
ReDim Prix(2 * N) As Double
For i = 0 To N - 1
Randomize
epsilon = WorksheetFunction.NormSInv(Rnd)
ST1 = S * Exp((r - 0.5 * sigma ^ 2) * T + _
sigma * epsilon * Sqr(T))
ST2 = S * Exp((r - 0.5 * sigma ^ 2) * T + _
sigma * (-epsilon) * Sqr(T))
Prix(i) = Exp(-r * T) * _
WorksheetFunction.Max(z * (ST1 - K), 0)
Prix(N + i) = Exp(-r * T) * _
WorksheetFunction.Max(z * (ST2 - K), 0)
Next i
Resultat(1) = WorksheetFunction.Average(Prix)
Resultat(0) = Resultat(1) - 1.96 * WorksheetFunction. _
StDev(Prix) / Sqr(2 * N)
Resultat(2) = Resultat(1) + 1.96 * WorksheetFunction. _
StDev(Prix) / Sqr(2 * N)
MC_Eur = Resultat
End Function
Voici le test de la fonction:
Code:
MC_Eur(TypeOption, Underlying, Strikeprice, Riskfreerate, Volatility, Maturity, 100)
TypeOption, Underlying,...sont des variables déclarées en Double. Toutes ces variables sont déjà utilisées dans d'autres fonctions sans problème.
Merci de votre aide.