Rank Condition in 2 Country EZ Model

Wealth.mod (1.7 KB)

Hi Everyone. I am using dynare to solve a simple two country EZ model closely related to Colacito and Croce (2007). It’s a two country endowment economy set up where both country endowments are driven by two state variables (country specific and global), both of which are AR(1) processes. The goal is to look at the response of the wealth share (ws in the code) in response to the global shock (g in the code). I have attached the code I am using to this post.

I keep getting an error message that says the blanchard-kahn conditions are not verified so an approximate solution cannot be computed. I’m struggling to see what the issue is based on my model. I have already solved this model analytically using log-linearization techniques and found it to have a well defined solution. So I’m struggling to see why dynare cannot simulate this model.

Any help on where the issue is would be greatly appreciated.

Could I get a response to this please?

Your AR processes are not autoregressive. Why is there the same timing on the right?

Can you clarify what you mean by the fact that my AR processes are not autoregressive? They are meant to be standard AR(1) processes:

z^{i}_{t+1} = \mu_{i} + \rho (z^{i}_{t} - \mu_{i}) + \xi^{i}_{t+1}

where shocks are gaussian:

\xi^{i}_{t+1} \sim i.i.d \ N(0,\, 1), \ \forall \textit{i} \in \{H,F,G\}

Also can you clarify the timing issue you are referring to?

zg        = RHO * (zg - MU) + g;


is
z_t^g=\rho( z_t^g-\mu)+\xi_t^g
which has incorrect timing. This may not be the only timing error.

I see, that seems to be a coding mistake. I guess I should be writing the following instead:

zg = RHO * zg(-1) + g
zh = RHO * zh(-1) + h
zf = RHO * zf(-1) + f

I have corrected these mistakes in the modified code I have attached:
WealthShare2.mod (1.6 KB)

However I still get the same error message that I have eigenvalues greater than 1 and hence the rank condition is not satisfied. Do you have any ideas on what is causing this particular issue?

I am not familiar with the model, so the answer is no. Does a 1 country version work?

I actually fixed the code and the model simulation works fine now. However I did have another question. Is there a way I can label my variables using proper names in the IRF plots?

For example in the above plot my variables ch, cf and cdiff I’d like to call “Home Consumption”, “Foreign Consumption”, “Consumption Differentials” respectively. However it looks like Dynare won’t accept these sorts of names.

WealthShare2.mod (1.4 KB)

I’ve uploaded an updated version of code.

You would need to do this manually in Matlab. See e.g. How to plot multiple IRFs in Dynare