Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • dynare dynare
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 118
    • Issues 118
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 4
    • Merge requests 4
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and 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
  • DynareDynare
  • dynaredynare
  • Merge requests
  • !1844

Heteroschedastic filter and smoother

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Marco Ratto requested to merge rattoma/dynare:heteroschedastic_filters into master May 03, 2021
  • Overview 15
  • Commits 14
  • Pipelines 6
  • Changes 17

Implements heteroschedastic filters, where shocks standard error may unexpectedly change in every period. shocks standard deviation may be set/modified in each observed period by

  • a scale factor, i.e. if std0 is the usual standard error for shock1, std(shock1|t)=std0(shock1)*scale(t)
  • an imputed value: std(shock1|t)=value(t)

Preprocessor requirements:

  1. new option heteroschedastic_filter for estimation and evaluate_smoother: triggers the field options_.heteroschedastic_filter.
  2. new block heteroschedastic_shocks:
heteroschedastic_shocks;

var e1;
periods 86:97;
scale 0.5 0.5 (zeros(1,10));

var e2;
periods 86:97;
value 0.04 0.04 (repmat(0.01,[1 10]));
end;

var e3;
periods 86:87;
value 0.04 0.04 ;
end;

var e3;
periods 88:97;
scale 0;
end;

that triggers the following fields in M_:

M_.heteroschedastic_shocks.Qhet.e1.time_scale=86:97;
M_.heteroschedastic_shocks.Qhet.e1.scale=[0.5 0.5 zeros(1,10)];

M_.heteroschedastic_shocks.Qhet.e2.time_value=86:97;
M_.heteroschedastic_shocks.Qhet.e2.value=[0.04 0.04 repmat(0.01,[1 10])];

M_.heteroschedastic_shocks.Qhet.e3.time_value=86:87;
M_.heteroschedastic_shocks.Qhet.e3.value=[0.04 0.04];

M_.heteroschedastic_shocks.Qhet.e3.time_scale=88:97;
M_.heteroschedastic_shocks.Qhet.e3.scale=0;

this input info is the handled in dynare_estimation_init, by filling in arrays of size [M_.exo_nbr x options_.nobs]

M_.heteroschedastic_shocks.Qscale 
M_.heteroschedastic_shocks.Qvalue

Users may not define, for the same shock and the same period, scale AND value. the can define for the same shock, scale and values for different periods.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: heteroschedastic_filters