The theoretical autocovariances can be computed with block option
parent
567ef44f6d
commit
b4b2f21695
|
@ -63,30 +63,36 @@ ghx = dr.ghx;
|
|||
ghu = dr.ghu;
|
||||
npred = dr.npred;
|
||||
nstatic = dr.nstatic;
|
||||
kstate = dr.kstate;
|
||||
order_var = dr.order_var;
|
||||
inv_order_var = dr.inv_order_var;
|
||||
|
||||
nx = size(ghx,2);
|
||||
|
||||
ikx = [nstatic+1:nstatic+npred];
|
||||
|
||||
k0 = kstate(find(kstate(:,2) <= M_.maximum_lag+1),:);
|
||||
i0 = find(k0(:,2) == M_.maximum_lag+1);
|
||||
i00 = i0;
|
||||
n0 = length(i0);
|
||||
AS = ghx(:,i0);
|
||||
ghu1 = zeros(nx,M_.exo_nbr);
|
||||
ghu1(i0,:) = ghu(ikx,:);
|
||||
for i=M_.maximum_lag:-1:2
|
||||
i1 = find(k0(:,2) == i);
|
||||
n1 = size(i1,1);
|
||||
j1 = zeros(n1,1);
|
||||
for k1 = 1:n1
|
||||
j1(k1) = find(k0(i00,1)==k0(i1(k1),1));
|
||||
if options_.block == 0
|
||||
%order_var = dr.order_var;
|
||||
inv_order_var = dr.inv_order_var;
|
||||
kstate = dr.kstate;
|
||||
ikx = [nstatic+1:nstatic+npred];
|
||||
k0 = kstate(find(kstate(:,2) <= M_.maximum_lag+1),:);
|
||||
i0 = find(k0(:,2) == M_.maximum_lag+1);
|
||||
i00 = i0;
|
||||
n0 = length(i0);
|
||||
AS = ghx(:,i0);
|
||||
ghu1 = zeros(nx,M_.exo_nbr);
|
||||
ghu1(i0,:) = ghu(ikx,:);
|
||||
for i=M_.maximum_lag:-1:2
|
||||
i1 = find(k0(:,2) == i);
|
||||
n1 = size(i1,1);
|
||||
j1 = zeros(n1,1);
|
||||
for k1 = 1:n1
|
||||
j1(k1) = find(k0(i00,1)==k0(i1(k1),1));
|
||||
end
|
||||
AS(:,j1) = AS(:,j1)+ghx(:,i1);
|
||||
i0 = i1;
|
||||
end
|
||||
AS(:,j1) = AS(:,j1)+ghx(:,i1);
|
||||
i0 = i1;
|
||||
end
|
||||
else
|
||||
ghu1 = zeros(nx,M_.exo_nbr);
|
||||
trend = 1:M_.endo_nbr;
|
||||
inv_order_var = trend(M_.block_structure.variable_reordered);
|
||||
ghu1(1:length(dr.state_var),:) = ghu(dr.state_var,:);
|
||||
end;
|
||||
b = ghu1*M_.Sigma_e*ghu1';
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue