%
% 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_
options_ = [];
M_.fname = 'BGG_distortionary_tax';
%
% Some global variables initialization
%
global_initialization;
diary off;
warning_old_state = warning;
warning off;
delete BGG_distortionary_tax.log;
warning warning_old_state
logname_ = 'BGG_distortionary_tax.log';
diary BGG_distortionary_tax.log
M_.exo_names = 'e_a';
M_.exo_names_tex = 'e\_a';
M_.exo_names = strvcat(M_.exo_names, 'e_g');
M_.exo_names_tex = strvcat(M_.exo_names_tex, 'e\_g');
M_.exo_names = strvcat(M_.exo_names, 'e_rn');
M_.exo_names_tex = strvcat(M_.exo_names_tex, 'e\_rn');
M_.exo_names = strvcat(M_.exo_names, 'e_xi');
M_.exo_names_tex = strvcat(M_.exo_names_tex, 'e\_xi');
M_.endo_names = 'y';
M_.endo_names_tex = 'y';
M_.endo_names = strvcat(M_.endo_names, 'c');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'c');
M_.endo_names = strvcat(M_.endo_names, 'ce');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'ce');
M_.endo_names = strvcat(M_.endo_names, 'rk');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'rk');
M_.endo_names = strvcat(M_.endo_names, 'r');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'r');
M_.endo_names = strvcat(M_.endo_names, 'n');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'n');
M_.endo_names = strvcat(M_.endo_names, 'q');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'q');
M_.endo_names = strvcat(M_.endo_names, 'k');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'k');
M_.endo_names = strvcat(M_.endo_names, 'x');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'x');
M_.endo_names = strvcat(M_.endo_names, 'i');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'i');
M_.endo_names = strvcat(M_.endo_names, 'h');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'h');
M_.endo_names = strvcat(M_.endo_names, 'pi');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'pi');
M_.endo_names = strvcat(M_.endo_names, 'a');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'a');
M_.endo_names = strvcat(M_.endo_names, 'g');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'g');
M_.endo_names = strvcat(M_.endo_names, 'rn');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'rn');
M_.endo_names = strvcat(M_.endo_names, 'b_g');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'b\_g');
M_.endo_names = strvcat(M_.endo_names, 'xi');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'xi');
M_.endo_names = strvcat(M_.endo_names, 'tau_h');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'tau\_h');
M_.endo_names = strvcat(M_.endo_names, 'S');
M_.endo_names_tex = strvcat(M_.endo_names_tex, 'S');
M_.param_names = 'beta';
M_.param_names_tex = 'beta';
M_.param_names = strvcat(M_.param_names, 'alpha');
M_.param_names_tex = strvcat(M_.param_names_tex, 'alpha');
M_.param_names = strvcat(M_.param_names, 'v');
M_.param_names_tex = strvcat(M_.param_names_tex, 'v');
M_.param_names = strvcat(M_.param_names, 'epsilon');
M_.param_names_tex = strvcat(M_.param_names_tex, 'epsilon');
M_.param_names = strvcat(M_.param_names, 'delta');
M_.param_names_tex = strvcat(M_.param_names_tex, 'delta');
M_.param_names = strvcat(M_.param_names, 'psi');
M_.param_names_tex = strvcat(M_.param_names_tex, 'psi');
M_.param_names = strvcat(M_.param_names, 'omega');
M_.param_names_tex = strvcat(M_.param_names_tex, 'omega');
M_.param_names = strvcat(M_.param_names, 'eta');
M_.param_names_tex = strvcat(M_.param_names_tex, 'eta');
M_.param_names = strvcat(M_.param_names, 'kappa');
M_.param_names_tex = strvcat(M_.param_names_tex, 'kappa');
M_.param_names = strvcat(M_.param_names, 'teta');
M_.param_names_tex = strvcat(M_.param_names_tex, 'teta');
M_.param_names = strvcat(M_.param_names, 'gamma');
M_.param_names_tex = strvcat(M_.param_names_tex, 'gamma');
M_.param_names = strvcat(M_.param_names, 'rho');
M_.param_names_tex = strvcat(M_.param_names_tex, 'rho');
M_.param_names = strvcat(M_.param_names, 'stigma');
M_.param_names_tex = strvcat(M_.param_names_tex, 'stigma');
M_.param_names = strvcat(M_.param_names, 'rho_a');
M_.param_names_tex = strvcat(M_.param_names_tex, 'rho\_a');
M_.param_names = strvcat(M_.param_names, 'rho_g');
M_.param_names_tex = strvcat(M_.param_names_tex, 'rho\_g');
M_.param_names = strvcat(M_.param_names, 'rho_xi');
M_.param_names_tex = strvcat(M_.param_names_tex, 'rho\_xi');
M_.param_names = strvcat(M_.param_names, 'phi_b');
M_.param_names_tex = strvcat(M_.param_names_tex, 'phi\_b');
M_.param_names = strvcat(M_.param_names, 'phi_g');
M_.param_names_tex = strvcat(M_.param_names_tex, 'phi\_g');
M_.param_names = strvcat(M_.param_names, 'rho_tau_h');
M_.param_names_tex = strvcat(M_.param_names_tex, 'rho\_tau\_h');
M_.param_names = strvcat(M_.param_names, 'TAUC');
M_.param_names_tex = strvcat(M_.param_names_tex, 'TAUC');
M_.param_names = strvcat(M_.param_names, 'TAUH');
M_.param_names_tex = strvcat(M_.param_names_tex, 'TAUH');
M_.param_names = strvcat(M_.param_names, 'phi');
M_.param_names_tex = strvcat(M_.param_names_tex, 'phi');
M_.param_names = strvcat(M_.param_names, 'Y_hat');
M_.param_names_tex = strvcat(M_.param_names_tex, 'Y\_hat');
M_.param_names = strvcat(M_.param_names, 'C_Y');
M_.param_names_tex = strvcat(M_.param_names_tex, 'C\_Y');
M_.param_names = strvcat(M_.param_names, 'I_Y');
M_.param_names_tex = strvcat(M_.param_names_tex, 'I\_Y');
M_.param_names = strvcat(M_.param_names, 'G_Y');
M_.param_names_tex = strvcat(M_.param_names_tex, 'G\_Y');
M_.param_names = strvcat(M_.param_names, 'Ce_Y');
M_.param_names_tex = strvcat(M_.param_names_tex, 'Ce\_Y');
M_.param_names = strvcat(M_.param_names, 'K_N');
M_.param_names_tex = strvcat(M_.param_names_tex, 'K\_N');
M_.param_names = strvcat(M_.param_names, 'Y_N');
M_.param_names_tex = strvcat(M_.param_names_tex, 'Y\_N');
M_.param_names = strvcat(M_.param_names, 'K_Y');
M_.param_names_tex = strvcat(M_.param_names_tex, 'K\_Y');
M_.param_names = strvcat(M_.param_names, 'X');
M_.param_names_tex = strvcat(M_.param_names_tex, 'X');
M_.param_names = strvcat(M_.param_names, 'mue');
M_.param_names_tex = strvcat(M_.param_names_tex, 'mue');
M_.param_names = strvcat(M_.param_names, 'f');
M_.param_names_tex = strvcat(M_.param_names_tex, 'f');
M_.param_names = strvcat(M_.param_names, 'w');
M_.param_names_tex = strvcat(M_.param_names_tex, 'w');
M_.param_names = strvcat(M_.param_names, 'integral');
M_.param_names_tex = strvcat(M_.param_names_tex, 'integral');
M_.param_names = strvcat(M_.param_names, 'R');
M_.param_names_tex = strvcat(M_.param_names_tex, 'R');
M_.param_names = strvcat(M_.param_names, 'Rk');
M_.param_names_tex = strvcat(M_.param_names_tex, 'Rk');
M_.exo_det_nbr = 0;
M_.exo_nbr = 4;
M_.endo_nbr = 19;
M_.param_nbr = 37;
M_.Sigma_e = zeros(4, 4);
M_.orig_endo_nbr = 19;
M_.aux_vars = [];
options_.linear = 1;
options_.block=0;
options_.bytecode=0;
options_.use_dll=0;
erase_compiled_function('BGG_distortionary_tax_dynamic');
M_.lead_lag_incidence = [
 0 11 0;
 0 12 30;
 0 13 0;
 0 14 31;
 1 15 0;
 2 16 0;
 3 17 0;
 4 18 0;
 0 19 0;
 0 20 0;
 0 21 0;
 5 22 32;
 6 23 0;
 7 24 0;
 8 25 0;
 9 26 0;
 10 27 33;
 0 28 0;
 0 29 0;]';
