Dear forum members,
I am a new user trying to estimate the model used in Berg et al. (2010) “Short-run macroeconomics of aid”. I was confronted with a “rank condition violation” and could therefore not proceed forward with estimation. I have read some of the posts/advice from Dr Pfeifer on the need to check the timing of endogenous variables, which I did but could not figure out the problem. My mod and data files are attached. I would be grateful for your helps. Best regards. Sid.model2Q.mod (5.9 KB)

It’s hard to tell. I can only give the generic advice to check all equations again and if that does not work, to start with a simpler version of the model that works.

Sidenote: your data looks very strange with the large spikes in pi.

Dear Dr Pfeifer,
Following your advice I have simplified the model and it is now somehow running with the following error:
" Error using dseries/extract (line 61)
dseries::extract: Variable r is not a member of A!

Error in dseries/subsref (line 236)
B = extract(A,S(1).subs{:});

Error in makedataset (line 141)
DynareDataset = DynareDataset{DynareOptions.varobs{:}};

Have you tried setting csigma2 = 0 in your government bonds outstanding equation? It seems your model is linear, but I think there will be a non-zero residual here.

I’m not very familiar with international models, and I know there are typically necessary tricks to impose on the equations related to bonds in order to get these models to run, so sorry if I am bringing unnecessary attention to one of these tricks.

In any case, maybe insert the “model_diagnostics” command and re-run the model and see if there are any other problems dynare can think of?

Your model is linear, so all initial values should be 0. This results in a correct steady state. The one you had was weird.

The last error comes from r being in column E in Excel, but your xls_range only going to D

I am not doubting that pi is stationary, but values of 400 are nevertheless extremely strange. What is the interpretation here?

Yes, it is common for shocks to be gamma or inverse gamma distributed in the prior

There is an orders of magnitude difference between your observables and the prior shock standard deviation. This usually indicates a scaling issue.

Now your model crashes with a stochastic singularity warning. That is usually due to the model implying an exact linear combination between the observables. Try dropping one observable at a time to see what causes this.

Dear Chris,
Many thanks. I have tried your suggestion and set csigma2=0. Did not solve the problem but interestingly the error message has changed to “Error using initial_estimation_checks (line 111).The initial value of the prior in _inf” Will continue checking. Thanks. Sid