Estimation With Structural Break In Shock Processes

Hi all,

I am estimating a DSGE model where I want to allow the variance of a structural shock process to change between two time periods, i.e. the shock process is has a different variance before 1985 compared to 1985. The change in the process occurs “unexpectedly”, but as it has been mentioned on this board previously, since I am using a first order approximation it does not matter whether this change happens unexpectedly or with perfect foresight.

I have read a lot of posts on the forum to resolve this issue but there seems to be no clear answer how this can be done. Just to mention the three most relevant posts:

And I have also found this on DynareWiki, which I am not sure if it has been implemented or not:

I would very much appreciate if anyone could help with this matter. Hopefully the answer to this post could also serve as a reference for others who want to resolve similar issues.



Dear Professor Pfeifer

I have attached a mod file here to show what I mean by my question and I will be thankful if you could guide me on how I should proceed with this.
I have two variables in the model, z and thetah which follow an AR(1) process and there is a break in the process in period 100:

for t<100;
z=rhoz * z(-1) + sigmaz * eps;
thetah = rhot * thetah(-1) + sigmat * nu;

for t>100;
z=rhoz2 * z(-1) + sigmaz2 * eps;
thetah = rhot2 * thetah(-1) + sigmat2 * nu;

I estimate these process by defining an auxilary “Exogenous and Deterministic” variable aux which takes a value of 1 before t=100 and takes a value of 0 after 100.
That is I have :

z = rhoz * aux * z(-1) + rhoz2 * (1-aux) * z(-1) + sigmaz * aux * eps + sigmaz2 * (1-aux) * eps ;
thetah = rhot * aux * thetah(-1) + rhot2 * (1-aux) * thetah(-1) + sigmat * aux * nu + sigmat2 * (1-aux) * nu ;

And In the shock section I define it as follows:
var aux;
periods 1:100 101:216;
values 1 0 ;

I have attached the file and its data file here. When I run dynare I get the following error:

"ESTIMATION_CHECKS: There was an error in computing the likelihood for initial parameter values.
ESTIMATION_CHECKS: You should try using the calibrated version of the model as starting values. To do
ESTIMATION_CHECKS: this, add an empty estimated_params_init-block with use_calibration option immediately before the estimation
ESTIMATION_CHECKS: command (and after the estimated_params-block so that it does not get overwritten):

Subscripted assignment dimension mismatch."

Could you please let me know what I am doing wrong? I have looked at a lot of threads in the forum but have not found anything that can help me with this. The closest thing to my question is Structural break in Bayesian estimation and DYNARE syntaxis which I really don’t get the proposed response of Michel to solve this problem. I will be very thankful if you could help me with this. I understand that you have a lot to do but I ma growing hopeless over here with this.

Thanks a lot for your consideration,

example_break.mod (1.8 KB)

I am sorry for bringing this post up again, but I will really appreciate comments on this issue. Just a general answer whether it makes sense approaching the problem this way or not would be of great help. Thanks.

Sorry for taking so long, but this is a complicated issue. The big question is whether agents should expect that there might be structural change.
Dynare may not be well suited to deal with this type of structural change, because essentially the matrices in the model solution have structural break and the likelihood will be the sum of two different Kalman filter recursion. This might be doable, but will be hard. Simulation is easy, estimation is hard.