Hi, When I estimated a RBC model with environmental shock,dynare warned me that:

Error in computing likelihood for initial parameter values

??? Error using ==> print_info at 45

Blanchard Kahn conditions are not satisfied: indeterminacy

Error in ==> print_info at 45

error(‘Blanchard Kahn conditions are not satisfied:’ …

Error in ==> initial_estimation_checks at 69

print_info(info, DynareOptions.noprint, DynareOptions)

Error in ==> dynare_estimation_1 at 179

oo_ =

initial_estimation_checks(objective_function,xparam1,dataset_,M_,estim_params_,options_,bayestopt_,oo_);

Error in ==> dynare_estimation at 89

dynare_estimation_1(var_list,dname);

Error in ==> taxe_exo at 225

dynare_estimation(var_list_);

Error in ==> dynare at 180

evalin(‘base’,fname) ;

I tried to solve it with FAQ, but in vain. Thank you for your help.I attached my codes and data file here.

cidsge_data1.m (153 Bytes)

taxe_exo.mod (1.77 KB)

Hi, The problem comes from the timing of the state variables in your model. In Dynare you do not need to explicitly declare the list of state variables but you need to be careful about the timing of the variables. I do not know the specifics of your model, but k (the physical capital stock) should appear at time t-1 in the production function because the capital used in production at time t is decided at time t-1. It is precisely because of this timing that Dynare knows that k is a state variable. I suppose that you have the same problem with q (which seems to evolve like according to the third equation). Also you need to shift backward the equations for the shocks. If I replace the model block by

```
model;
//1. cop
c^(mu*(1-sigma)-1)*q^((1-mu)*(1-sigma)) = beta*c(1)^(mu*(1-sigma)-1)*q(1)^((1-mu)*(1-sigma))*(1-delta+(1-(teta(1))*phi(1))*alpha*(a(1))*(k)^(alpha-1));
k-(1-delta)*k(-1)+c = (1-teta*phi)*a*k(-1)^(alpha);
q = h*q_bar+(1-h)*q(-1)-(phi-v*teta)*a*k(-1)^(alpha);
// 3. definitions
y = a*k(-1)^alpha;
p = phi*a*k(-1)^alpha;
g = teta*phi*a*k(-1)^alpha;
v*teta= phi;
welfare =(1/(1-sigma))*(c^mu*q^(1-mu))^(1-sigma);
// 4. AR(1) shocks
a = (1-rho_a)*a_bar+rho_a*a(-1)+a_e;
phi = (1-rho_phi)*phi_bar+rho_phi*phi(-1)+phi_e;
end;
```

Then the **check** command indicates that the BK conditions are fulfilled. So you should be able to estimate the model starting from there. I do not know your model, so you should check that I am not wrong with the timing of q in the other equations.

Best,

Stéphane.

Thank you very much Mr Stephane.

Dear Stéphane, I still need your help to the same problem for another model. I don’t understand why BK conditions are not satisfied despite the fact that there are as many eigenvalues superior to 1 in modulus than non-predetermined variables. I send you my file.mod. Thank you in advance.

taxe.mod (2.74 KB)

This is a tough one. model_diagnostics does not return anything. The problem is apparently not related to the BK conditions, but to the rank condition, i.e. one of the matrices that needs to be inverted for having a unique solution is singular. Often this is related to a mistake in entering the model (e.g. timing or equation wrong).

Dear Jpfeiter,

I corrected the possible equations mistakes and timing but the problem still remains. I send you the file.mod modified. Thank you very much.

taxe.mod (2.72 KB)