%-------------------------------------------------------
% Declaration of Variables (15 Endo & 2 Exo)
%-------------------------------------------------------

var n c tau w pi r rk i g y k mc tr z b;
varexo eps_g eps_z;
parameters beta eta sigma theta nss delta varphi alpha piss rho_pi gam rho_g gy zy rho_z tauss rss rkss kss mcss wss kss iss yss gss zss css chi trss bss;

%-------------------------------------------------------
% Model Parameters (Original)
%-------------------------------------------------------

beta  = 0.9800 ;
eta   = 1      ; 
sigma = 1      ;
theta = 7.6667 ;
nss   = 0.3300 ;
delta = 0.1000 ;
varphi= 10     ; 
alpha = 0.3300 ;
piss  = 1.0200 ;
rho_pi= 1.5000 ;
gam   = 0.2000 ; 
rho_g = 0.9000 ;
gy    = 0.0800 ;
zy    = 0.0900 ; 
rho_z = 0.9000 ;
tauss = 0.2100 ;

%---------------------------------------------------------
% Model Steady state & Implied Parameters (Matlab)
%---------------------------------------------------------

rss   = 1.0408 ;
rkss  = 0.1524 ; 
mcss  = 0.8696 ;
wss   = 0.7956 ;
kss   = 0.8485 ; 
iss   = 0.0848 ;
yss   = 0.4507 ;
gss   = 0.0361 ;
zss   = 0.0406 ;
css   = 0.3298 ;
chi   = 5.7760 ;
trss  = 0.0823 ;
bss   = 0.2784 ;


%---------------------------------------------------------
% Linear Model Block (Log-Linearized Form)
%---------------------------------------------------------



model(linear);

%---------------------------------------------------------
% FOC and Other Necessary Equations (15 Equation)
%---------------------------------------------------------

eta*n+sigma*c = (1-tauss*tau)*w/(1-tauss);                                                          % Labor                (1)

0 = r+sigma*(c-c(+1))+pi(+1);                                                                        % Bond                 (2)

0 = sigma*(c-c(+1))+(1-beta*(1-delta))*rk(+1)-(tauss/(1-tauss))*(1-beta*(1-delta))*tau(+1);           % Consumption          (3)

css*c+i*iss+gss*g = yss*y ;                                                                         % ARC                  (4)  

y = alpha*k(-1)+(1-alpha)*n ;                                                                       % Prod. function       (5)

mc = alpha*rk + (1-alpha)*w;                                                                         % Marginal Cost        (6)

pi = beta*pi(+1)+(1-theta)*mc/varphi;                                                               % Firm Pricing equation(7)

bss*b + trss*tr = gss*g+zss*z+(rss*bss/piss)*(r(-1)+b(+1)-pi);                                      % GBC                  (8)

trss*tr = trss*tau+wss*nss*tauss*(w+n)+tauss*kss*rkss*(k(-1)+rk);                                    % Tax Revenue          (9)

delta*i = k +(1-delta)*k(-1);                                                                       % Investment           (10)

rk-w =n-k(-1);                                                                                       % Cons'ld Firm Pricing (11)


%---------------------------------------------------------
% Fiscal and Monetary Policy Block
%---------------------------------------------------------


tau = gam*(b(-1));                                                                                  % Tax process          (12)
 
r = rho_pi*pi;                                                                                      % Monetary Policy      (13)

%---------------------------------------------------------
% AR(1) Process Gov't and Transfer (Shocks)
%---------------------------------------------------------

z = rho_z*z(-1)+eps_z;                                                                              % Transfer P'ment      (14)

g = rho_g*g(-1)+eps_g;                                                                              % Gov't spending       (15)


end;

steady;

resid;

check;

shocks;
var eps_g = 2*0.015;




end;

tech= 0;
policy = 1;


stoch_simul  (irf=60, periods=1500);

