Dear Dynare Guru:

I have a version of SOE model (Adolfson et al (2007) in JIE) with labour market frictions, and hoping to get some sensible estimates. I can simulate the model successfully, but Dynare complains about the BK conditions. The following error is what I get:

[code]??? Error using ==> print_info at 39

Blanchard Kahn conditions are not satisfied: no stable equilibrium

Error in ==> initial_estimation_checks at 101

print_info(info, options_.noprint)

Error in ==> dynare_estimation_1 at 122

initial_estimation_checks(xparam1,gend,data,data_index,number_of_observations,no_more_missing_observations);

Error in ==> dynare_estimation at 62

dynare_estimation_1(var_list,varargin{:});

Error in ==> SOE_LMF at 734

dynare_estimation(var_list_);

Error in ==> dynare at 120

evalin(‘base’,fname) ;[/code]

I have been reading through the posts in this forum, and check the eigenvalues, The following is what I get:

[code]

EIGENVALUES:

Modulus Real Imaginary

```
0 -0 0
4.503e-017 4.503e-017 0
5.912e-017 -5.912e-017 0
6.498e-008 -9.147e-013 6.498e-008
6.498e-008 -9.147e-013 -6.498e-008
0.002149 0.002149 0
0.05263 -0.05263 0
0.6318 0.6318 0
0.6492 0.5464 0.3505
0.6492 0.5464 -0.3505
0.7 0.7 0
0.7246 0.6378 0.3439
0.7246 0.6378 -0.3439
0.7317 0.6594 0.3172
0.7317 0.6594 -0.3172
0.75 0.75 0
0.75 0.75 0
0.8 0.8 0
0.8 0.8 0
0.8182 0.8182 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.85 0.85 0
0.9 0.9 0
0.9261 0.9261 0
0.933 0.9306 0.06584
0.933 0.9306 -0.06584
0.9962 0.9899 0.1117
0.9962 0.9899 -0.1117
1 1 0
1.002 0.456 0.8922
1.002 0.456 -0.8922
1.004 1.004 0
1.097 1.097 0
1.134 1.134 0
1.766 1.743 0.2876
1.766 1.743 -0.2876
1.873 1.873 0
2.173 2.173 0
8.598 8.598 0
1423 1423 0
Inf Inf 0
Inf Inf 0
Inf Inf 0
Inf Inf 0
Inf Inf 0
```

There are 16 eigenvalue(s) larger than 1 in modulus

for 16 forward-looking variable(s)

The rank condition is verified.[/code]

Clearly I have an eigenvalue is exactly 0, (and 4 others are very close to 0) and yet another eigenvalue has value 1. From my understanding, This means I have two problems:

- I do not have full rank.
- There is a unit root in the model.

I played around with Dynare, and found the rank problem is stemming from the ‘definitional equations’, eg: define unemployment as a function of employment, which creates perfect colinearity in the model. However, I can never get rid of the 0 eigenvalue. So my first question is:

Does a 0 eigenvalue matter for estimation, and is there any ways I can detect which equation causes the trouble?

I guess the source of the unit root stems from the risk-adjusted UIP condition, by multiplying 0.9 in front of the nominal exchange rate (I know this is not right, but for debugging purpose) in the UIP condition I could get rid the unit root. I read the Schmitt-Grohé and Uribe (2003) paper, and it seems a risk premium should have stopped the unit root. So my second question is:

Why I still have a unit root in the model when the risk premium is introduced?

The .mod file and linearized model are attached.

Thanks alot in anticipation…I have been stuck on this for weeks now.

Cheers

Ben

artificial_data.xls (321 KB)

SOE_LMF.mod (21.7 KB)

model.pdf (135 KB)