作者nicke (.........)
看板Option
标题[问题]想请教一下程式码的问题
时间Fri Mar 6 13:02:45 2009
我想询问版上的高手
有用VBA写过股价走势的吗
想询问VBA程式码该如何写
Public Function mcasiancall(s, k, r, sg, t, n, m)
Dim st()
ReDim st(n)
st(0) = s
dt = t / n
temp2 = 0
For i = 1 To m
temp1 = 0
For j = 1 To n
randn = Application.WorksheetFunction.NormInv(Rnd, 0, 1)
st(j) = st(j - 1) * Exp((r - sg ^ 2 / 2) * dt + sg * Sqr(dt) * randn)
temp1 = temp1 + st(j)
Next
temp2 = temp2 + max(temp1 / n - k, 0)
Next
mcasiancall = Exp(-r * t) * temp2 / m
End Function
以上是买权卖权的随机价格
那如果我想改成大盘股价走势
也就是参数换成成长率跟波动率
我要怎麽改 比较简单
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.89.1
1F:→ wave1et:先把你试的po上来吧,你这样问谁知道问题在那 03/06 13:13
※ 编辑: nicke 来自: 118.171.89.1 (03/06 13:31)
2F:→ yuekun:虽然大致上看得懂你的变数 但你好歹也定义一下吧 03/07 14:32
3F:→ yuekun:这应该是亚式的选择权 其实你用蒙地卡罗先把股价存在一个 03/07 14:33
4F:→ yuekun:array再做平均就好了 现在记忆体这麽大 不用用这种写法来 03/07 14:34
5F:→ yuekun:节省记忆体 我用过100万次的蒙地卡罗 CPU1.3G RAM1G 来跑 03/07 14:35
6F:→ yuekun:大概1分钟可以知道结果 这是我的经验 03/07 14:36