怎么用 Excel 做蒙特卡洛模拟

 我来答
小鹿别死f0794cf
2020-09-19
知道答主
回答量:96
采纳率:0%
帮助的人:8.2万
展开全部

下面试模拟一只股票价格的例子。假设股票价格的对数收益率服从正态分布,均值为0,每日变动标准差为0.1,模拟股票价格1年的路径,过程如下:

用到两个内置函数,即用rand()来产生0到1之间的随机数,然后用norminv()来获得服从既定分布的随机数,即收益率样本=norminv(rand(), 0, 0.1)。假定股票价格的初始值是100元,那么模拟的价格就是 S=100 * exp(cumsum(收益率样本))。

其中的cumsum()不是Excel的内置函数,其意思就是收益率样本的累积,每个时刻的值都是当前样本及此前所有样本的和,如,收益率样本从单元格C3开始,当前计算C15对应的模拟价格,则模拟价格计算公式是:100 * exp(sum($C$3:C15))。

由此可以得到股票价格的一条模拟路径。

其他非正态分布也可以通过类似方式得到分布的抽样,即分布函数的逆函数,这些函数Excel都内置了。所以,做蒙特卡洛模拟的时候,关键是先确定所需模拟的分布,然后进行抽样,然后应用层面的各种公式就可以在抽样的基础上进行计算了。


根据上面提到的思路,其实可以很便捷地为期权做定价。下面就用蒙特卡洛方法为一个普通的欧式看涨期权定价(蒙特卡洛在为普通期权plain vanilla option定价时不占优势,因为相对于解析法而言计算量很大。但是,如果要给结构比较复杂的奇异期权定价时,可能蒙特卡洛法就比较实用,有时可能成为唯一的方法)。

1)假设这个期权是欧式看涨期权,行权价格为50元,标的股票当前的价格也是50元,期权剩余时间是1天。

2)假设标的股票的价格服从对数正态分布,即股票的每日收益率服从正态分布,均值为0,每日标准差为1%。

根据分布假设,首先用rand()函数产生在0到1之间的均匀分布样本。为了提高精确度,这里抽样的数量为1000个(其实1000个是很少的了,通常需要10万个甚至50万个,但是在Excel表格中操作这么多数字,不方便,这是Excel的不足之处)。

下一步,用norminv(probability, mean, std)函数来获得股票收益率分布的1000个抽样,其中的probability参数由rand()产生的抽样逐个代入,mean=0.0, std = 0.01。注意这里抽样得到的日度收益率。也就是说,这个样本对应的下一个交易日股票价格的收益率分布。

下一步,股票价格=50×exp(收益率样本),得到股票价格分布的抽样,有1000个样本。

根据我做的实验,这1000个样本的分布图形(histogram)跟对数正态分布是比较接近的,如下图所示:

图的横轴是股票价格,纵轴是样本中出现的频率。

得到了股票价格未来一天分布的样本之后,就可以以此样本来计算期权的价格了。

欧式看涨期权的定义为:

C=max(S-K,0)

所以,根据这个计算公式可以计算出在到期那天在特定的价格下期权的价值。在Excel中,相当于 期权价值=max(股票价格样本 - 50,0)。由此就可以得到了该期权未来1天价值的样本。

然后,将未来价值贴现回来(用无风险利率贴现,假设无风险利率为0.05,则贴现公式是=exp(-0.05/360)×期权价值,得到期权价格的1000个样本。

最后,对期权价格的1000个样本求平均,Excel函数average(期权价格样本),就可以得到期权的价格了。

我这里算出来的是:0.2015元。

而根据Black-Scholes期权定价公式算出来的理论价格则是0.2103元。二者比较接近,但是还是有差距。

而且,每次刷新Excel表格,就重新做一次模拟,得到的模拟价格变动比较大,有时是0.2043元,有时是0.1989元。由于这个抽样的数量比较小(1000个样本),所以估算的结果受到样本的影响会比较大。如果把抽样数量提高100倍甚至500倍,那么样本变动的影响可能会小一个或者两个数量级。但是计算量就大了,如果计算机性能不够高,那么利用Excel来做的话,比较困难。

这就是我的工作台:




最后,做完这个还是蛮有成就感的。

123
2016-06-04 · 知道合伙人数码行家
123
知道合伙人数码行家
采纳数:12960 获赞数:94613
000000000000

向TA提问 私信TA
展开全部
excel有一个add-in,叫做“@risk”,我上课时就是用这个做的蒙特卡洛,很好用。但这个add in好像价格很高(250刀?),palisade公司出的,package里还有其他的插件工具,比如说树状图之类的,也挺好用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式