Hi Jake,
I know that you all are busy with the new release, but I wanted to try and keep things moving on the ms-sbvar code.

Excellent!
I wanted to make a suggestion on the pre_processor inputs to handle some of the new functionality that we wanted to be have in ms_sbvar.

1.) Instead of having "estimate_model" could this be changed to  "mode_file=FILENAME" similar to the estimation command for dsge models?

It needs to be coupled with mode_compute=0, even if there are not alternative algorithms for computing mode for MS SBVAR models

2.) To have a user be able to load previous simulations could they specify "load_mh_file"
Yes

3.) For the Impulse Response Functions, should the user specify "irf=INTEGER" or "bayesian_irf"

irf=INTEGER specifies the length of the IRF (in solving/simulation and in estimation)
bayesian_irf requests the posterior distribution of the IRFs (in estimation)

so in estimation context, both options may be used


4.) Should "optim=()" be added for the user to be able to adjust csminwel options (maximum block iterations, convergence increment value, etc.)

optim=() was designed a long time ago to pass optimization options for Matlab's fmincon(). It has the advantage of passing option names that are not known from the preprocessor.

It would certainly be desirable to let the user specify options for csminwel.

I'm a bit hesitant about just passing arbitrary option names as in in optim=() or putting in the preprocessor the list of options for each optimizer known to Dynare that can be changed by the user. What do you think?

5.) The simulation options can be simplified to work with Dan's new code: 

n_draws=INTEGER (draws to save) Should this be changed to mh_replic= ?
yes
burnin=INTEGER
we use drop=INTEGER
thinning_factor=INTEGER
what exactly does thinning_factor?
mh=INTEGER (Tuning period for adaptive MH), perhaps another name 'adaptive_mh_draws'?
adaptive_mh_draws is OK by me

We should probably also use adaptive_mh_draws in DSGE estimation


(thin*n_draws+burnin = total number of draws)

The current options in the preprocessor that relate to simulation options:

n_draws
thinning_factor
proposal_draws
draws_nbr_burn_in_1
draws_nbr_burn_in_2
draws_nbr_mean_var_estimate
draws_nbr_modified_harmonic_mean
dirichlet_scale



All the best,

Michel

Jacob Smith
Quantitative Research Analysis Specialist
Federal Reserve Bank of Atlanta
1000 Peachtree St NE
Atlanta, GA 30309-4470
Phone: 404.498.8093
Email: Jacob.Smith@atl.frb.org

On Feb 16, 2011, at 5:20 AM, Sébastien Villemot wrote:

Hi Jake,

I didn’t merge your changes. To achieve your goal, you don’t need to
introduce a new "vec_float" rule and all the associated logic (by the way,
we should not use floats but doubles).

A very easy way to achieve the same goal is to use "vec_value" in the
Bison file. It is already used by "o_gsa_threshold_redform" option, and
I think it does what you need. The strings are never converted to
doubles, but we don’t need to have them converted: we just pass them
over to MATLAB.

Please update your changes (which should now become very minimal).
Sorry for the inconvenience.

Best,

Jacob Smith <jacob.smith@atl.frb.org> writes:

Hi Michel,

These changes have been pushed.

Jacob Smith
Quantitative Research Analysis Specialist
Federal Reserve Bank of Atlanta
1000 Peachtree St NE
Atlanta, GA 30309-4470
Phone: 404.498.8093
Email: Jacob.Smith@atl.frb.org

