全部版块 我的主页
论坛 经济学论坛 三区 宏观经济学
3136 6
2018-12-19
各位大佬~小弟最近在学习DSGE,得到了中国工业经济的一个dsge代码
不过小弟比较菜  只会使用dynare  小弟发现该代码并不能被matlab中的dynare所识别,故向各位论坛大佬求教,有大佬知道以下程序该如何运行嘛~

感谢中国工业经济对此代码的无私奉献~如需引用,请注明:
庄子罐等:货币政策的宏观经济效应研究:预期与未预期冲击视角
参见在《中国工业经济》网站(http://www.ciejournal.org)附件下载。
附:程序代码


%estimate a flexible model with monetary policy shocks feature an anticipated component and an unanticipated component.

var C R pi I Q K Y Z L r w esp_l esp_c esp_p esp_i esp_w dy dc di dpi dR esp_R;//m v esp_M;

varexo e_Z e_p e_w e_R0 e_l e_i e_c;//e_R4;//e_M0;//e_M3;

parameters b sigma_c sigma_l beta phi delta r_bar C_bar Y_bar I_bar K_bar alpha gamma_p ksai_p gamma_w ksai_w lamda1 lamda2 lamda3 lamda4

rho_R R_bar L_bar w_bar lamda_p lamda_w Z_bar Q_bar rho_l rho_i rho_c rho_Z rho_p rho_w u_bar;//rho_v rho_M ksai1 ksai2 sigma_m;

b=0.6;

sigma_c=1.2;

beta=0.98;

phi=0.2;

delta=0.025;

alpha=0.6;

gamma_p=0.16;

ksai_p=0.8;

ksai_w=0.6;

gamma_w=0.35;

sigma_l=3;

lamda1=0.8;

lamda2=2.6;

lamda3=3;

lamda4=0.6;

lamda_p=0.2;

lamda_w=0.05;

rho_R=0.5;

rho_l=0.5;

rho_i=0.5;

rho_c=0.3;

rho_Z=0.8;

rho_p=0.3;

rho_w=0.4;

//the steady condition

Z_bar=1;

Q_bar=1;

R_bar=1/beta;

r_bar=1/beta -(1-delta);

w_bar=(1-alpha)*(((1+lamda_p)^-1)*Z_bar*((alpha/r_bar)^alpha))^(1/(1-alpha));

Y_bar=((1/(1-b))*(w_bar/(1+lamda_w))^(1/sigma_c)*(Z_bar^(-1)*((1-alpha)*r_bar/(alpha*w_bar))^alpha)^(-sigma_l/sigma_c) )^(1/(1+sigma_l/sigma_c))*(1-delta*Z_bar^(-1)*((1-alpha)*r_bar/(alpha*w_bar))^(alpha-1) )^(-1/(1+sigma_l/sigma_c));

K_bar=Z_bar^(-1)*((1-alpha)*r_bar/(alpha*w_bar))^(alpha-1)*Y_bar;

I_bar=delta*K_bar;

L_bar=((1-alpha)*r_bar/(alpha*w_bar))*K_bar;

C_bar=Y_bar-I_bar;

model(linear);

//the cosumption equation

C=(b/(1+b))*C(-1)+(1/(1+b))*C(1)-((1-b)/((1+b)*sigma_c))*(R-pi(1)+esp_c(1)-esp_c);

//the investment equation

I=(1/(1+beta))*I(-1)+(beta/(1+beta))*I(1)+(phi/(1+beta))*Q+(1/(1+beta))*(beta*esp_i(1)-esp_i);

//the Q equation

Q=(pi(1)-R)+((1-delta)/(1-delta+r_bar))*Q(1)+(r_bar/(1-delta+r_bar))*r(1);

//the capital accumulation equation

K=(1-delta)*K(-1)+delta*I;

//the goods market equlibrium

Y=(C_bar/Y_bar)*C+(I_bar/Y_bar)*I+(K_bar/Y_bar);

//the product technology

Y=Z+alpha*K(-1)+(1-alpha)*L;

//technology shock

Z=rho_Z*Z(-1)+e_Z;

//the labour demand

L=r+K(-1)-w;

//the price equation

pi=(gamma_p/(1+beta*gamma_p))*pi(-1)+(beta/(1+beta*gamma_p))*pi(1)+((1-ksai_p)*(1-beta*ksai_p)/((1+beta*gamma_p)*ksai_p))*(alpha*r+(1-alpha)*w-Z+esp_p);

//the wage equation

w=(beta/(1+beta))*(w(1)+pi(1))-((1+beta*gamma_w)/(1+beta))*pi+(1/(1+beta))*(w(-1)+gamma_w*pi(-1))-((1-ksai_w)*(1-beta*ksai_w)/((1+beta)*ksai_w*(1+sigma_l*(1+lamda_w)/lamda_w)))*

(w-sigma_l*L-(sigma_c/(1-b))*(C-b*C(-1)));

//Taylor rule

R=lamda1*R(-1)+(1-lamda1)*(lamda2*(pi(1)-pi)+lamda3*pi+lamda4*Y)-esp_R;

//MacCullum rule

m=sigma_c*C/(sigma_m*(1-b)) - b*sigma_c*C(-1)/(sigma_m*(1-b)) - R/(sigma_m*(R_bar-1));   

                                                        //money demand equation

m=m(-1) - pi + v;                                      //money supply

v=rho_v*v(-1) - ksai1*pi(+1) - ksai2*Y+ esp_M;        //dynamic of money growth rate

esp_M=rho_M*esp_M(-1) + e_M0;//+e_M3(-3);            //money supply shock

//all kinds of shocks equation

esp_R=rho_R*esp_R(-1)+e_R0;//+e_R4(-4);

esp_p=rho_p*esp_p(-1)+e_p;

esp_c=rho_c*esp_c(-1)+e_c;

esp_i=rho_i*esp_i(-1)+e_i;

esp_l=rho_l*esp_l(-1)+e_l;

esp_w=rho_w*esp_w(-1)+e_w;

//measurement equations

dy=Y-Y(-1);

dc=C-C(-1);

di=I-I(-1);

dpi=pi-pi(-1);

dR=R-R(-1);

//dM=M-M(-1);

end;

resid(1);

steady(solve_algo=4);

check;

estimated_params;

ksai_w,BETA_PDF,0.6,0.1;

ksai_p,BETA_PDF,0.8,0.1;

rho_Z,BETA_PDF,0.8,0.1;

lamda1,BETA_PDF,0.75,0.1;

rho_R,BETA_PDF,0.5,0.1;

lamda2,NORMAL_PDF,2.6,0.1;

lamda3,NORMAL_PDF,3,0.1;

lamda4,NORMAL_PDF,0.6,0.1;

//rho_v,BETA_PDF,0.8,0.1;

//rho_M,BETA_PDF,0.75,0.1;

//ksai1,NORMAL_PDF,1.0,0.1;

//ksai2,NORMAL_PDF,0.5,0.1;

stderr e_Z,inv_gamma_pdf,4,inf;

stderr e_R0,inv_gamma_pdf,3,inf;

//stderr e_R4,inv_gamma_pdf,2,inf;

//stderr e_M0,inv_gamma_pdf,3,inf;

//stderr e_M3,inv_gamma_pdf,2,inf;

stderr e_p,inv_gamma_pdf,2,inf;

stderr e_w,inv_gamma_pdf,1,inf;

stderr e_l,inv_gamma_pdf,3,inf;

stderr e_i,inv_gamma_pdf,1,inf;

stderr e_c,inv_gamma_pdf,2,inf;

end;

varobs dy dc di dpi dR;//dM

estimation(datafile=data,mh_nblocks=2,mh_drop=0.5,mh_jscale=0.65,

mode_compute=6,order=1,bayesian_irf,irf=20,mh_replic=2000,forecast=20,mode_check,smoother,nograph)Y C I pi;

stoch_simul;



我甚至都不知道这个程序是不是用matlab运行的~小弟才疏学浅,希望各位大佬给个意见~老板要我把这个程序重新跑出来


二维码

扫码加我 拉你入群

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

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

全部回复
2018-12-19 21:23:19
求各位大佬高抬贵手~给小弟一些建议~最好能说明一下这个程序是如何实现dsge过程的
小弟在此万分拜谢
二维码

扫码加我 拉你入群

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

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

2018-12-21 10:30:34
有大佬给我一些解答嘛~谢谢各位了
二维码

扫码加我 拉你入群

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

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

2018-12-24 11:35:25
666666666666666666
二维码

扫码加我 拉你入群

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

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

2018-12-25 11:38:06
你首先得在matlab里加载dynare,然后把目录改成mod所在的文件夹,然后输入dynare xxx.mod才能运行。
如果想学习dsge的话,应该从模型的推导开始,直接看code意义不大。
二维码

扫码加我 拉你入群

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

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

2018-12-26 14:17:48
花逝无痕梦丶 发表于 2018-12-21 10:30
有大佬给我一些解答嘛~谢谢各位了
学习DSGE,可以看看这本书:李向阳,《动态随机一般均衡(DSGE)模型:理论、方法和Dynare实践》,清华大学出版社,2018.12,是新出的入门级专著!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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