VBA BS选项function语法错误

我正在尝试使用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 

然而,DOne和DTwo线不断给我'语法错误'。

这有什么不对?

Norm_S_Dist需要两个参数。 使用,

 NDOne = Application.Norm_S_Dist(DOne, true) NDTwo = Application.Norm_S_Dist(DTwo, false) 

NORM.S.DIST(Z,累计)

NORM.S.DIST函数语法具有以下参数:

Z(必填)您希望分配的值。
累积(必需)累积是确定函数forms的逻辑值。 如果cumulative为TRUE,则NORMS.DIST返回累积分布函数; 如果为FALSE,则返回概率质量函数。