悬赏 30 个论坛币 未解决
各位大仙小弟遇到困难,请帮帮我啊,就是用BS模型直接计算和分步计算结果差距很大——
EXCEL中BS模型的VBA代码如下
Function BSOptionPrice(S, K, T, R, Div, Vol, Call_Put)
d1 = (Log(S / K) + (R - Div + Vol ^ 2 / 2) * T) / (Vol * Sqrt(T))
d2 = d1 - Vol * Sqrt(T)
If Call_Put <> 1 Then Call_Put = -1
x = Call_Put
Nd1 = Application.NormSDist(x * d1)
Nd2 = Application.NormSDist(x * d2)
BSOptionPrice = (S * Exp(-Div * T) * Nd1 - K * Exp(-R * T) * Nd2) * x
End Function
计算结果与分步骤依次计算
S/K——LOG(S/K)——R - Div + Vol ^ 2 / 2) * T ——(Vol * Sqr(T)) ——d1——d2——ND1——ND2——C call
差距比较大,问题出在哪里呢?
具体来说是
标的价格 288778.3 执行价 251546.6 时间 20.0 利率 4.3% 连续股利 5% 波动性 15%
用VBA的BS模型计算结果为27829
但是分步计算,结果是27647,因为分数位数足够多,应该不存在这方面问题啊。
求助,求助!
求各位高手的帮助,谢谢!