- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 1 个
- 通用积分
- 0
- 学术水平
- 5 点
- 热心指数
- 5 点
- 信用等级
- 1 点
- 经验
- 641 点
- 帖子
- 46
- 精华
- 0
- 在线时间
- 144 小时
- 注册时间
- 2010-1-20
- 最后登录
- 2020-12-6
本科生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
- 1 个
- 通用积分
- 0
- 学术水平
- 5 点
- 热心指数
- 5 点
- 信用等级
- 1 点
- 经验
- 641 点
- 帖子
- 46
- 精华
- 0
- 在线时间
- 144 小时
- 注册时间
- 2010-1-20
- 最后登录
- 2020-12-6
| 开心 2019-5-8 10:37:16 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
|
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,因为分数位数足够多,应该不存在这方面问题啊。
求助,求助!
求各位高手的帮助,谢谢!
|
|