M_.equations_tags = {
};
M_.exo_names_orig_ord = [1:4];
M_.maximum_lag = 1;
M_.maximum_lead = 1;
M_.maximum_endo_lag = 1;
M_.maximum_endo_lead = 1;
oo_.steady_state = zeros(19, 1);
M_.maximum_exo_lag = 0;
M_.maximum_exo_lead = 0;
oo_.exo_steady_state = zeros(4, 1);
M_.params = repmat(NaN,37, 1);
M_.NNZDerivatives = zeros(3, 1);
M_.NNZDerivatives(1) = 89;
M_.NNZDerivatives(2) = 12;
M_.NNZDerivatives(3) = 0;
M_.params( 1 ) = 0.99;
beta = M_.params( 1 );
M_.params( 2 ) = 0.35;
alpha = M_.params( 2 );
M_.params( 3 ) = 0.05;
v = M_.params( 3 );
M_.params( 4 ) = 0.94752;
epsilon = M_.params( 4 );
M_.params( 5 ) = 0.025;
delta = M_.params( 5 );
M_.params( 6 ) = 0.25;
psi = M_.params( 6 );
M_.params( 7 ) = 0.98462;
omega = M_.params( 7 );
M_.params( 8 ) = 3;
eta = M_.params( 8 );
M_.params( 9 ) = 0.085833;
kappa = M_.params( 9 );
M_.params( 10 ) = 0.75;
teta = M_.params( 10 );
M_.params( 11 ) = 0.9728;
gamma = M_.params( 11 );
M_.params( 12 ) = 0.9;
rho = M_.params( 12 );
M_.params( 13 ) = 0.11;
stigma = M_.params( 13 );
M_.params( 14 ) = 1;
rho_a = M_.params( 14 );
M_.params( 15 ) = 0.95;
rho_g = M_.params( 15 );
M_.params( 16 ) = 0.66;
rho_xi = M_.params( 16 );
M_.params( 22 ) = 0.3;
phi = M_.params( 22 );
M_.params( 20 ) = 0.05;
TAUC = M_.params( 20 );
M_.params( 21 ) = 0.028;
TAUH = M_.params( 21 );
M_.params( 24 ) = 0.5145312;
C_Y = M_.params( 24 );
M_.params( 25 ) = 0.182291667;
I_Y = M_.params( 25 );
M_.params( 23 ) = 1.2;
Y_hat = M_.params( 23 );
M_.params( 26 ) = 0.2;
G_Y = M_.params( 26 );
M_.params( 27 ) = 0.1017;
Ce_Y = M_.params( 27 );
M_.params( 30 ) = 7.2939;
K_Y = M_.params( 30 );
M_.params( 36 ) = 1/M_.params(1);
R = M_.params( 36 );
M_.params( 37 ) = M_.params(36)+0.02;
Rk = M_.params( 37 );
M_.params( 28 ) = 2;
K_N = M_.params( 28 );
M_.params( 29 ) = 0.2825;
Y_N = M_.params( 29 );
M_.params( 31 ) = 1.2;
X = M_.params( 31 );
M_.params( 32 ) = 0.12;
mue = M_.params( 32 );
M_.params( 34 ) = 0.2643;
w = M_.params( 34 );
M_.params( 35 ) = 0.0017;
integral = M_.params( 35 );
M_.params( 33 ) = 0.1586;
f = M_.params( 33 );
check;
steady;
%
% SHOCKS instructions
%
make_ex_;
M_.exo_det_length = 0;
M_.Sigma_e(1, 1) = (0.1)^2;
M_.Sigma_e(2, 2) = (0.1)^2;
M_.Sigma_e(3, 3) = (0.0025)^2;
M_.Sigma_e(4, 4) = (0.1)^2;
M_.sigma_e_is_diagonal = 1;
options_.irf = 100;
var_list_=[];
info = stoch_simul(var_list_);
save('BGG_distortionary_tax_results.mat', 'oo_', 'M_', 'options_');
diary off

disp(['Total computing time : ' dynsec2hms(toc) ]);
