From e214ec297624deb81529bde1e310f8d6136e9eca Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Tue, 7 Jun 2016 10:11:49 +0200
Subject: [PATCH] Allow for parameter_set=mle_mode in conditional_forecast

---
 matlab/imcforecast.m                                  | 11 ++++++++++-
 .../compare_results_simulation/fs2000_ML.mod          | 10 ++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/matlab/imcforecast.m b/matlab/imcforecast.m
index ca8ad98858..b9ffeac4e3 100644
--- a/matlab/imcforecast.m
+++ b/matlab/imcforecast.m
@@ -46,7 +46,13 @@ function imcforecast(constrained_paths, constrained_vars, options_cond_fcst)
 global options_ oo_ M_ bayestopt_
 
 if ~isfield(options_cond_fcst,'parameter_set') || isempty(options_cond_fcst.parameter_set)
-    options_cond_fcst.parameter_set = 'posterior_mode';
+    if isfield(oo_,'posterior_mode')
+        options_cond_fcst.parameter_set = 'posterior_mode';
+    elseif isfield(oo_,'mle_mode')
+        options_cond_fcst.parameter_set = 'mle_mode';
+    else
+        error('No valid parameter set found')
+    end
 end
 
 if ~isfield(options_cond_fcst,'replic') || isempty(options_cond_fcst.replic)
@@ -82,6 +88,9 @@ if estimated_model
           case 'posterior_median'
             xparam = get_posterior_parameters('median');
             graph_title='Posterior Median';
+          case 'mle_mode'
+            xparam = get_posterior_parameters('mode','mle_');
+            graph_title='ML Mode';
           case 'prior_mode'
             xparam = bayestopt_.p5(:);
             graph_title='Prior Mode';
diff --git a/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod b/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod
index 775abce9d7..b02355b039 100644
--- a/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod
+++ b/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod
@@ -164,3 +164,13 @@ end
 
 shock_decomposition;
 
+conditional_forecast_paths;
+var gy_obs;
+periods  1  2  3:5;
+values   0.01 -0.02 0;
+var gp_obs;
+periods 1:5;
+values  0.05;
+end;
+
+conditional_forecast(parameter_set=mle_mode, controlled_varexo=(e_a,e_m));
-- 
GitLab