全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1027 3
2020-03-26
求大神帮忙看看代码,我的y1-y4是不是写错了,对fun的最小值参数估计用optimset函数吗?
function [fun] = fun(parameter,lmt,ret)
%-----------------model-----------------------
%lmts(t)=lmt(t)^phi
%ret(t)=lmts(t-1)*rat(t)
%rat(t)=hat(t)^0.5*randn(1)
%ln(hat(t))=omega+alpha*ln(hat(t-1))+beta*randn(1)

omega=parameter(1);
alpha=parameter(2);
beta=parameter(3);
phi=parameter(4);
T=length(ret);

for k=1:T
    lmts(k)=(lmt(k))^phi;
    rat(k)=ret(k)/lmts(k);   
end

hat(1)=sum(rat.^2)/T;

for k=2:T
    hat(k)=exp(omega+alpha*ln(hat(k-1))+beta*randn(1));
end

    lmts(1)=(lmt(1))^phi;
    ratsim(1)=ret(1)/lmts(1);   

hatsim(1)=sum(rat.^2)/T;
for k=2:T
    hatsim(k)=exp(omega+alpha*log(hatsim(k-1))+beta*randn(1));
    ratsim(k)=hatsim(k)^0.5*randn(1);
end
    y1=sum(abs(rat)-abs(ratsim))^2;
    y2=sum(rat.^2-ratsim.^2)^2;
    y3=sum(rat.*lag(rat)-ratsim.*lag(ratsim))^2;
    y4=sum(abs(rat.*lag(rat))-abs(ratsim.*lag(ratsim)))^2;
    fun=y1+y2+y3+y4;
end

二维码

扫码加我 拉你入群

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

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

全部回复
2020-3-26 21:43:44
复制代码
二维码

扫码加我 拉你入群

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

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

2020-3-26 21:44:49
初学matlab,很多都不懂,请大神帮帮我
二维码

扫码加我 拉你入群

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

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

2020-3-29 11:16:53
水轻轻 发表于 2020-3-26 21:44
初学matlab,很多都不懂,请大神帮帮我
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群