📄 tvp_d.m
字号:
% PURPOSE: An example using tvp(),
% prt(),
% plt(),
% time-varying parameter model estimation
%---------------------------------------------------
% USAGE: tvp_d
%---------------------------------------------------
% Example taken from Kim and Nelson (1999)
% State-Space Models with Regime Switching
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)];
[n k] = size(x);
vnames = strvcat('m1 growth','constant','dinterest', ...
'inflation','surplus','m1lag');
priorb0 = zeros(k,1); % diffuse prior for b
priorv0 = eye(k)*50; % diffuse prior for sigb
% do Zellner g-prior variant of the model
parm2 = [0.5 % sige
1.0]; % delta
info2.delta = 1.0; % this turns on Zellner g-prior variant
info2.start = 11;
info2.b0 = priorb0; % match prior used above
info2.v0 = priorv0;
info2.prt = 1; % turn on printing intermediate optimization results
result2 = tvp(y,x,parm2,info2);
prt(result2,vnames);
plt(result2,vnames);
% do full-variant of the model
% initial values
parm = [0.5 % sige
0.1 % sigb1
0.1 % sigb2
0.1 % .
0.1 % .
0.1];
%info.prt = 1; % turn off printing of brief
% intermediate optimization results
info.start = 11; % start in 64Q1 (as in Kim-Nelson)
info.b0 = priorb0; % to match Kim-Nelson prior
info.v0 = priorv0;
result = tvp(y,x,parm,info);
prt(result,vnames);
% compare to Table 3.2 page 45
plt(result,vnames);
% compare to Figures 3.9 to 3.14
start = info.start;
% compare estimates
clf;
tt=start:n;
for i=1:k;
plot(tt,result.beta(:,i),tt,result2.beta(:,i),'--');
legend('tvp','tvp g-prior');
pause;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -