全部版块 我的主页
论坛 经济学论坛 三区 宏观经济学
13588 28
2013-07-31
哪位专家可以指导一下,在dynare中如何做历史方差分解?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-7-31 22:28:36
看USER GUIDE吧,这个一句两句也说不清楚啊。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-1 10:44:33
きずな 发表于 2013-7-31 22:28
看USER GUIDE吧,这个一句两句也说不清楚啊。。
USER GUIDE没有介绍历史方差分解这一块啊,能加个好友吗?QQ:806020185
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-1 15:05:01
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-1 22:40:38
xu_junyi 发表于 2013-8-1 10:44
USER GUIDE没有介绍历史方差分解这一块啊,能加个好友吗?QQ:806020185
历史方差分解应该是在参数推定里面可以遇到的吧,发给你一个dynare的代码,运行过以后会自动生成一个excel的文档,打开以后把数据做成图表就是你说的历史方差分解吧?具体的我也在学,应为参数估计这一块我学的不好,不一定能帮到你

var x ppi a ii v ppiact;
varexo e u errppi;

parameters beta gamma omega phi_pi phi_y rho_A rho_v;

beta = 0.99;
gamma = 1;
omega = 0.8;
phi_pi = 0.5;
phi_y = 0.5;
rho_A = 0.9;
rho_v = 0.9;

model(linear);
# kappa = (1-omega)*(1-omega*beta)*(gamma+1)/omega;
ppi = beta*ppi(+1)+kappa*x;
x = x(+1)-(ii-ppi(+1))+(rho_A-1)*a;
ii = (phi_pi+1)*ppi + phi_y*x + v;
a = rho_A*a(-1) + e;
v = rho_v*v(-1) + u;
ppiact = ppi + errppi;
end;

shocks;
var e; stderr 0.5;
var u; stderr 0.5;
var errppi; stderr 0.5;
end;


steady;

check;

estimated_params;
gamma, gamma_pdf, 1, 0.5;
omega, beta_pdf, 0.8, 0.1;
phi_pi, gamma_pdf, 0.5, 0.25;
phi_y, gamma_pdf, 0.5, 0.25;
rho_A, beta_pdf, 0.8, 0.05;
rho_v, beta_pdf, 0.8, 0.1;
stderr e, inv_gamma_pdf, 0.5, 0.5;
stderr u, inv_gamma_pdf, 0.5, 0.5;
stderr errppi, inv_gamma_pdf, 0.5, 0.5;
end;

varobs x ppiact ii;

estimation(datafile=dset, mh_replic=125000, mh_drop = 0.25, mh_nblocks=2, mh_jscale=0.7, mode_compute = 4);

shock_decomposition;

util_csvwrite('histdecomp_x.csv',reshape(oo_.shock_decomposition(1,:,:),5,76)' ,{'e', 'u', 'errppi', 'init', 'x'});
util_csvwrite('histdecomp_pi.csv',reshape(oo_.shock_decomposition(2,:,:),5,76)' ,{'e', 'u', 'errppi', 'init', 'pi'});
util_csvwrite('histdecomp_i.csv',reshape(oo_.shock_decomposition(4,:,:),5,76)' ,{'e', 'u', 'errppi', 'init', 'i'});
util_csvwrite('histdecomp_piact.csv',reshape(oo_.shock_decomposition(6,:,:),5,76)' ,{'e', 'u', 'errppi', 'init', 'piact'});

chain1 = [];
chain2 = [];
for i = 1:11
  load(strcat('./NK_Linear_EST/metropolis/NK_Linear_EST_mh',num2str(i),'_blck1.mat'))
  chain1 = [chain1; x2];
  load(strcat('./NK_Linear_EST/metropolis/NK_Linear_EST_mh',num2str(i),'_blck2.mat'))
  chain2 = [chain2; x2];
end

varnames = {'gamma', 'omega', 'phi_pi', 'phi_y', 'rho_A', 'rho_v', 'stderr_e', 'stderr_u', 'stderr_errppi'};
util_csvwrite('chain1.csv',chain1, varnames);
util_csvwrite('chain2.csv',chain2, varnames);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-1 22:46:09
きずな 发表于 2013-8-1 22:40
历史方差分解应该是在参数推定里面可以遇到的吧,发给你一个dynare的代码,运行过以后会自动生成一个exce ...
对了,没有数据,你告诉我邮箱吧,我发给你完整的数据和代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群