📄 prt_coint.m
字号:
function prt_coint(result,vnames,fid)% PURPOSE: Prints output from co-integration tests% adf,cadf,johansen,phillips%---------------------------------------------------% USAGE: prt_coint(results,vnames,fid,eflag)% Where: results = a structure returned by a co-integration test% vnames = an optional vector of variable names% fid = file-id for printing results to a file% (defaults to the MATLAB command window)%--------------------------------------------------- % e.g. vnames = ['y ',% 'x1 ', NOTE: fixed width% 'x2 ', like all MATLAB% 'cterm'];% e.g. fid = fopen('coint.out','wr');% --------------------------------------------------% RETURNS:% nothing, just prints the co-integration test results% --------------------------------------------------% NOTES: you may use prt_coint(results,[],fid) to print% output to a file with no vnames% -------------------------------------------------- % SEE ALSO: prt%--------------------------------------------------- % written by:% James P. LeSage, Dept of Economics% University of Toledo% 2801 W. Bancroft St,% Toledo, OH 43606% jlesage@spatial-econometrics.com% revised 10/10/2000% to fix error in mprint fid% Thanks to JChapman@bank-banque-canada.ca% for pointing out this error % if nargin < 1; error('wrong # of arguments to prt_coint'); end;if nargin > 3; error('wrong # of arguments to prt_coint'); end;nflag = 0;if nargin == 1; fid = 1; end;if nargin == 2; nflag = 1; fid = 1; end;if nargin == 3; [vsize junk] = size(vnames); % user may supply a blank argument if vsize > 0 nflag = 1; end;end;% --------------------------------------------------------switch result.meth case {'johansen'} % <=================== johansen tests [nvar junk] = size(result.eig);% make some up variable namesVname = [];% recover variable order indexindex = result.ind;for i=1:nvar Vname(i,:) = str2mat(['variable ',num2str(index(i))]);end;if (nflag == 1) % the user supplied variable names[tst_n nsize] = size(vnames); if tst_n ~= nvar fprintf(fid,'Wrong # of variable names in prt_coint -- check vnames argument \n'); fprintf(fid,'will use generic variable names \n'); nflag = 0; else,% recover variable order indexindex = result.ind; Vname = []; for i=1:nvar Vname = strvcat(Vname,vnames(index(i),:)); end; end; % end of if-elseend; % end of nflag issuername = 'NULL:';for i=1:nvartmp = ['r <= ',num2str(i-1)];tmp = [tmp,' '];tmp = [tmp,Vname(i,:)];rname = strvcat(rname,tmp);end;cname = strvcat('Trace Statistic','Crit 90%','Crit 95%','Crit 99%');prtmat = [result.lr1 result.cvt];in.cnames = cname;in.rnames = rname;in.fmt = '%16.3f';in.fid = fid;fprintf(fid,'\n Johansen MLE estimates \n');mprint(prtmat,in);cname = strvcat(' Eigen Statistic','Crit 90%','Crit 95%','Crit 99%');in.cnames = cname;prtmat = [result.lr2 result.cvm];mprint(prtmat,in);% end of Johansen case {'adf'} % <=================== adf testsif ( nflag == 0) % no variable names supplied, make some upVname = [];for i=1:1 Vname{i} = str2mat(['variable ',num2str(i)]);end;elseif (nflag == 1) % the user supplied variable namesVname = [];[tst_n nsize] = size(vnames);nmax = min(nsize,16); % truncate vnames to 16-charactersfor i=1:1Vname{i} = vnames(i,1:nmax);end;end; % end of nflag issue fprintf(fid,'\nAugmented DF test for unit root variable: %30s \n',Vname{1}); in.cnames = strvcat('ADF t-statistic','# of lags','AR(1) estimate'); in.fmt = strvcat('16.6f','%10d','%16.6f'); tmp = [result.adf result.nlag result.alpha]; mprint(tmp,in); in2.cnames = strvcat('1% Crit Value','5% Crit Value','10% Crit Value'); in2.fmt = '%16.3f'; in2.fid = fid; mprint(result.crit(1:3)',in2); case {'cadf'}if ( nflag == 0) % no variable names supplied, make some upVname = [];for i=1:2 Vname{i} = str2mat(['variable ',num2str(i)]);end;elseif (nflag == 1) % the user supplied variable namesVname = [];[tst_n nsize] = size(vnames);if tst_n ~= 2error('Wrong # of variable names in prt_coint -- check vnames argument');end;nmax = min(nsize,16); % truncate vnames to 16-charactersfor i=1:2Vname{i} = vnames(i,1:nmax);end;end; % end of nflag issue fprintf(fid,'\n Augmented DF test for co-integration'); fprintf(fid,' variables: %30s \n',strjust([Vname{1},',',Vname{2}])); in.cnames = strvcat('CADF t-statistic','# of lags','AR(1) estimate'); in.fmt = strvcat('16.8f','%10d','%16.6f'); tmp = [result.adf result.nlag result.alpha]; mprint(tmp,in); in2.cnames = strvcat('1% Crit Value','5% Crit Value','10% Crit Value'); in2.fmt = '%16.3f'; in2.fid = fid; mprint(result.crit(1:3)',in2); % end of cadf case {'phillips'}if ( nflag == 0) % no variable names supplied, make some upVname = [];for i=1:2 Vname{i} = str2mat(['variable ',num2str(i)]);end;elseif (nflag == 1) % the user supplied variable namesVname = [];[tst_n nsize] = size(vnames);if tst_n ~= 2error('Wrong # of variable names in prt_coint -- check vnames argument');end;nmax = min(nsize,16); % truncate vnames to 16-charactersfor i=1:2Vname{i} = vnames(i,1:nmax);end;end; % end of nflag issue fprintf(fid,'\n Phillips-Peron test for co-integration'); fprintf(fid,' variables: %30s \n',strjust([Vname{1},',',Vname{2}])); in.cnames = strvcat('Phillips-Peron statistic','# of lags','AR(1) estimate'); in.fmt = strvcat('16.8f','%10d','%16.6f'); tmp = [result.pstat result.nlag result.alpha]; mprint(tmp,in); in2.cnames = strvcat('1% Crit Value','5% Crit Value','10% Crit Value'); in2.fmt = '%16.3f'; in2.fid = fid; mprint(result.crit(1:3)',in2); % end of phillips otherwiseerror('results structure not known by prt_coint function');end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -