%
% Status : main Dynare file 
%
% Warning : this file is generated automatically by Dynare
%           from model file (.mod)

clear all
tic;
global M_ oo_ options_ ys0_ ex0_ estimation_info
options_ = [];
M_.fname = 'octavo_log';
%
% Some global variables initialization
%
global_initialization;
diary off;
diary('octavo_log.log');
M_.exo_names = 'aa';
M_.exo_names_tex = 'aa';
M_.exo_names_long = 'aa';
M_.exo_names = char(M_.exo_names, 'qq');
M_.exo_names_tex = char(M_.exo_names_tex, 'qq');
M_.exo_names_long = char(M_.exo_names_long, 'qq');
M_.exo_names = char(M_.exo_names, 'zz');
M_.exo_names_tex = char(M_.exo_names_tex, 'zz');
M_.exo_names_long = char(M_.exo_names_long, 'zz');
M_.endo_names = 'ly_n';
M_.endo_names_tex = 'ly\_n';
M_.endo_names_long = 'ly_n';
M_.endo_names = char(M_.endo_names, 'ly_x');
M_.endo_names_tex = char(M_.endo_names_tex, 'ly\_x');
M_.endo_names_long = char(M_.endo_names_long, 'ly_x');
M_.endo_names = char(M_.endo_names, 'lc');
M_.endo_names_tex = char(M_.endo_names_tex, 'lc');
M_.endo_names_long = char(M_.endo_names_long, 'lc');
M_.endo_names = char(M_.endo_names, 'l_n');
M_.endo_names_tex = char(M_.endo_names_tex, 'l\_n');
M_.endo_names_long = char(M_.endo_names_long, 'l_n');
M_.endo_names = char(M_.endo_names, 'li');
M_.endo_names_tex = char(M_.endo_names_tex, 'li');
M_.endo_names_long = char(M_.endo_names_long, 'li');
M_.endo_names = char(M_.endo_names, 'lk');
M_.endo_names_tex = char(M_.endo_names_tex, 'lk');
M_.endo_names_long = char(M_.endo_names_long, 'lk');
M_.endo_names = char(M_.endo_names, 'lk_x');
M_.endo_names_tex = char(M_.endo_names_tex, 'lk\_x');
M_.endo_names_long = char(M_.endo_names_long, 'lk_x');
M_.endo_names = char(M_.endo_names, 'lk_n');
M_.endo_names_tex = char(M_.endo_names_tex, 'lk\_n');
M_.endo_names_long = char(M_.endo_names_long, 'lk_n');
M_.endo_names = char(M_.endo_names, 'lR');
M_.endo_names_tex = char(M_.endo_names_tex, 'lR');
M_.endo_names_long = char(M_.endo_names_long, 'lR');
M_.endo_names = char(M_.endo_names, 'lq');
M_.endo_names_tex = char(M_.endo_names_tex, 'lq');
M_.endo_names_long = char(M_.endo_names_long, 'lq');
M_.endo_names = char(M_.endo_names, 'lA');
M_.endo_names_tex = char(M_.endo_names_tex, 'lA');
M_.endo_names_long = char(M_.endo_names_long, 'lA');
M_.endo_names = char(M_.endo_names, 'lImp');
M_.endo_names_tex = char(M_.endo_names_tex, 'lImp');
M_.endo_names_long = char(M_.endo_names_long, 'lImp');
M_.endo_names = char(M_.endo_names, 'lImpT');
M_.endo_names_tex = char(M_.endo_names_tex, 'lImpT');
M_.endo_names_long = char(M_.endo_names_long, 'lImpT');
M_.endo_names = char(M_.endo_names, 'lDEF');
M_.endo_names_tex = char(M_.endo_names_tex, 'lDEF');
M_.endo_names_long = char(M_.endo_names_long, 'lDEF');
M_.endo_names = char(M_.endo_names, 'lr');
M_.endo_names_tex = char(M_.endo_names_tex, 'lr');
M_.endo_names_long = char(M_.endo_names_long, 'lr');
M_.endo_names = char(M_.endo_names, 'lTRG');
M_.endo_names_tex = char(M_.endo_names_tex, 'lTRG');
M_.endo_names_long = char(M_.endo_names_long, 'lTRG');
M_.endo_names = char(M_.endo_names, 'lPIB');
M_.endo_names_tex = char(M_.endo_names_tex, 'lPIB');
M_.endo_names_long = char(M_.endo_names_long, 'lPIB');
M_.param_names = 'a';
M_.param_names_tex = 'a';
M_.param_names_long = 'a';
M_.param_names = char(M_.param_names, 'BETTA');
M_.param_names_tex = char(M_.param_names_tex, 'BETTA');
M_.param_names_long = char(M_.param_names_long, 'BETTA');
M_.param_names = char(M_.param_names, 'DELTTA');
M_.param_names_tex = char(M_.param_names_tex, 'DELTTA');
M_.param_names_long = char(M_.param_names_long, 'DELTTA');
M_.param_names = char(M_.param_names, 'TAU');
M_.param_names_tex = char(M_.param_names_tex, 'TAU');
M_.param_names_long = char(M_.param_names_long, 'TAU');
M_.param_names = char(M_.param_names, 'ALPHHA');
M_.param_names_tex = char(M_.param_names_tex, 'ALPHHA');
M_.param_names_long = char(M_.param_names_long, 'ALPHHA');
M_.param_names = char(M_.param_names, 'PSSI');
M_.param_names_tex = char(M_.param_names_tex, 'PSSI');
M_.param_names_long = char(M_.param_names_long, 'PSSI');
M_.param_names = char(M_.param_names, 'RHHO');
M_.param_names_tex = char(M_.param_names_tex, 'RHHO');
M_.param_names_long = char(M_.param_names_long, 'RHHO');
M_.param_names = char(M_.param_names, 'TAU_H');
M_.param_names_tex = char(M_.param_names_tex, 'TAU\_H');
M_.param_names_long = char(M_.param_names_long, 'TAU_H');
M_.param_names = char(M_.param_names, 'YPSILOON');
M_.param_names_tex = char(M_.param_names_tex, 'YPSILOON');
M_.param_names_long = char(M_.param_names_long, 'YPSILOON');
M_.param_names = char(M_.param_names, 'THETTA');
M_.param_names_tex = char(M_.param_names_tex, 'THETTA');
M_.param_names_long = char(M_.param_names_long, 'THETTA');
M_.param_names = char(M_.param_names, 'OMEGGA');
M_.param_names_tex = char(M_.param_names_tex, 'OMEGGA');
M_.param_names_long = char(M_.param_names_long, 'OMEGGA');
M_.param_names = char(M_.param_names, 'SIGMMA');
M_.param_names_tex = char(M_.param_names_tex, 'SIGMMA');
M_.param_names_long = char(M_.param_names_long, 'SIGMMA');
M_.param_names = char(M_.param_names, 'MUU');
M_.param_names_tex = char(M_.param_names_tex, 'MUU');
M_.param_names_long = char(M_.param_names_long, 'MUU');
M_.exo_det_nbr = 0;
M_.exo_nbr = 3;
M_.endo_nbr = 17;
M_.param_nbr = 13;
M_.orig_endo_nbr = 17;
M_.aux_vars = [];
M_.Sigma_e = zeros(3, 3);
M_.Correlation_matrix = eye(3, 3);
M_.H = 0;
M_.Correlation_matrix_ME = 1;
M_.sigma_e_is_diagonal = 1;
options_.block=0;
options_.bytecode=0;
options_.use_dll=0;
erase_compiled_function('octavo_log_static');
erase_compiled_function('octavo_log_dynamic');
M_.lead_lag_incidence = [
 0 0 0;
 0 6 0;
 0 7 22;
 0 8 0;
 0 9 0;
 1 10 0;
 2 11 0;
 3 12 0;
 0 13 23;
 4 14 24;
 5 15 0;
 0 16 0;
 0 17 0;
 0 18 0;
 0 19 0;
 0 20 0;
 0 21 0;]';
