Я пытаюсь написать функцию BS значение опции вызова с помощью VBA:VBA BS функция Опции ошибка синтаксиса
Function BSCallValue(S, K, r, q, tyr, Sigma)
' returns black-scholes call value (allowing for q=div yld)
Dim ert, qrt
Dim DOne, DTwo, NDOne, NDTwo
ert = Exp(-r * tyr)
qrt = Exp(-q * tyr)
DOne = (Log(S/K) + (r - q + 0.5 * Sigma^2) * tyr)/(Sigma * Sqr(tyr))
DTwo = (Log(S/K) + (r - q - 0.5 * Sigma^2) * tyr)/(Sigma * Sqr(tyr))
NDOne = Application.Norm_S_Dist(DOne)
NDTwo = Application.Norm_S_Dist(DTwo)
BSCallValue = (S * qrt * NDOne - K * ert * NDTwo)
End Function
Однако проделанный и DTwo линии продолжает давать мне «ошибку синтаксиса».
Что не так с этим?
Какие переменные являются 'S, K, r, q, tyr, Sigma'? почему вы не объявляете типы переменных? для instacne, 'Dim ert, qrt As Double'' –
@ShaiRado - Это должно быть' Dim ert As Double, qrt As Double'. Без второго «двойного» ert будет вариант. – Jeeped