-1

`

function [LLF, LL, H  ] = garchlike(data)


p=1;
q=1;


 if isempty(q)
    m=p;
 else
     m  =  max(p,q);   
 end

%this are the parameters
psi=[0.01;0.01];
 gamma=[0;0.02;0.02;0];
 lambda=[0;0.03;0.03;0];
  A=[1;-0.04;-0.03;1];

 stdestimate = std(data,1);                      
data   =  [stdestimate ; data];
T =  size(data,1);

B=(reshape(A,2,2))^-1;
%I am squaring each element of the inverse of A
B2=((reshape(A,2,2))^-1).^2;
%getting the Bl matrix(squared interactions)

Bl=[B2(1,:);B(1,:).*B(2,:);B2(2,:)];

garchc=Bl*psi;
garcha=Bl*(reshape(gamma,2,2))*reshape(A.^2,2,2);
garchb= Bl*(reshape(lambda,2,2))*reshape(A.^2,2,2);

H(1,1).day=[0.001; 0; 0; 0.002; ];
%convert to matrix

  H(1,1).day=ivech(H(1,1).day);

for t = (m + 1):T


  H(1,t).day= ivech(garchc + garcha*(diag(H(1,t-1).day))+ garchb*(data((t-1),:).^2)');

end
% Getting the loglikelihood
LLF=zeros(1,T);
%the loklikelihood
for t = (m + 2):T

  LLF(t)= log(det(H(1,t).day))+ data(t,:)/(H(1,t).day)*data(t,:)';

end
t=(m+2):T;
LLF=-LLF(t);
LL=sum(LLF);
`

私はこの機能を上から持っており、fminconを使用して最小化しようとしています:

`  [parameters,LLF,EXITFLAG, OUTPUT,HESSIAN] =  fmincon('garchlike',    [psi;gamma;lambda;A],sumA ,sumB ,[] , [] , LB , UB,[],options, data, p , q);`

が機能しない理由がわからず、次のようなエラーが表示されます。 }); 原因: ユーザーが指定した最初の目的関数の評価に失敗しました。FMINCON は続行できません。"

4

1 に答える 1