Help please : shock does not affect the system
Posted: Mon Sep 09, 2013 1:00 pm
Dear expert,
I really need your help\comments.When I give a tax shock, only tax values change, I dont understand why.However, when I give a marginal cost shock,it works well. Could please look? I would be so thankful.Sincerely,
/*declaration of endo. variables
c: consumption
R:nominal interest rate
P:inflation
K:capital
y:output
I:investment
re:real interest rate
L:loan
S:Savings
D:deposit
tax:tax
ez:marginal cost shock
eg:demand shock */
var c R p k y D re L S I ez eg Loss tax;
varexo ug uz tax_u;
parameters alpha //share of capital income
beta //discount factor
sigma //inverse elasticity of intertemporal substitution of consumption
delta //depr. rate
lambda // real marginal cost elasticity of inflation in Calvo model
rho_g //persistence of preference shock
rho_z //persistence of marginal cost shock
rho_tax
tao_inf //response of monetary policy rule to inflation
tao_y //response of monetary policy rule to output
tao_L //response of monetary policy rule to loan
si //share of investment in output
ci //share of consumption in output
sis //share of savings in output
sigma_tax_u//
sigma_ug //standart deviation of the preference shock
sigma_uz ;//standart deviation of the marginal shock cost
alpha=0.3;
beta=0.99;
delta=0.02;
lambda=0.3;
sigma=2;
rho_g =0.7;
rho_z =0.7;
rho_tax=0.848;
tao_inf=1.5;
tao_y=0.25;
tao_L=2;
si=0.3;
ci=0.7;
sis=0.3;
sigma_tax_u=0.11;
sigma_ug=0.38;
sigma_uz=1;
external_function(name = yDeneme, nargs = 1);
model(linear);
c=(c(+1))-(1/(sigma))*(R-(p(+1)));
R=(1-beta*(1-delta))*((sigma)*(c(+1))+(1/1-alpha)*(y(+1)-(k)+ p(+1)));
p=beta*(p(+1))+lambda*((sigma)*c-(alpha/1-alpha)*(k(-1)-y))+ez;
k=si*I+(1-delta)*k(-1);
I(-1)=L;
L=(1-tax)*D;
y= ci*c+si*I+tax*sis*S;
S=I/(1-tax);
R=re+tao_inf *p+tao_y*y+tao_L*(L(+1)-L);
re=R-p(+1);
ez=rho_z*ez(-1)+uz;
eg=rho_g*eg(-1)+ug;
tax=rho_tax*tax(-1)+tax_u;
Loss=tao_inf*(p)+tao_y*(y)+tao_L*(L(+1)-L);
END;
steady ;
check;
shocks;
var tax_u=(sigma_tax_u)^2;
end;
tao_infs =[1.5,1.6,1.7,1.8,1.9,2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3];
tao_Ls = [1.5,1.6,1.7,1.8,1.9,2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3];
tao_ys = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2];
@#for i in 1:1
tao_inf=tao_infs(@{i});
@#for j in 1:1
tao_y=tao_ys(@{j});
@#for f in 1:1
tao_L=tao_Ls(@{f});
stoch_simul(order=1,noprint, nograph);
findMinLoss(Loss_tax_u, tao_inf, tao_y, tao_L);
@#endfor
@#endfor
@#endfor
I really need your help\comments.When I give a tax shock, only tax values change, I dont understand why.However, when I give a marginal cost shock,it works well. Could please look? I would be so thankful.Sincerely,
/*declaration of endo. variables
c: consumption
R:nominal interest rate
P:inflation
K:capital
y:output
I:investment
re:real interest rate
L:loan
S:Savings
D:deposit
tax:tax
ez:marginal cost shock
eg:demand shock */
var c R p k y D re L S I ez eg Loss tax;
varexo ug uz tax_u;
parameters alpha //share of capital income
beta //discount factor
sigma //inverse elasticity of intertemporal substitution of consumption
delta //depr. rate
lambda // real marginal cost elasticity of inflation in Calvo model
rho_g //persistence of preference shock
rho_z //persistence of marginal cost shock
rho_tax
tao_inf //response of monetary policy rule to inflation
tao_y //response of monetary policy rule to output
tao_L //response of monetary policy rule to loan
si //share of investment in output
ci //share of consumption in output
sis //share of savings in output
sigma_tax_u//
sigma_ug //standart deviation of the preference shock
sigma_uz ;//standart deviation of the marginal shock cost
alpha=0.3;
beta=0.99;
delta=0.02;
lambda=0.3;
sigma=2;
rho_g =0.7;
rho_z =0.7;
rho_tax=0.848;
tao_inf=1.5;
tao_y=0.25;
tao_L=2;
si=0.3;
ci=0.7;
sis=0.3;
sigma_tax_u=0.11;
sigma_ug=0.38;
sigma_uz=1;
external_function(name = yDeneme, nargs = 1);
model(linear);
c=(c(+1))-(1/(sigma))*(R-(p(+1)));
R=(1-beta*(1-delta))*((sigma)*(c(+1))+(1/1-alpha)*(y(+1)-(k)+ p(+1)));
p=beta*(p(+1))+lambda*((sigma)*c-(alpha/1-alpha)*(k(-1)-y))+ez;
k=si*I+(1-delta)*k(-1);
I(-1)=L;
L=(1-tax)*D;
y= ci*c+si*I+tax*sis*S;
S=I/(1-tax);
R=re+tao_inf *p+tao_y*y+tao_L*(L(+1)-L);
re=R-p(+1);
ez=rho_z*ez(-1)+uz;
eg=rho_g*eg(-1)+ug;
tax=rho_tax*tax(-1)+tax_u;
Loss=tao_inf*(p)+tao_y*(y)+tao_L*(L(+1)-L);
END;
steady ;
check;
shocks;
var tax_u=(sigma_tax_u)^2;
end;
tao_infs =[1.5,1.6,1.7,1.8,1.9,2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3];
tao_Ls = [1.5,1.6,1.7,1.8,1.9,2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3];
tao_ys = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2];
@#for i in 1:1
tao_inf=tao_infs(@{i});
@#for j in 1:1
tao_y=tao_ys(@{j});
@#for f in 1:1
tao_L=tao_Ls(@{f});
stoch_simul(order=1,noprint, nograph);
findMinLoss(Loss_tax_u, tao_inf, tao_y, tao_L);
@#endfor
@#endfor
@#endfor