matlab如何实现sv模型,matlab关于sv模型的smm估计

求大神帮忙看看代码,我的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值