楼主: 邵伟学经济
1205 0

[问答] 用MATLAB做期权定价 哪位大侠帮忙看一下哪里出错了 [推广有奖]

  • 3关注
  • 3粉丝

已卖:314份资源

大专生

45%

还不是VIP/贵宾

-

威望
0
论坛币
601 个
通用积分
0.1800
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
792 点
帖子
34
精华
0
在线时间
27 小时
注册时间
2009-6-1
最后登录
2014-6-23

楼主
邵伟学经济 发表于 2012-4-26 10:57:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
t=0:0.001:1;%时间跨度

dt=0.001;%时间间隔
z=zeros(1001,1);%预留计算内存空间
s=zeros(1001,1);
c=zeros(1001,1);
R=zeros(1001,1);
p=0.1;%假设股票收益率满足ds/s=p*dt+sig*dZ
sig=0.29;
s(1)=15;%股票现价
r=0.035;%无风险利率
k=17;%执行价
for i=1:1000;
z(i)=dt^0.5*randn(1);
R(i)= dt*p+sig*z(i);
s(i+1)=s(i)+s(i)*R(i);
d1=(log(s(i)/k)+(r+0.5*sig^2)*(1-t(i)))/sqrt(sig^2*(1-t(i)));
d2=(log(s(i)/k)+(r-0.5*sig^2)*(1-t(i)))/sqrt(sig^2*(1-t(i)));
c(i)=s(i)*normcdf(d1,0,1)-k*exp(-r*(1-t(i)))*normcdf(d2,0,1);
end
dd1=(log(s(1001)/17)+(r+0.5*sig^2)*(1-1))/sqrt(sig*(1-t(1001))+eps);
dd2=(log(s(1001)/17)+(r-0.5*sig^2)*(1-t(1001)))/sqrt(sig*(1-t(1001))+eps);
c(1001)=s(1001)*normcdf(dd1,0,1)-k*exp(-r*(1-t(1001)))*normcdf(dd2,0,1);
plot(t,s,'b'),grid on
xlabel('时间t');ylabel('股票价格S')
hold on
line([0,1],[15,15],'color','c')
line([0,1],[17,17],'color','g')
h1=gca %获得并保留当前图形的坐标句柄
h2=axes('position',get(h1,'position'))%创建新坐标并保留,h2和h1的位置是一样的
plot(t,c,'r')
set(h2,'yaxislocation','right','color','none')
ylabel('期权价格C')
hold off



这里假设股票收益率服从带漂移的维纳过程。模拟一条股价波动轨迹,再利用布莱克-舒尔斯方程求出相应点的期权价格。
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB 哪里出错了 matla atlab 期权定价 收益率 空间

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-12 05:48