Dynare code for polynomial shock

I have made a model, from “Assessing the Effects of Fiscal Shocks” by Graig Burnside, Martin Eichenbaum and Jonas Fisher.
But the shock part says like this:

The vector f(t) = [G(t), τ (kt), τ (nt)]’ evolves according to
log(f(t)) = log(f) + h(L)u(t)
Here u(t) is a zero mean, iid scalar random variable that is orthogonal to all model
variables dated time t − 1 and earlier. In addition h(L)=[h1(L), h2(L), h3(L)]
where hi(L), i = 1, 2, 3 is a qth ordered polynomial in nonnegative powers of the lag operator L, and f denotes the steady state value of f(t). Note that u(t) is common to both government spending and taxes. In practice we use 50 coefficient in h1(L), 16 coefficient in h2(L) and h3(L).

So I’m confused how to write the shocks.
Here is a model I made.

``````var  Y
C
I
N
K
R
W
G
tau_n
tau_k

y c n k w ;

varexo eps_tau_n
eps_tau_k
eps_G;

parameters beta alpha delta rho gamma eta omega Yss Css Iss Nss Kss Rss Wss Gss tau_nss tau_kss;

beta=1.03^(-1/4);
alpha=0.34;
delta=0.021;
rho=0.9;
gamma = 1.004;
omega = 0.21;
tau_kss = 0.05;
tau_nss = 0.08;

Nss=0.24;

Kss=(1/(beta*alpha*Nss^(1-alpha)*(1-tau_kss))-(delta*tau_kss+(1-delta))/((1-tau_kss)*alpha*Nss^(1-alpha)))^(1/(alpha-1));

Iss=delta*Kss;

Yss=gamma*Kss^(alpha)*Nss^(1-alpha);

Wss=(1-alpha)*Kss^alpha*Nss^(-alpha);

Gss = omega*Yss;

Css=Yss-Iss-Gss;

eta = Wss*(1-tau_nss)*(1-Nss)/Css;

model;

%Euler equation-capital

C^(-1)=beta*C(+1)^(-1)*(R(+1)*(1-tau_k(+1))+delta*tau_k(+1)+(1-delta));

%Intratemporal optimality-labor supply

eta * C * 1/(1-N)*(1-tau_n) = W;

%Wage equation
W=(1-alpha)*(K(-1)/N)^alpha;

R=alpha*(K(-1)/N)^(alpha-1);

%Production function
Y=gamma*K(-1)^alpha*N^(1-alpha);

%Resource constraint

Y = C + I + G;

%Capital accumulation

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

% Autoregressive process for tau_n
tau_n=(1-rho)*tau_n+rho*tau_n(-1)+eps_tau_n;

% Autoregressive process for tau_k
tau_k=(1-rho)*tau_k+rho*tau_k(-1)+eps_tau_k;

% Autoregressive process for gov_exp
G=(1-rho)*ln(omega*Y)+rho*G(-1)+eps_G;

% Define the variables in logs

y=log(Y);
c=log(C);
n=log(N);
k=log(K);
w=log(W);

end;

initval;

Y=Yss;

C=Css;

I=Iss;

N=Nss;

K=Kss;

W=Wss;

y=log(Yss);
c=log(Css);
n=log(Nss);
k=log(Kss);
w=log(Wss);

G=0;
tau_n= 0;
tau_k=0;

end;

%The starting values for the steady state

resid;

%Compute steady state given the starting values

check;

shocks;

var eps_tau_n=0.01^2;
var eps_tau_k=0.01^2;
var eps_G=0.01^2;

end;

stoch_simul(order=1, irf =20)  n w;
``````

It just means that you have lagged shocks in the shock equation. You could to that manually or with a macro-processor loop.

``````eps_G(-1)