📄 tarchlikelihood.m
字号:
function [LLF, h, likelihoods] = tarchlikelihood(parameters , data , p, o, q, m, stdEstimate, type)
% PURPOSE:
% Likelihood tarch and gjrarch
%
% USAGE:
% [LLF, grad, hessian, h, scores, robustse] = tarchlikelihood(parameters , data , p , o, q, m, stdEstimate)
%
%
% INPUTS:
% parameters: A vector of GARCH process aprams of the form [constant, arch, garch]
% data: A set of zero mean residuals
% p: The lag order length for ARCH
%` 0: The lag order lenth for TARCH
% q: The lag order length for GARCH
% m: The max of p and q
% stdEstimate: The sample standard deviation of the data
%
%
% OUTPUTS:
% LLF: Minus 1 times the log likelihood
% h: The time series of conditional variances implied by the parameters and the data
% likelihoods: A by 1 vector of likelihoods
%
%
% COMMENTS:
% This is a helper function for tarch
%
%
% Author: Kevin Sheppard
% kevin.sheppard@economics.ox.ac.uk
% Revision: 2 Date: 12/31/2001
parameters(find(parameters <= 0)) = realmin;
if isempty(q)
m=max(p,o);
else
m = max([p q o]);
end
T = size(data,1);
dataneg=(data<0).*data;
dataneg(1:m)=data(1)/2;
if type==1
h=tarchcore(abs(data),abs(dataneg),parameters,stdEstimate,p,o,q,m,T);
h=h.^2;
else
h=tarchcore(data.^2,dataneg.^2,parameters,stdEstimate^2,p,o,q,m,T);
end
t = (m + 1):T;
h=h(t);
likelihoods = 0.5 * (log(h) + (data(t).^2)./h + log(2*pi));
LLF=sum(likelihoods);
if isnan(LLF)
LLF=1e+6;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -