diff --git a/matlab/evaluate_planner_objective.m b/matlab/evaluate_planner_objective.m index d0a06d771..cbb1d13b4 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 . +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 029b2b33c..ce68001b9 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 bcf066974..bd44e8082 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 3b44bad17..d77b7566a 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 bb9cdb0f8..09ee4c689 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 0af81202d..24a68adc7 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 b1523248a..63b4f9305 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 3b35cf51c..0b2a317d8 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 772e69a66..8d1bd2ae8 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 00212c000..246d426c4 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 8755e7f36..fc7978937 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 f2736f916..dbce8ecfe 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 4242f3d19..93917e701 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