% % ber.m -- solves Burnside, Eichenbaum and Rebelo (JPE, 1993) model % % George Hall % Brandeis Univeristy % October 2006 close all clear global TE nx nx = 5; % number of state varibles nu = 3; % number of control variables nz = nx+nu; % % set initial parameter values % TE = 1369; alpha = 0.654; delta = 0.021; beta = 1.03^(-.25); muA = -0.023; muG = 0.0904; rhoA = 0.982; rhoG = 0.987; gamma1 = 1.004; gamma2 = 1.002; h1 = 37*13; xi = 60; v = 3.61; sigmaA = 0.0053; sigmaG = 0.014; % % compute steady state for detrended (but still in levels) economy % pstar = [alpha; beta; delta; muA; muG; rhoA; rhoG; h1; v; xi; gamma1 ]; [zstar] = sstate(pstar); zSS = log(zstar); % % Create State Space Representation and map % problem into the Optimal Linear Regulator % Framework. % % max X'qX + U'rU + 2U'wX % % s.t X(t+1) = A1 X(t) + B U(t) + C w(t+1) % % where X' = [ 1 Z(t) log(G)(t) log(K)(t) log(N1)(t) ] % % and U' = [ log(N1)(t+1) log(W)(t) log(K)(t+1) ] % [r,dr_dz,d2r_dz2 ] = derret(zSS,pstar); % % Use formula from Hansen, McGrattan & Sargent to get matricies % e = [ 1 0 0 0 0 0 0 0]'; M = e*( r - dr_dz'*zSS + .5*zSS'*d2r_dz2'*zSS)*e' + ... .5*( e*dr_dz' + dr_dz*e' - e*zSS'*d2r_dz2 - d2r_dz2*zSS*e' + d2r_dz2 ); Qmat = M(1:nx,1:nx); Rmat = M(nx+1:nz,nx+1:nz); Wmat = M(1:nx,nx+1:nz); % % form the A,B,C,G,D matricies % A1= [ 1 0 0 0 0; muA rhoA 0 0 0; muG 0 rhoG 0 0; 0 0 0 0 0; 0 0 0 0 0]; B = [ 0 0 0; 0 0 0; 0 0 0; 0 0 1; 1 0 0]; C = [ 0 0; sigmaA 0; 0 sigmaG; 0 0; 0 0]; % % solve for decison rules: U(t) = -F X(t) % [F,P] = olrp(beta,A1,B,Qmat,Rmat,Wmat); % % % A = A1 - B*F; % % Let's print out some impulse response functions % ny=12; [G] = getGber2(zSS,pstar,F); disp('Labor Hoarding: Technology Shock' ); C = [ 0; 1; 0; 0; 0 ]; [Y2sim,X] = bimpulse(A,C,G,zeros(ny,1),1,50); figure(1) plot([2:50]',Y2sim(2:50,[6 8])); title('Labor Hoarding: Tech. Shock on employment and effort'); legend('employ','effort'); print -dpsc2 ber_imp_resp.ps figure(2) plot([2:50]',Y2sim(2:50,[1 5 6 8])); title('Labor Hoarding: Tech. Shock on q,k,n,e'); legend('output','capital','hours','effort'); print -dpsc2 -append ber_imp_resp.ps figure(3) plot([2:50]',Y2sim(2:50,[1 2 3])); title('Labor Hoarding: Tech. Shock on q,c,i'); legend('output','consumption','investment'); print -dpsc2 -append ber_imp_resp.ps figure(4) plot([2:50]',Y2sim(2:50,[10 11])); title('Labor Hoarding: Tech. Shock on Technology & Solow Residual'); legend('technology','Solow residual'); print -dpsc2 -append ber_imp_resp.ps disp('im pausing: hit return key'); pause disp('Labor Hoarding: Government Shock' ); C = [ 0; 0; 1; 0; 0]; [Y3sim,X] = bimpulse(A,C,G,zeros(ny,1),1,50); figure(5) plot([2:50]',Y3sim(2:50,[6 8])); title('Labor Hoarding: Gov Shock on employment and effort'); legend('employ','effort'); print -dpsc2 -append ber_imp_resp.ps figure(6) plot([2:50]',Y3sim(2:50,[1 5 6 8])); title('Labor Hoarding: Gov Shock on q,k,n,e'); legend('output','capital','hours','effort'); print -dpsc2 -append ber_imp_resp.ps figure(7) plot([2:50]',Y3sim(2:50,[1 2 3])); title('Labor Hoarding: Gov. Shock on q,c,i'); legend('output','consumption','investment'); print -dpsc2 -append ber_imp_resp.ps figure(8) plot([2:50]',Y3sim(2:50,[10 11])); title('Labor Hoarding: Gov Shock on Technology & Solow Residual'); legend('technology','Solow residual'); print -dpsc2 -append ber_imp_resp.ps