为什么用EVEIWS和MATLAB估计EGARCH结果不一样-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

Matlab软件培训

>>

为什么用EVEIWS和MATLAB估计EGARCH结果不一样

为什么用EVEIWS和MATLAB估计EGARCH结果不一样

发布:dustsky | 分类:Matlab软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

我使用MATLAB的工具包中的EGARCH函数估计和在EVEIWS中估计的参数结果差很多,EVEIWS的OMEGA才0.3左右,而MATLAB中却达到-6,怎么办啊,是不是我使用MATLAB的方法不对啊?请高手解答啊MATLAB使用UCSDGARCH包中的EGARC ...
免费学术公开课,扫码加入


我使用MATLAB的工具包中的EGARCH函数估计和在EVEIWS中估计的参数结果差很多,EVEIWS的OMEGA才0.3左右,而MATLAB中却达到-6,怎么办啊,是不是我使用MATLAB的方法不对啊?请高手解答啊
MATLAB使用UCSD GARCH包中的EGARCH函数估计,包中的EGARCH函数如下所示
function [parameters, likelihood, stderrors, robustSE, ht, scores]=egarch(data,p,o,q,errors, options, startingvals);
% PURPOSE:
% E_GARCH(P,Q) parameter estimation with different error distributions, the Normal, The T,
% and the Generalized Error Distribution
%
% USAGE:
% [parameters, likelihood, stderrors, robustSE, ht, scores]=egarch(data,p,o,q,errors, options, startingvals);
%
% INPUTS:
% data: A single column of zero mean random data, normal or not for quasi likelihood
%
% P: Non-negative, scalar integer representing a model order of the ARCH
% process
%
% O: Number of assymetric terms to include
%
% Q: Positive, scalar integer representing a model order of the GARCH
% process: Q is the number of lags of the lagged conditional variances included
% Can be empty([]) for ARCH process
%
% error:The type of error being assumed, valid types are:
% 'NORMAL' - Gaussian Innovations
% 'STUDENTST' - T-distributed errors
% 'GED' - General Error Distribution
%
%
% startingvals: A (1+p+q) (plus 1 if STUDENTT OR GED is selected for the nu parameter) vector of starting vals.
% If you do not provide, a naieve guess of 1/(2*max(p,q)+1) is used for the arch and garch parameters,
% and omega is set to make the real unconditional variance equal
% to the garch expectation of the expectation.
%
% options: default options are below.You can provide an options vector.See HELP OPTIMSET
%
%
% OUTPUTS:
% parameters : a [1+2*p+q X 1] column of parameters with omega, alpha1, alpha2, ..., alpha(p), absolute alpha(1),
% absolute alpha(2), ... , absolute alpha(p), beta1, beta2, ... beta(q)
%
% likelihood = the loglikelihood evaluated at he parameters
%
% robustSE = QuasiLikelihood std errors which are robust to some forms of misspecification(see White 94)
%
% stderrors = the inverse analytical hessian, not for quasi maximum liklihood
%
% ht = the estimated time varying VARIANCES
%
% scores = The numberical scores(# fo params by t) for M testing
%
%
% COMMENTS:
% EGARCH(P,Q) the following(wrong) constratins are used(they are right for the (1,1) case or any Arch case
% (1) nu>2 of Students T and nu>1 for GED
%
% The time-conditional variance, H(t), of a EGARCH(P,Q) process is modeled
% as follows:
%
% log h(t) = Omega + Alpha(1)*r_{t-1}/(sqrt(h(t-1))) + Alpha(2)*r_{t-2}/(sqrt(h(t-2))) +...
% + Alpha(P)*r_{t-p}/(sqrt(h(t-p)))+ Absolute Alpha(1)* abs(r_{t-1}/(sqrt(h(t-1)))) + ...
% + Absolute Alpha(P)* abs(r_{t-p}/(sqrt(h(t-p)))) +Beta(1)* log(H(t-1))
% + Beta(2)*log(H(t-2))+...+ Beta(Q)*log(H(t-q))
%
% Default Options
%
% options=optimset('fmincon');
% options=optimset(options , 'TolFun' , 1e-003);
% options=optimset(options , 'Display' , 'iter');
% options=optimset(options , 'Diagnostics' , 'on');
% options=optimset(options , 'LargeScale', 'off');
% options=optimset(options , 'MaxFunEvals' , '400*numberOfVariables');
%
% Author: Kevin Sheppard
% kevin.sheppard@economics.ox.ac.uk
% Revision: 2 Date: 12/31/2001
t=size(data,1);
warning off
if strcmp(errors,'NORMAL') | strcmp(errors,'STUDENTST') | strcmp(errors,'GED')
if strcmp(errors,'NORMAL')
errortype = 1;
elseif strcmp(errors,'STUDENTST')
errortype = 2;
else
errortype = 3;
end
else
error('error must be one of the three strings NORMAL, STUDENTST, or GED');
end
if size(data,2) > 1
error('Data series must be a column vector.')
elseif isempty(data)
error('Data Series is Empty.')
end
if (length(q) > 1) | any(q < 0)
error('Q must ba a single positive scalar or an empty vector for ARCH.')
end
if (length(p) > 1) | any(p <0)
error('P must be a single positive number.')
elseif isempty(p)
error('P is empty.')
end
if isempty(q) | q==0;
q=0;
m=p;
else
m=max(p,q);
end
if nargin<6 | isempty(options)
options=optimset('fmincon');
options=optimset(options , 'TolFun' , 1e-006);
options=optimset(options , 'Display' , 'iter');
options=optimset(options , 'Diagnostics' , 'on');
options=optimset(options , 'LargeScale', 'off');
options=optimset(options , 'MaxFunEvals' , 400*(2+p+q)) ;
end
stdEstimate =std(data,1);
data =[stdEstimate(ones(m,1)) ; data];
T =size(data,1);
if nargin<7
alpha=-.1*ones(p,1)/(p);
talpha = .2*ones(o,1)/o;
beta =.75*ones(q,1)/q;
Omega=0;
omega=Omega;
LLFold=egarchEstLikelihood([Omega;alpha;talpha;beta], data, p ,o, q, T, stdEstimate, 1);
for i=1:40
Omega=log(std(data)/i);
LLF=egarchEstLikelihood([Omega;alpha;beta], data, p ,o, q, T, stdEstimate, 1);
if LLF<LLFold & LLF~=1e5;
LLFold=LLF;
omega=Omega;
end
end


if strcmp(errors,'STUDENTST')
nu= 100;
elseif strcmp(errors,'GED')
nu = 2;
else
nu=[];
end
else
omega=startingvals(1);
alpha=startingvals(2:p+1);
talpha=startingvals(p+2:p+1+o);
beta=startingvals(p+o+2:p+o+q+1);
end
LB =[];
UB =[];
if errortype == 1
startingvals = [omega ; alpha ; talpha; beta];
else
startingvals = [omega ; alpha ; talpha; beta; nu];
end
% Estimate the parameters.
[parameters, LLF,EXITFLAG,OUTPUT,GRAD] =fminunc('egarchEstLikelihood', startingvals ,options, data, p ,o, q, T, stdEstimate, errortype);
if errortype ==2;
nu = 2.1+parameters(p+o+q+2)^2;
parameters(p+o+q+2) = nu;
elseif errortype ==3;
nu = 1.05+parameters(p+o+q+2)^2;
parameters(p+o+q+2) = nu;
end
if EXITFLAG<=0
EXITFLAG
fprintf(1,'Not Sucessful! \n')
end
[likelihood, ht]=egarchlikelihood(parameters,data,p,o,q,T,stdEstimate,errortype);
hess = hessian_2sided('egarchlikelihood',parameters,data,p,o,q,T,stdEstimate,errortype);
likelihood=-likelihood;
stderrors=hess^(-1);
if nargout > 4
h=min(abs(parameters/2),max(parameters,1e-2))*eps^(1/3);
hplus=parameters+h;
hminus=parameters-h;
likelihoodsplus=zeros(t,length(parameters));
likelihoodsminus=zeros(t,length(parameters));
for i=1:length(parameters)
hparameters=parameters;
hparameters(i)=hplus(i);
[HOLDER, HOLDER1, indivlike] = egarchlikelihood(hparameters,data,p,o,q,T,stdEstimate,errortype);
likelihoodsplus(:,i)=indivlike;
end
for i=1:length(parameters)
hparameters=parameters;
hparameters(i)=hminus(i);
[HOLDER, HOLDER1, indivlike] = egarchlikelihood(hparameters,data,p,o,q,T,stdEstimate,errortype);
likelihoodsminus(:,i)=indivlike;
end
scores=(likelihoodsplus-likelihoodsminus)./(2*repmat(h',t,1));
scores=scores-repmat(mean(scores),t,1);
B=scores'*scores;
robustSE=stderrors*B*stderrors;
end
warning on
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-1137389-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版