diff --git a/matlab/evaluate_planner_objective.m b/matlab/evaluate_planner_objective.m index d0a06d771fed3534dd47cde4b56ed3e5f0436f90..cbb1d13b4664ad5eed4fe30d441e7fc243a902e6 100644 --- a/matlab/evaluate_planner_objective.m +++ b/matlab/evaluate_planner_objective.m @@ -28,14 +28,17 @@ function planner_objective_value = evaluate_planner_objective(M,options,oo) % You should have received a copy of the GNU General Public License % along with Dynare. If not, see <http://www.gnu.org/licenses/>. +if options.order>1 + fprintf('\nevaluate_planner_objective: order>1 not yet supported\n') + planner_objective_value = NaN; + return +end dr = oo.dr; exo_nbr = M.exo_nbr; nstatic = M.nstatic; nspred = M.nspred; if nspred > 180 - disp(' ') - disp(['WARNING in evaluate_planner_objective: model too large, can''t evaluate planner ' ... - 'objective']) + fprintf('\nevaluate_planner_objective: model too large, can''t evaluate planner objective\n') planner_objective_value = NaN; return end @@ -109,15 +112,13 @@ if options.ramsey_policy end if ~options.noprint - skipline() - disp('Approximated value of planner objective function') + fprintf('\nApproximated value of planner objective function\n') if options.ramsey_policy - disp([' - with initial Lagrange multipliers set to 0: ' ... - num2str(planner_objective_value(2)) ]) - disp([' - with initial Lagrange multipliers set to steady state: ' ... - num2str(planner_objective_value(1)) ]) + fprintf(' - with initial Lagrange multipliers set to 0: %10.8f\n', ... + planner_objective_value(2)) + fprintf(' - with initial Lagrange multipliers set to steady state: %10.8f\n\n', ... + planner_objective_value(1)) elseif options.discretionary_policy - fprintf('with discretionary policy: %10.8f',planner_objective_value(1)) + fprintf('with discretionary policy: %10.8f\n\n',planner_objective_value(1)) end - skipline() end diff --git a/tests/optimal_policy/Ramsey/Gali_commitment.mod b/tests/optimal_policy/Ramsey/Gali_commitment.mod index 029b2b33c059252318c05db944d1b365151c68db..ce68001b9b69084dbb8b6079d39e0d6f83eef064 100644 --- a/tests/optimal_policy/Ramsey/Gali_commitment.mod +++ b/tests/optimal_policy/Ramsey/Gali_commitment.mod @@ -3,7 +3,7 @@ * in Jordi Gal� (2008): Monetary Policy, Inflation, and the Business Cycle, * Princeton University Press, Chapter 5.1.2 * - * It demonstrates how to use the ramsey_policy command of Dynare. + * It demonstrates how to use the ramsey_model command of Dynare. * * Notes: * - all model variables are expressed in deviations from steady state, i.e. @@ -18,7 +18,7 @@ */ /* - * Copyright (C) 2015 Johannes Pfeifer + * Copyright (C) 2015-19 Johannes Pfeifer * * This is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -168,7 +168,8 @@ end; //planner objective using alpha_x expressed as function of deep parameters planner_objective pi^2 +(((1-theta)*(1-betta*theta)/theta*((1-alppha)/(1-alppha+alppha*epsilon)))*(siggma+(phi+alppha)/(1-alppha)))/epsilon*y_gap^2; -ramsey_policy(instruments=(i),irf=13,planner_discount=betta) x pi p u; +ramsey_model(instruments=(i),planner_discount=betta); +stoch_simul(order=1,irf=13) x pi p u; verbatim; %% Check correctness diff --git a/tests/optimal_policy/Ramsey/ramsey_ex_aux.mod b/tests/optimal_policy/Ramsey/ramsey_ex_aux.mod index bcf0669746306a7adac88af0564d87d1237993e4..bd44e8082d7d6ca27ddfc06e6f9390b080a206a8 100644 --- a/tests/optimal_policy/Ramsey/ramsey_ex_aux.mod +++ b/tests/optimal_policy/Ramsey/ramsey_ex_aux.mod @@ -49,4 +49,6 @@ var u; stderr 0.008; end; planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); -ramsey_policy(planner_discount=0.99,order=1,instruments=(r)); +ramsey_model(planner_discount=0.99,instruments=(r)); +stoch_simul(order=1,periods=500); +evaluate_planner_objective; \ No newline at end of file diff --git a/tests/optimal_policy/Ramsey/ramsey_ex_wrong_ss_file_xfail.mod b/tests/optimal_policy/Ramsey/ramsey_ex_wrong_ss_file_xfail.mod index 3b44bad17b16465d7c398c498511b74928c7fb4c..d77b7566a947cad4cfa7eab5adadac7d429c9d79 100644 --- a/tests/optimal_policy/Ramsey/ramsey_ex_wrong_ss_file_xfail.mod +++ b/tests/optimal_policy/Ramsey/ramsey_ex_wrong_ss_file_xfail.mod @@ -38,4 +38,6 @@ var u; stderr 0.008; end; planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); -ramsey_policy(planner_discount=0.99,order=1,instruments=(r)); \ No newline at end of file +ramsey_model(planner_discount=0.99,order=1,instruments=(r)); +stoch_simul(order=1,periods=500); +evaluate_planner_objective; \ No newline at end of file diff --git a/tests/optimal_policy/Ramsey/ramsey_histval.mod b/tests/optimal_policy/Ramsey/ramsey_histval.mod index bb9cdb0f8759b81012328d3db3eea6ad04495473..09ee4c68999e9dc5b9de2e397b5f3d4f9563d4a8 100644 --- a/tests/optimal_policy/Ramsey/ramsey_histval.mod +++ b/tests/optimal_policy/Ramsey/ramsey_histval.mod @@ -41,4 +41,5 @@ values 1; end; options_.dr_display_tol=0; planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); -ramsey_policy(planner_discount=0.99,order=1,instruments=(r),periods=500); \ No newline at end of file +ramsey_model(planner_discount=0.99,instruments=(r)); +stoch_simul(order=1,periods=500); \ No newline at end of file diff --git a/tests/optimal_policy/Ramsey/ramsey_histval_xfail.mod b/tests/optimal_policy/Ramsey/ramsey_histval_xfail.mod index 0af81202ddf9aed3dc856a397e8f90f5d7b2e672..24a68adc7c5dbaf04f1d7cf046920464dccfc241 100644 --- a/tests/optimal_policy/Ramsey/ramsey_histval_xfail.mod +++ b/tests/optimal_policy/Ramsey/ramsey_histval_xfail.mod @@ -41,4 +41,6 @@ values 1; end; options_.dr_display_tol=0; planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); -ramsey_policy(planner_discount=0.99,order=1,instruments=(r),periods=500); \ No newline at end of file +ramsey_model(planner_discount=0.99,instruments=(r)); +stoch_simul(order=1,periods=500); +evaluate_planner_objective; \ No newline at end of file diff --git a/tests/optimal_policy/mult_elimination_test.mod b/tests/optimal_policy/mult_elimination_test.mod index b1523248aea650c78831917494ec43223f2cafe5..63b4f93054b4c719961b0ef8a45f7c5c2be54520 100644 --- a/tests/optimal_policy/mult_elimination_test.mod +++ b/tests/optimal_policy/mult_elimination_test.mod @@ -45,7 +45,8 @@ end; planner_objective 0.25*pie_obs^2+y^2+0.1*dR^2; -ramsey_policy(order=1,irf=0,planner_discount=0.95); +ramsey_model(planner_discount=0.95); +stoch_simul(order=1,irf=0); dr2 = mult_elimination({'R'},M_,options_,oo_); diff --git a/tests/optimal_policy/nk_ramsey.mod b/tests/optimal_policy/nk_ramsey.mod index 3b35cf51c87c6be1f6f264f9694a34e94f76c15f..0b2a317d85e3736e984b22ae4c0e9f373175ee2e 100644 --- a/tests/optimal_policy/nk_ramsey.mod +++ b/tests/optimal_policy/nk_ramsey.mod @@ -84,7 +84,8 @@ planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); write_latex_static_model; -ramsey_policy(planner_discount=0.99); - +ramsey_model(planner_discount=0.99); +stoch_simul(order=1,irf=20); +evaluate_planner_objective; diff --git a/tests/optimal_policy/nk_ramsey_det.mod b/tests/optimal_policy/nk_ramsey_det.mod index 772e69a66a7b7340fb510dce794bb89b6fb95e82..8d1bd2ae8f893221ca56839046489bd2f5433315 100644 --- a/tests/optimal_policy/nk_ramsey_det.mod +++ b/tests/optimal_policy/nk_ramsey_det.mod @@ -13,8 +13,6 @@ var pai, c, n, r, a; varexo u; - - //------------------------------------------------------------------------------------------------------------------------ // 2. Parameter declaration and calibration //------------------------------------------------------------------------------------------------------------------------- @@ -29,25 +27,16 @@ phi=1; //coefficient associated to labor effort disutility rho=0.95; //coefficient associated to productivity shock - //----------------------------------------------------------------------------------------------------------------------- // 3. The model //----------------------------------------------------------------------------------------------------------------------- - model; - - a=rho*(a(-1))+u; - 1/c=beta*(1/(c(+1)))*(r/(pai(+1))); //euler - - omega*pai*(pai-1)=beta*omega*(c/(c(+1)))*(pai(+1))*(pai(+1)-1)+epsilon*exp(a)*n*(c/exp(a)*phi*n^gamma-(epsilon-1)/epsilon); //NK pc //pai*(pai-1)/c = beta*pai(+1)*(pai(+1)-1)/c(+1)+epsilon*phi*n^(gamma+1)/omega-exp(a)*n*(epsilon-1)/(omega*c); //NK pc - (exp(a))*n=c+(omega/2)*((pai-1)^2); - end; //-------------------------------------------------------------------------------------------------------------------------- @@ -55,18 +44,14 @@ end; //--------------------------------------------------------------------------------------------------------------------------- initval; - pai=1; r=1/beta; c=0.9671684882; n=0.9671684882; a=0; - - end; - //--------------------------------------------------------------------------------------------------------------------------- // 5. shocks //--------------------------------------------------------------------------------------------------------------------------- @@ -86,11 +71,9 @@ planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); write_latex_static_model; ramsey_model(planner_discount=0.99); - -options_.ramsey_policy=1; steady; -options_.simul.maxit = 20; -simul(periods=100); +perfect_foresight_setup(periods=200); +perfect_foresight_solver(maxit=20); rplot r; diff --git a/tests/optimal_policy/nk_ramsey_expectation.mod b/tests/optimal_policy/nk_ramsey_expectation.mod index 00212c000cc20a5a4fd3b12a0584bd63070614c7..246d426c4da59c7a5da9bb90d1908fcb67765746 100644 --- a/tests/optimal_policy/nk_ramsey_expectation.mod +++ b/tests/optimal_policy/nk_ramsey_expectation.mod @@ -90,7 +90,7 @@ write_latex_static_model; write_latex_dynamic_model; options_.solve_tolf=1e-12; -ramsey_policy(planner_discount=0.99); - - +ramsey_model(planner_discount=0.99); +stoch_simul(order=1,irf=0); +evaluate_planner_objective; diff --git a/tests/optimal_policy/nk_ramsey_expectation_a.mod b/tests/optimal_policy/nk_ramsey_expectation_a.mod index 8755e7f36726c855fb6b1cec140a914c5e311674..fc79789371dc0bd7ac076fb793c22422b8a156eb 100644 --- a/tests/optimal_policy/nk_ramsey_expectation_a.mod +++ b/tests/optimal_policy/nk_ramsey_expectation_a.mod @@ -89,7 +89,9 @@ end; planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); options_.solve_tolf=1e-12; -ramsey_policy(planner_discount=0.99); +ramsey_model(planner_discount=0.99); +stoch_simul(order=1,irf=0); +evaluate_planner_objective; o1=load('nk_ramsey_expectation_results'); if (norm(o1.oo_.dr.ghx-oo_.dr.ghx,inf) > 1e-12) diff --git a/tests/optimal_policy/nk_ramsey_model.mod b/tests/optimal_policy/nk_ramsey_model.mod index f2736f916bcac027dc04cdebc7f06d93177bffc6..dbce8ecfe4cbdd55f8f2e0748a698d9d7663cc81 100644 --- a/tests/optimal_policy/nk_ramsey_model.mod +++ b/tests/optimal_policy/nk_ramsey_model.mod @@ -85,6 +85,5 @@ planner_objective(ln(c)-phi*((n^(1+gamma))/(1+gamma))); write_latex_static_model; ramsey_model(planner_discount=0.99); -options_.ramsey_policy=1; stoch_simul(irf=0); - +evaluate_planner_objective; diff --git a/tests/optimal_policy/ramsey_.mod b/tests/optimal_policy/ramsey_.mod index 4242f3d199af4eb25c6e83984ab03188eba42e55..93917e701762ac98e877c03bacd4aef9ff919874 100644 --- a/tests/optimal_policy/ramsey_.mod +++ b/tests/optimal_policy/ramsey_.mod @@ -28,4 +28,6 @@ planner_objective inflation^2 + lambda1*y^2 + lambda2*r^2; write_latex_dynamic_model; -ramsey_policy(planner_discount=0.95, order = 1); +ramsey_model(planner_discount=0.95); +stoch_simul(order=1); +evaluate_planner_objective; \ No newline at end of file