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);`
Я не знаю, почему не работает и дает мне ошибку: . «Ошибка при помощи garchlike ошибки с помощью garchlike Слишком много входных аргументов ошибки в fmincon (строка 631) initVals.f = feval (funfcn {3}, Х, varargin {:}); Са используется: Ошибка при первоначальной оценке объективной функции пользователя. FMINCON не может продолжаться «
пожалуйста, отформатируйте его лучше. Это неразборчиво. – Memming
Что возвращает 'garchlike' в исходное состояние? – Memming
garchlike вернет loglikelihood (1x800) LLf, затем сумму loglikelihood LL (одно значение) и Ht (изменяющие время матрицы 3x3). – Lauritta