楼主: 3080511083
1524 3

[问答] 看涨期权中V值得matlab编程 [推广有奖]

  • 0关注
  • 0粉丝

本科生

50%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
525 点
帖子
33
精华
0
在线时间
161 小时
注册时间
2012-5-8
最后登录
2018-10-23

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币


我想用matlab编程计算看涨期权中v的值

我写的M文件中的程序如下:但是运行不出来

Functiony=myfun(v,f,sigv,e,r,T)

d1=(log(v/f)+(r+0.5*sigv^2)T)/sigv*sqrt(T);

d2=d1-sigv*sqrt(T);

y=v*normcdf(d1,0,1)-f*exp(-rT)*normcdf(d2,0,1)-e;


运行程序:

v(i,1)=fsolve(@(v)myfun(v,f,sigv,e,r,T),[1000000;0.1]);
出现错误:

??? Error using ==> fsolveFSOLVE requires two input arguments.  请各位大神帮我解答一下!非常感谢!


二维码

扫码加我 拉你入群

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

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

关键词:MATLAB编程 MATLAB matla atlab Lab 运行程序 matlab Error

沙发
jujuat 发表于 2014-5-10 16:37:22 |只看作者 |坛友微信交流群
好高端,希望有人能帮到你呢

使用道具

藤椅
3080511083 发表于 2014-5-10 16:39:29 |只看作者 |坛友微信交流群
谢谢楼上,希望有人帮我解答一下,急用啊。

使用道具

板凳
3080511083 发表于 2014-5-10 16:59:52 |只看作者 |坛友微信交流群

x=load('C:\Users\admin\Desktop\12.txt');
n=length(x);
result=zeros(n-1,1);
logresult=zeros(n-1,1);
for i=2:n
   result(i-1)=x(i)/x(i-1);
end
for i=1:n-1
logresult((i))=log(result(i));
end
sige=std(logresult);
e=load('C:\Users\admin\Desktop\123.txt');
r=load('C:\users\admin\desktop\2.txt');
f=load('C:\users\admin\desktop\21.txt');
m=length(e);
e=zeros(m,1);
r=zeros(m,1);
f=zeros(m,1);
for i=1:m
   sigv=sige;
   T(i,1)=1;
   v(i,1)=fsolve(@(v)myfun(v,f,sigv,e,r,T),[1000000;0.1]);
end
v(i,1);
这是我的运行程序




m文件总的程序为:
Function y=myfun(v,f,sigv,e,r,T)
d1=(log(v/f)+(r+0.5*sigv^2)*T)/sigv*sqrt(T);
d2=d1-sigv*sqrt(T);
y=v*normcdf(d1,0,1)-f*exp(-rT)*normcdf(d2,0,1)-e;

出现的错误为:
??? Attempt to execute SCRIPT myfun as a function.


Error in ==> fsolve at 180
        fuser = feval(funfcn{3},x,varargin{:});

求各位大神指点!非常感谢!

使用道具

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

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

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

GMT+8, 2024-9-20 08:17