如何用excel编写一个期权计算器

论坛 期权论坛 期权     
吴宇   2016-5-24 16:47   335744   56
(1)打开Excel-VBA或直接打开Excel按ALT+F11,贴上程序(见最后)。
(2)在excel当中建立如图表格,标黄部分需要手动变化。

(3)在C列相应表格输入以下公式。

(4)参数说明。
s,就是标的证券当前价格,文中以上证50ETF为例。
k,就是行权价,假设我们要算的是2.15的call和put。
t,年化的到期剩余日,这个地方要注意的是有人用365天来年化,也有人一年是用工作日255左右,文中使用的是255天
r,年利率,拿一年定存利率计算,以2%为例。
v,历史波动率,波动率是重要的内容,这边以40%为例。

附Excel-VBA程序:
Function cal_d1(s As Double, k As Double, t As Double, r As Double, v As Double) As Double
cal_d1 = (Log(s / k)+ (r + v ^ 2 / 2) * t) / (v * Sqr(t))
End Function
Function cal_d2(s As Double, k As Double, t As Double, r As Double, v As Double)
cal_d2 = cal_d1(s,k, t, r, v) - v * Sqr(t)
End Function
Functioncalloption(s As Double, k As Double, t As Double, r As Double, v As Double)
calloption = s *Application.NormSDist(cal_d1(s, k, t, r, v)) - k * Exp(-(r * t)) *Application.NormSDist(cal_d2(s, k, t, r, v))
End Function
Function putoption(s As Double, k As Double, t As Double, r As Double, v As Double)
putoption = k *Exp(-r * t) * Application.NormSDist(-cal_d2(s, k, t, r, v)) - s *Application.NormSDist(-cal_d1(s, k, t, r, v))
End Function
分享到 :
17 人收藏
萍水相逢,尽是他乡之客

56 个回复

正序浏览
谢谢分享,很有收获。
好帖,赞一赞
54#
qazmlpq  1级新秀 | 2023-3-20 23:16:33 (来自手机浏览器) 发帖IP地址来自 天津河西区
学习一下
53#
江湖678  5级知名 | 2021-11-18 13:58:39 发帖IP地址来自 北京
这么干
52#
WX_g2xz0  1级新秀 | 2021-5-7 15:41:00 (来自手机浏览器) 发帖IP地址来自 广东汕头
这图还是看不了啊/::<
51#
狄GaSBZf  1级新秀 | 2021-4-19 10:53:19 发帖IP地址来自 河北
谢谢分享。干货
50#
兰花草001  5级知名 | 2021-4-17 23:57:10 发帖IP地址来自 澳大利亚
好东西·1
49#
tolylee  1级新秀 | 2021-4-12 01:56:10 发帖IP地址来自 中国
学习了 简洁高效!!!!!!!!!!!!!
先顶,有空试一下
47#
夏秋  1级新秀 | 2021-1-3 14:17:43 发帖IP地址来自 福建厦门
先点赞,用完再追赞
46#
甲壳虫动漫  1级新秀 | 2020-3-29 00:38:54 发帖IP地址来自 山东日照
12313
45#
时刻准备着  1级新秀 | 2020-3-1 11:31:13 发帖IP地址来自 山东
好东西,谢谢
44#
eric234833  2级吧友 | 2019-3-10 22:33:56 (来自手机浏览器) 发帖IP地址来自 中国
谢谢分享
43#
Mki_Joe  1级新秀 | 2019-3-10 13:08:24 发帖IP地址来自 广东深圳
是BS模型公式计算的不
42#
宝马8  4级常客 | 2019-2-18 13:18:52 发帖IP地址来自 澳大利亚
谢谢大佬,反对拿来主义
41#
留X下  3级会员 | 2019-2-18 11:25:20 发帖IP地址来自 澳大利亚
请问这个怎么放到excel里面去?我的excel没有放代码的? @吴宇

如何用excel编写一个期权计算器

  • 1.webp.jpg
  • 2.webp.jpg
(1)打开Excel-VBA或直接打开Excel按ALT+F11,贴上程序(见最后)。(2)在excel当中建立如图表格,标黄部分需要手动变化。
(3)在C列相应表格输入以下公式。
(4)参数说明。
s,就是标的证券当前价格,文中以上证50ETF为例。
k,就是行权价,假设我们要算的是2.15的call和put。
t,年化的到期剩余日,这 ...查看全文
吴宇 发表于 2016-5-24 16:47 
谢谢分享
39#
omangann  2级吧友 | 2018-9-12 08:52:49 发帖IP地址来自 香港
好东西,谢谢
38#
dengzx  5级知名 | 2018-9-11 21:43:35 发帖IP地址来自 澳大利亚
可以的吧,应该不难
37#
alanswat  1级新秀 | 2018-6-25 15:33:57 发帖IP地址来自 上海
请问能加一个美式二叉树的例子吗
36#
dengzx  5级知名 | 2018-5-3 22:53:16 发帖IP地址来自 澳大利亚
好东西
35#
linlixia881205  6级职业  你也爱末日期权吗? | 2017-7-31 14:38:30 发帖IP地址来自 辽宁大连
期权名人堂积分:暂未上榜发帖:NO. 418 名在线:NO. 365 名
好东西,谢谢
34#
moonpor  4级常客 | 2017-7-18 17:10:58 发帖IP地址来自 重庆
学到很多东西
谢谢分享
32#
JohnD  8级牛人  知耻而后勇 | 2017-6-26 17:51:32 发帖IP地址来自 辽宁大连
期权名人堂积分:NO. 253 名发帖:NO. 163 名在线:NO. 247 名
谢谢楼主的资料
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:38337
帖子:3370
精华:36
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP