Page 1 of 1

Rank condition ISNT verified

PostPosted: Wed Apr 08, 2015 3:19 pm
by Victor
Dear Helpers,
Dynare tells me "There are 9 eigenvalue(s) larger than 1 in modulus
for 8 forward-looking variable(s)". I am trying to see where it went wrong but I cannot. The model I present to you is a bit complicated but please I need help. :cry: Thank you
Victor

Re: The rank conditions ISN'T verified!

PostPosted: Thu Apr 09, 2015 5:10 pm
by fp3690
I had the same thing and as people suggested elsewhere, it's a result of having a redundant equation with a correct one missing. Typically it's from resource constraints.

Re: The rank conditions ISN'T verified!

PostPosted: Thu Apr 09, 2015 6:48 pm
by jpfeifer
That's not it. It looks like a timing problem. To me,
Code: Select all
r=s-s(+1)+rfshock;

looks weird as r depends on the expectations of tomorrow's s. Using this in the Euler equation with timing r might be the source of the problem.

Re: The rank conditions ISN'T verified!

PostPosted: Thu Apr 09, 2015 7:44 pm
by Victor
jpfeifer wrote:That's not it. It looks like a timing problem. To me,
Code: Select all
r=s-s(+1)+rfshock;

looks weird as r depends on the expectations of tomorrow's s. Using this in the Euler equation with timing r might be the source of the problem.

Please Sir, how do you suggest I correct it? Have been trying to see the variables that have eigenvalues greater than 1 but I don't know my way around dynare very much. Thank you.

Re: The rank conditions ISN'T verified!

PostPosted: Thu Apr 09, 2015 8:02 pm
by jpfeifer
You are the model builder. There is one and only one timing that economic logic is going to dictate. You need to find it. All I am saying is that your original model equation most probably does not say

r_t=s_t E_t(s_{t-1})+rfshock_t

Sidenote: the eigenvalues are about the system of variables, not individual ones. The BK conditions are almost always about a wrong timing of variables.

Re: The rank conditions ISN'T verified!

PostPosted: Fri Apr 10, 2015 2:20 pm
by Victor
jpfeifer wrote:You are the model builder. There is one and only one timing that economic logic is going to dictate. You need to find it. All I am saying is that your original model equation most probably does not say

r_t=s_t E_t(s_{t-1})+rfshock_t

Sidenote: the eigenvalues are about the system of variables, not individual ones. The BK conditions are almost always about a wrong timing of variables.

I am back to the drawing board sir. Thank you. I will keep you posted.

Re: Reference to non-existent field 'ghx'.

PostPosted: Sun Apr 12, 2015 9:17 pm
by Victor
I have corrected my earlier issues as advised by jpfeifer. I thank you very much on this issue. I now have another issue where I post the code. I have a pair of non-stationary shocks which goes to (-2). And with that, dynare couldnt solve the GHX and GHU. please see the code
Thank you

Re: Rank condition ISNT verified

PostPosted: Mon Apr 13, 2015 6:13 am
by jpfeifer
With the noprint option of stoch_simul, you shut off all error messages. But as your model does not run, the decision rules you are trying to access could not be computed. The problem is that the steady state could not be computed.
If you put
Code: Select all
resid(1);

before stoch_simul you will see that given your 0 initial values you still get
Code: Select all
Equation number 13 : -0.5
Equation number 14 : -0.5

As your model is loglinearized, this suggests that there is still a mistake in those equations.

Re: Rank condition ISNT verified

PostPosted: Mon Apr 13, 2015 11:20 pm
by Victor
Please Sir,
when using resid(01)
1. Does that mean the equation might be wrong? or could it be I may have the calibration wrong? I am working on it now but I see no fault in my solution.
2. I happen to change the value of the rho to 0.1 and it solves but still, equation 13 and 14 are not equal to zero.

Re: Rank condition ISNT verified

PostPosted: Tue Apr 14, 2015 8:34 am
by jpfeifer
If your linearization is correct, this typically implies that all endogenous variables have steady state 0 (as the deviation from steady state in steady state is 0). If there is a residual showing up in that equation, you have somehow introduced a constant term to this equation. Having a constant term is in general no problem if this is desired (an example is Gali's textbook). But more often than not, there should be no constant term and it indicates the linearization is incorrect.