作者quietfly (黑白照片)
看板Statistics
标题[程式] MATLAB GARCH模型对初始值敏感
时间Wed Oct 26 00:42:02 2011
[软体程式类别]:
MATLAB
[程式问题]:
GARCH(1,1) variance equation加入u与h的交叉项作未变量
再用mle 最优化求解,
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
再用mle 最优化求解,
可是最优参数解对初始值设定非常敏感
只要变动一些些 参数的符号也会跟着变动
有些初始值的设定还会导致无法求解
所以我想问问 是我的程式写错了吗?
其中r,d都是已知的变量
[程式范例]:
function [llf,LogLikelihood]=LLF(para,r,d)
T=length(r);
h=zeros(T,1);
c=para(1);
h(1)=mean((r-ones(T,1)*mean(r)).^2);
u(1:3)=r(1:3)-ones(3,1)*c;
for t=4:T
u(t)=r(t)-c-r(t-1:-1:t-3)'*para(2:4)-para(R+2)*r(t-3)*d(t);
h(t)=para(5)+para(6)*u(t-1)^2+para(7)*h(t-1)+para(8)*d(t)+
para(9)*d(t)*u(t-1)^2+para(10)*d(t)*h(t-1)+
para(11)*d(t)*u(t-1)^2*h(t-1);
end
llf = -sum(log(h(4:T))+((u(4:T)).^2)'./h(4:T));
end
objectionfun = @(para) -LLF(para,r,d);
para0=[-0.001688;0.010819;-0.129009;-0.057876;0;0.15;0.75];
options = optimset('MaxFunEvals',10000000,'MaxIter',100000,'Hessian',
'bfgs','Algorithm','interior-point');
[parae,llfs,exitflag,output] = fminsearch(objectionfun,para0,options);
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 222.29.34.140