楼主: zsumanager
3770 8

[学科前沿] 求高手,用EXCEL求多期美式期权价格的VBA代码 [推广有奖]

  • 0关注
  • 0粉丝

本科生

28%

还不是VIP/贵宾

-

威望
0
论坛币
111 个
通用积分
1.0000
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1099 点
帖子
59
精华
0
在线时间
107 小时
注册时间
2010-3-22
最后登录
2019-4-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
u=1.1
d=0.2
r=0.0003
期数n=20
股票价格s=50
行权价格x=50
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:用excel EXCEL 美式期权 xcel exce 股票价格 EXCEL

回帖推荐

owen123456 发表于9楼  查看完整内容

再说明一下吧:美式期权与欧式期权的(用CRR)计算的话,最后一期的价值是一样的,但前期的价值不一样,美式每次都要求最大值("行权收益与欧式方法"计算值比较),欧式则不用,根据这个思想去改吧

owen123456 发表于6楼  查看完整内容

Option Base 0 'arrays number from 0 Function BinOptVal(iopt, S, X, r, q, tyr, sigma, nstep) 'code for European Options CRR 'returns binomial option value,European only where iopt=1 for call,-1 for put Dim u, d, p, pstar Dim i As Integer, j As Integer Dim vvec As Variant ReDim vvec(nstep) 'known size of vector 'calculate parameters u=Exp(sigma*Sqr(tyr/nstep)) d=1/u p=Exp(r-q)*Sqr(tyr/ ...

本帖被以下文库推荐

沙发
zsumanager 发表于 2011-7-6 19:00:59 |只看作者 |坛友微信交流群
有人会吗?

使用道具

藤椅
zsumanager 发表于 2011-7-6 19:01:24 |只看作者 |坛友微信交流群
有人会吗?急

使用道具

板凳
shocksky 发表于 2011-7-6 20:01:10 |只看作者 |坛友微信交流群
你用的是binomial法吧,不是BS来求的吧!
自己找本vba的书去看看吧,不是很难的。
不以赚钱为目的的投资就是耍流氓!!

使用道具

报纸
supershancky 发表于 2011-7-7 01:06:02 |只看作者 |坛友微信交流群
DerivaGem~~~~~
有时候我们恋上文字,那都是寂寞惹的祸~~

使用道具

地板
owen123456 发表于 2011-7-7 15:57:05 |只看作者 |坛友微信交流群
Option Base 0  'arrays number from 0
Function BinOptVal(iopt, S, X, r, q, tyr, sigma, nstep)  'code for European Options CRR
'returns binomial option value,European only where iopt=1 for call,-1 for put
Dim u, d, p, pstar
Dim i As Integer, j As Integer
Dim vvec As Variant
ReDim vvec(nstep)   'known size of vector
'calculate parameters
u=Exp(sigma*Sqr(tyr/nstep))
d=1/u
p=Exp(r-q)*Sqr(tyr/nstep)-d/(u-d)
pstar=1-p
'calculating vector of of option values after nstep
  For i = 0 To nstep
  vvec(i) = Application.Max(iopt * (S *( u ^ i) * (d ^ (nstep - i)) - X), 0)
  Next i
  'claculating conditional payoff & discounting back step-by-step
    For j = nstep - 1 To 0
      For i = 0 To j
                   vvec(i) = (p * vvec(i + 1) + pstar * vvec(i)) / erdt
      Next i
    Next j
    BinOptVal = vvec(0)
End Function
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
见路不走 + 5 + 5 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 5  论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

7
owen123456 发表于 2011-7-7 15:58:15 |只看作者 |坛友微信交流群
不好意思,没看清楚,这是欧式的,

使用道具

8
owen123456 发表于 2011-7-7 16:00:23 |只看作者 |坛友微信交流群
不好意思,没看清楚,这是欧式的,你改下相关的参数

使用道具

9
owen123456 发表于 2011-7-7 16:29:22 |只看作者 |坛友微信交流群
再说明一下吧:美式期权与欧式期权的(用CRR)计算的话,最后一期的价值是一样的,但前期的价值不一样,美式每次都要求最大值("行权收益与欧式方法"计算值比较),欧式则不用,根据这个思想去改吧

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 17:26