I believe I have found a bug in Dynare 4.3.0 when using missing data.

I am having a problem with the newest version of Dynare 4.3.0 when I try to do an estimation with one missing observation in the first period of just one series. The other ‘varobs’ are all complete. In the earlier version of Dynare (4.2.5) the estimation went just fine when using this data file. (See attached data file.)

In Dynare 4.3.0 I now obtain the following error message:

[Earlier Dynare output removed…]

You did not declare endogenous variables after the estimation/calib_smoother command.

Loading 87 observations from NL_data.m

Index exceeds matrix dimensions.

Error in missing_observations_kalman_filter (line 98)

F = P(z,z) + H(d_index,d_index);

Error in dsge_likelihood (line 620)

[LIK,lik] =

missing_observations_kalman_filter(DynareDataset.missing.aindex,DynareDataset.missing.number_of_observations,DynareDataset.missing.no_more_missing_observations,Y,diffuse_perio

Error in initial_estimation_checks (line 45)

[fval,junk1,junk2,a,b,c,d] =

feval(objective_function,xparam1,DynareDataset,DynareOptions,Model,EstimatedParameters,BayesInfo,DynareResults);

Error in dynare_estimation_1 (line 133)

oo_ =

initial_estimation_checks(objective_function,xparam1,dataset_,M_,estim_params_,options_,bayestopt_,oo_);

Error in dynare_estimation (line 70)

dynare_estimation_1(var_list,dname);

Error in Model_14F_Ratios_schat_NLm4 (line 471)

dynare_estimation(var_list_);

Error in dynare (line 120)

evalin(‘base’,fname) ;

I hope this helps to find and fix this problem.

Sincerely,

Rob Luginbuhl

NL_data.m (12.6 KB)