楼主: 水漫霖铃
4663 5

[金融] 用蒙特卡洛对期权进行模拟,matlab程序,求大神o改错!!! [推广有奖]

  • 1关注
  • 0粉丝

本科生

36%

还不是VIP/贵宾

-

威望
0
论坛币
1008 个
通用积分
1.4496
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2027 点
帖子
80
精华
0
在线时间
44 小时
注册时间
2013-10-12
最后登录
2017-7-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
function discpayoff=blsmc(s0,K,r,time,sigma,Nu)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%蒙特卡洛方法计算欧式看涨期权的价格      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%输入参数
%s0   股票价格
%K    执行价
%r    无风险利率
%sigma 股票波动的标准差
%Nu   模拟的次数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
randn('seed',0);
nuT=(r-0.5*sigma^2).*time;
sit=sigma*sqrt(time);
N=size(time,2);
  m=1;
for k=1:N
    sT=mean(s0*exp(nuT(m,k)+sit(m,k)*randn(Nu,1)))
discpayoff=exp(-r*time(m,k))*max(0,sT-K);
%期权到期时的现金流
end
end
sT有结果,discpayoff全为零,matlab新手,希望大家给与帮助!!!

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB程序 MATLAB matla atlab 蒙特卡洛 程序 function 蒙特卡洛 股票价格 matlab

沙发
TimeT 发表于 2016-5-24 00:16:06 |只看作者 |坛友微信交流群
我不是很懂MATLAB,不过我猜大概是那句sT=mean(...)有问题,为何要取mean呢?sT是随机变量,不是随机变量的期望。我觉得,discpayoff(这个随机变量)的期望是期权的价值。
你看呢?

使用道具

藤椅
vsksing 发表于 2016-5-24 00:32:18 来自手机 |只看作者 |坛友微信交流群
水漫霖铃 发表于 2016-5-23 14:09
function discpayoff=blsmc(s0,K,r,time,sigma,Nu)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%蒙特卡洛 ...
sT是一个数,这个数小于K,  可不都是0。。。

使用道具

板凳
水漫霖铃 发表于 2016-5-25 11:06:45 |只看作者 |坛友微信交流群
vsksing 发表于 2016-5-24 00:32
sT是一个数,这个数小于K,  可不都是0。。。
事实上,应该只有一小部分是0,所以我感觉全是0是不对的。后来我改了程序,就可以了!

使用道具

报纸
水漫霖铃 发表于 2016-5-25 11:10:15 |只看作者 |坛友微信交流群
TimeT 发表于 2016-5-24 00:16
我不是很懂MATLAB,不过我猜大概是那句sT=mean(...)有问题,为何要取mean呢?sT是随机变量,不是随机变量的 ...
你说的很对,mean这个地方存在理论上的错误,谢谢!!!应该对最后的期权价格取均值,表示对多次模拟的结果取均值的效果,不知道你赞同这种说法吗?

使用道具

地板
TimeT 发表于 2016-6-11 12:57:09 |只看作者 |坛友微信交流群
水漫霖铃 发表于 2016-5-25 11:10
你说的很对,mean这个地方存在理论上的错误,谢谢!!!应该对最后的期权价格取均值,表示对多次模拟的结 ...
同意对多次模拟的结果取均值

使用道具

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

本版微信群
加JingGuanBbs
拉您进交流群

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

GMT+8, 2024-11-6 05:24