⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optim3_d.m

📁 计量工具箱
💻 M
字号:
% PURPOSE: An example of optimization% solving a time-varying parameter model% from Kim and Nelson pages 44-49%                          %---------------------------------------------------% USAGE: optim3_d%---------------------------------------------------clear all;load tvpmoney.data;% column 1 = quarter index%  2: m1===growth rate of quarterly average M1%  3: dint=change in the lagged interest rate (3-month T-bill)%  4: inf==lagged inflation%  5: surpl==lagged full employment budget surplus%  6: m1lag==lag of m1%     1959.3--1987.4, y = tvpmoney(:,2);n = length(y);x = [ones(n,1) tvpmoney(:,3:6)];nparm = 6; % # of parameters to be estimatedntvp = 5;  % # of tvp parameters% initial valuesparm = [0.5        0.1        0.1        0.1        0.1        0.1];            % solve using minz routineinfoz.call = 'other';infoz.maxit = 500;infoz.prt = 1;result1 = maxlik('tvp_like1',parm,infoz,y,x); niter1   = result1.iter;like1    = result1.f;hess1    = result1.hess;parm1 = result1.b;  % solve using frpr_mininfo.maxit = 500;info.prt = 1;result2 = frpr_min('tvp_like1',parm,info,y,x); parm2 = result2.b;niter2   = result2.iter;like2    = result2.f;hess2    = result2.hess;% solve using pow_min routine for comparisoninfo.maxit = 1000;info.prt = 1;result3 = pow_min('tvp_like1',parm,info,y,x);parm3 = result3.b;niter3   = result3.iter;like3    = result3.f;hess3    = result3.hess;% solve using dfp_min routine for comparisoninfo.maxit = 1000;info.prt = 1;result4 = dfp_min('tvp_like1',parm,info,y,x);parm4 = result4.b;niter4   = result4.iter;like4    = result4.f;hess4    = result4.hess;[beta ferror] = tvp_beta(parm1,y,x);% see Figures 3.9 - 3.14tt=11:n;plot(tt,beta(tt,1));pause;plot(tt,beta(tt,2));pause;plot(tt,beta(tt,3));pause;plot(tt,beta(tt,4));pause;plot(tt,beta(tt,5));pause;plot(tt,ferror(tt,1));title('forecast error');pause;plot(tt,ferror(tt,2));title('conditional variance');pause;% compare to the estimates reported in Table 3.2in.fmt = '%9.3f'; fprintf(1,'estimates \n');cnames = strvcat('maxlik','frpr_min','pow_min','dfp_min');in.cnames = cnames;mprint(abs([parm1 parm2 parm3 parm4]),in);fprintf(1,'log likelihood function values \n');mprint([like1 like2 like3 like4],in);in2.fmt = '%12.3f';fprintf(1,'hessians \n');mprint(hess1,in2);mprint(hess2,in2);mprint(hess3,in2);mprint(hess4,in2);in.fmt = '%8d';fprintf(1,'comparison of # of iterations \n');mprint([niter1 niter2 niter3 niter4 ],in);in.fmt = '%9.1f';fprintf(1,'time taken \n');mprint([result1.time result2.time result3.time result4.time],in);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -