Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • dynare dynare
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 108
    • Issues 108
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 8
    • Merge requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Dynare
  • dynaredynare
  • Issues
  • #1724
Closed
Open
Created May 18, 2020 by Willi Mutschler@wmutschlDeveloper

Discuss interface for method of Moments in Dynare (GMM, SMM, IRF Matching)

Hey, I am working on a first draft for a toolbox for moment estimation with GMM, SMM and IRF-Matching (I will start with GMM, then SMM, and deal with IRF-matching later) which will work for perturbation (with pruning) up to third-order. I have a couple of questions|proposal for the best interface and call for this and would like your guys take on this.

Declaring parameters

Here I would simply opt to what we do in a Maximum likelihood estimation and use the same syntax in an estimated_params or an estimated_params_bounds block:

stderr VARIABLE_NAME | corr VARIABLE_NAME_1, VARIABLE_NAME_2 | PARAMETER_NAME, LOWER_BOUND, UPPER_BOUND;

Declaring which moments to use

Here I would propose a block similar to moment_calibration, but call it estimated_moments:

estimated_moments;
y_obs,y_obs; //[unconditional variance]
y_obs,y_obs(-(1:4)); //[some acf]
@#for ilag in -2:2
y_obs,R_obs(@{ilag}); //[ccf]
@#endfor
end;

Invocation

Now the toughest question. How to invoke it? I see two options.

Option A: Add an option to estimation, e.g.

estimation(moments_estimation='GMM');

Option B: Have an own command for this, e.g.:

gmm_estimation(OPTIONS);
smm_estimation(OPTIONS);
irf_matching(OPTIONS);

which then internally calls a wrapper dynare_moments_estimation.m and runs the toolbox.

What do you guys think?

Edited Jul 16, 2020 by Johannes Pfeifer
Assignee
Assign to
Time tracking