M_.nstatic = 10;
M_.nfwrd   = 2;
M_.npred   = 4;
M_.nboth   = 1;
M_.nsfwrd   = 3;
M_.nspred   = 5;
M_.ndynamic   = 7;
M_.equations_tags = {
};
M_.static_and_dynamic_models_differ = 0;
M_.exo_names_orig_ord = [1:3];
M_.maximum_lag = 1;
M_.maximum_lead = 1;
M_.maximum_endo_lag = 1;
M_.maximum_endo_lead = 1;
oo_.steady_state = zeros(17, 1);
M_.maximum_exo_lag = 0;
M_.maximum_exo_lead = 0;
oo_.exo_steady_state = zeros(3, 1);
M_.params = NaN(13, 1);
M_.NNZDerivatives = zeros(3, 1);
M_.NNZDerivatives(1) = 61;
M_.NNZDerivatives(2) = 131;
M_.NNZDerivatives(3) = -1;
M_.params( 1 ) = 0.709308531540522;
a = M_.params( 1 );
M_.params( 2 ) = 0.98;
BETTA = M_.params( 2 );
M_.params( 3 ) = 0.028;
DELTTA = M_.params( 3 );
M_.params( 5 ) = 0.70;
ALPHHA = M_.params( 5 );
M_.params( 6 ) = 0.19;
PSSI = M_.params( 6 );
M_.params( 4 ) = 0.25;
TAU = M_.params( 4 );
M_.params( 8 ) = 0.76;
TAU_H = M_.params( 8 );
M_.params( 7 ) = 0.51;
RHHO = M_.params( 7 );
M_.params( 9 ) = 1.71;
YPSILOON = M_.params( 9 );
M_.params( 10 ) = 0.32986477481168;
THETTA = M_.params( 10 );
M_.params( 12 ) = 0.0131155962790807;
SIGMMA = M_.params( 12 );
M_.params( 11 ) = 15;
OMEGGA = M_.params( 11 );
M_.params( 13 ) = 0.989924;
MUU = M_.params( 13 );
end;    
%
% INITVAL instructions
%
options_.initval_file = 0;
oo_.steady_state( 4 ) = 30.3812;
oo_.steady_state( 5 ) = 10.0293;
oo_.steady_state( 3 ) = 59.2803;
oo_.steady_state( 4 ) = 0.3968;
oo_.steady_state( 8 ) = 195.0152;
oo_.steady_state( 6 ) = 250.7338;
oo_.steady_state( 2 ) = 51.1596;
oo_.steady_state( 7 ) = 55.7186;
oo_.steady_state( 12 ) = 12.2311;
oo_.steady_state( 13 ) = 45.0106;
oo_.steady_state( 9 ) = 0.0972222222222;
oo_.steady_state( 10 ) = 1;
oo_.steady_state( 11 ) = 1;
oo_.steady_state( 14 ) = 0;
oo_.steady_state( 15 ) = 0.041666667;
oo_.steady_state( 16 ) = 51.7526255069492;
if M_.exo_nbr > 0;
	oo_.exo_simul = [ones(M_.maximum_lag,1)*oo_.exo_steady_state'];
end;
if M_.exo_det_nbr > 0;
	oo_.exo_det_simul = [ones(M_.maximum_lag,1)*oo_.exo_det_steady_state'];
end;
options_.steady.maxit = 10000;
steady;
oo_.dr.eigval = check(M_,options_,oo_);
%
% SHOCKS instructions
%
make_ex_;
M_.exo_det_length = 0;
M_.Sigma_e(1, 1) = (0.01)^2;
M_.Sigma_e(2, 2) = (0.01)^2;
M_.Sigma_e(3, 3) = (0.01)^2;
var_list_=[];
info = stoch_simul(var_list_);
save('octavo_log_results.mat', 'oo_', 'M_', 'options_');
if exist('estim_params_', 'var') == 1
  save('octavo_log_results.mat', 'estim_params_', '-append');
end
if exist('bayestopt_', 'var') == 1
  save('octavo_log_results.mat', 'bayestopt_', '-append');
end
if exist('dataset_', 'var') == 1
  save('octavo_log_results.mat', 'dataset_', '-append');
end
if exist('estimation_info', 'var') == 1
  save('octavo_log_results.mat', 'estimation_info', '-append');
end


disp(['Total computing time : ' dynsec2hms(toc) ]);
if ~isempty(lastwarn)
  disp('Note: warning(s) encountered in MATLAB/Octave code')
end
diary off