On Feb 13, 2011, at 12:41 PM, Michel Juillard wrote:

   Hi Jake,

   thanks. I understand now. I looked at your last changes pushed to dynare-jake.git
   1) your changes to ParsingDriver.cc (+hh) remove void ParsingDriver::add_steady_state_model_equal_multiple() at the very end of the file. I don't understand the change
   2) There is also a change to spaces in add_expectation()
   3) I prefer the longer option name "coefficients_prior_hyperparameters" to the more cryptic "sz_prior"

   Could you please modify your last change and push it again?

   All the best

   Michel

   On 02/11/2011 10:11 PM, Jacob Smith wrote:

       Hi Michel,

       My apologies for the confusion in my last email, my addition was to the ms_sbvar options list, so that the user just adds an option if they want to change the hyper
       parameters that relate to the Sims/Zha prior. I have pushed these changes to the repository.

       To use Stephane's example on how you would modify the hyper-parameters of the ms_sbvar model you would do the following:

       ms_sbvar(datafile = data_59Q2_05Q4,
             freq=4,
             initial_year=1959,
             final_year=2005,
             initial_subperiod=2,
             final_subperiod=4,
             nlags=4,
             draws_nbr_modified_harmonic_mean=100,
             sz_prior=[1.2,2.1,1.2,2.1,1.2,2.1]
             );

       The default has been set to sz_prior = [1.0 1.0 0.1 1.2 1.0 1.0], in the global_initialization.m file.

       Currently there are some bugs in the repository though that have been introduced by the directories being renamed. I have not wanted to step on anyone's changes so I
       haven't made a commit to fix the problems with the subdirectories (identification,etc.) in ms-sbvar not being loaded into the user's path.

       I will be happy to make any modifications that you need if this is not what you would prefer as it relates to how you specify these hyper-parameters.

       Jacob Smith
       Quantitative Research Analysis Specialist
       Federal Reserve Bank of Atlanta
       1000 Peachtree St NE
       Atlanta, GA 30309-4470
       Phone: 404.498.8093
       Email: Jacob.Smith@atl.frb.org

       On Feb 11, 2011, at 3:15 PM, Michel Juillard wrote:

           Hi Jake,

           currently, in Dynare, the main entry point is

           swz_sbvar(ms_flag, M, options)

           whith

           ms_flag = 1: Markov Switching; =2: simple SBVAR
           M: parameters from the *.mod file (probably the only one that one needs is M.fname)
           options: all options

           1) we should rename swz_sbvar() to ms_sbvar() and make other changes required by the renaming of the directory
           2) your example seems to have only a small list of options, how do you pass the other ones that are listed on the wiki?

           All the best,

           Michel

           On 02/11/2011 04:01 PM, Jacob Smith wrote:

               Hi Stephane,

               I have added this capability to the version I was working on with other changes for the new code from Dan. Currently I had named the option  'sz_prior' but could
               easily change it to the name you suggest Michel. It allows the user to to specify a vector of 6 floats, like so:

               ms_sbvar(datafile = data,
               freq=4,initial_year=1959,
               final_year=2005,
               nlags=5,
               draws_nbr_modified_harmonic_mean=10000,
               sz_prior=[1.2,1.1,1.2,1.1,1.2,1.1]);

               I will be happy to push the changes to the preprocessor along with the changes to some Matlab files to use these options to the Dynare repository.

               Jacob Smith
               Quantitative Research Analysis Specialist
               Federal Reserve Bank of Atlanta
               1000 Peachtree St NE
               Atlanta, GA 30309-4470
               Phone: 404.498.8093
               Email: Jacob.Smith@atl.frb.org

               On Feb 11, 2011, at 7:32 AM, Michel Juillard wrote:

                   Hi Stephane,

                   thanks for reporting the problem. I think that we should do both as we have only suggested priors for monthly and quarterly. The code should fail and ask the
                   user to set his/her own values for the mu's when the frequency is not monthly or quarterly.
                   I suggest to call the option "coefficients_prior_hyperparameters" and require the user to supply a vector of 6 real numbers.

                   Please, always include houtan.bastani@ens.fr in the messages relative to this project.

                   Best

                   Michel

                   On 2/11/2011 1:20 PM, T. Zha wrote:

                       Jake:

                       Please investigate the following problem.

                       Thank you.

                       Tao

                       ---------
                       On Feb 11, 2011, at 5:35 AM, <Stephane.LHUISSIER@banque-france.fr> <Stephane.LHUISSIER@banque-france.fr> wrote:

                       Dear Michel and Tao,

                       The dynare interface does not let the user to change the prior specification on SBVAR coefficients. In the file “msstart_setup” (from line 112), you can see
                       that the priors (mu) are defined for monthly data. If the user wants to use quarterly data, he has to change the values of mu_i directly on this file.
                       In order to improve this, I think that two solutions are possible :
                       1)      Adding an interface in dynare for defining its own values.
                       2)      Following Sims and Zha (1998) ‘s suggestions and in this case, here is an example :

                       % === The following mu is effective only if options_.ms.bayesian_prior==1.
                       if (options_.ms.freq==12)
                       mu = zeros(6,1);   % hyperparameters
                       mu(1) = 0.57;
                       mu(2) = 0.13;
                       mu(3) = 0.1;
                       mu(4) = 1.5;
                       mu(5) = 5;
                       mu(6) = 5;
                       elseif (options_.ms.freq==4)
                       mu = zeros(6,1);   % hyperparameters
                       mu(1) = 1;
                       mu(2) = 1;
                       mu(3) = 0.1;
                       mu(4) = 1;
                       mu(5) = 1;
                       mu(6) = 1;
                       else
                          disp('Warning: this code is only good for monthly/quarterly data!!!')
                          return
                       end

                       Stéphane

                       **************************************************************
                       Ce mel est a l'attention exclusive des destinataires designes.
                       Il peut contenir des informations confidentielles.
                       Si vous le recevez par erreur, merci d'en informer sans delai l'expediteur.

                       Le contenu de ce mel ne pourrait engager la responsabilite de la Banque de France
                       que s'il a ete emis par une personne dument habilitee agissant dans le strict
                       cadre des fonctions auxquelles elle est employee et a des fins non etrangeres a ses attributions.
                       **************************************************************


--
Sébastien Villemot
CEPREMAP - Paris School of Economics
Homepage: http://www.dynare.org/sebastien
Landline phone: +33 1 40 77 49 90
SIP phone: sebastien.villemot@ekiga.net
PGP Key: 0xA6C029B9D06B2913D71C105EBE37E801FB6EFF8B (http://pgp.mit.edu/)