dynare issueshttps://git.dynare.org/Dynare/dynare/issues2019-09-13T15:09:11Zhttps://git.dynare.org/Dynare/dynare/issues/1639Add the possibility to use Matlab's namespace in model block2019-09-13T15:09:11ZStéphane Adjemianstepan@dynare.orgAdd the possibility to use Matlab's namespace in model block... or in `steady_state_model` block, where it should be possible to write something like:
```
z = example.z_steadystate();
```
provided that the file `+example/z_steadystate` exists.... or in `steady_state_model` block, where it should be possible to write something like:
```
z = example.z_steadystate();
```
provided that the file `+example/z_steadystate` exists.4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/1656Provide documentation and compatibility layers for the upgrading to 4.62019-09-13T13:49:23ZSébastien VillemotProvide documentation and compatibility layers for the upgrading to 4.6Between 4.5 and 4.6, many structures in `M_`, `options_` and elsewhere which used to be character vectors are now cell arrays.
We need to compile the list of all those structures, and document that change in the release notes.
Also, we need to provide a compatibility layer and/or some tips on how to adapt existing code.
The function `convert_oo.m` should also be updated, and moved alongside `convert_dyn_45_to_44.m` to the new subfolder for compatibility layers.Between 4.5 and 4.6, many structures in `M_`, `options_` and elsewhere which used to be character vectors are now cell arrays.
We need to compile the list of all those structures, and document that change in the release notes.
Also, we need to provide a compatibility layer and/or some tips on how to adapt existing code.
The function `convert_oo.m` should also be updated, and moved alongside `convert_dyn_45_to_44.m` to the new subfolder for compatibility layers.4.6https://git.dynare.org/Dynare/dynare/issues/1197Get rid of globals in various functions2019-09-13T08:16:48ZJohannes Pfeifer Get rid of globals in various functionsAs discussed with @MichelJuillard, we should try to get rid of globals in
- `stoch_simul`
- `simult_`
as most of their callers and subsequently called functions already use local instances of the variables
As discussed with @MichelJuillard, we should try to get rid of globals in
- `stoch_simul`
- `simult_`
as most of their callers and subsequently called functions already use local instances of the variables
4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/569Integrate OccBin2019-09-12T14:48:25ZHoutan BastaniIntegrate OccBinhttps://github.com/lucashare/occbin
https://www2.bc.edu/matteo-iacoviello/research_files/TOOLKIT_PAPER.pdf
https://github.com/lucashare/occbin
https://www2.bc.edu/matteo-iacoviello/research_files/TOOLKIT_PAPER.pdf
5.0MichelJuillardMichelJuillardhttps://git.dynare.org/Dynare/dynare/issues/1338risky steady state: no interface, test suite2019-09-12T14:47:32ZHoutan Bastanirisky steady state: no interface, test suiteThere are several issues with risky steady state:
1. It has no interface. Why? Is this something we want to keep (hidden) in Dynare?
1. It the .mod files that use it are not in the test suite. Why?
There are several issues with risky steady state:
1. It has no interface. Why? Is this something we want to keep (hidden) in Dynare?
1. It the .mod files that use it are not in the test suite. Why?
4.6Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/issues/1646Save var_list_ used in stoch_simul to oo_2019-09-12T13:07:50ZJohannes Pfeifer Save var_list_ used in stoch_simul to oo_If variables are selected after `stoch_simul`, fields like `oo_.var` will be matrices of the dimension of `var_list_`. But the info on `var_list_` is not stored. So if one loads results from a `_results.mat`-file, there is no way to recover to which variables the entries in `oo_.var` belong.
The question is how to store this info as one can have several different `stoch_simul`-commands in a mod-file.If variables are selected after `stoch_simul`, fields like `oo_.var` will be matrices of the dimension of `var_list_`. But the info on `var_list_` is not stored. So if one loads results from a `_results.mat`-file, there is no way to recover to which variables the entries in `oo_.var` belong.
The question is how to store this info as one can have several different `stoch_simul`-commands in a mod-file.4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/1647Add silent mode to perfect foresight simulations2019-09-12T12:50:55ZJohannes Pfeifer Add silent mode to perfect foresight simulationsSee https://forum.dynare.org/t/supressing-output-in-steady-and-simul-commands/13916See https://forum.dynare.org/t/supressing-output-in-steady-and-simul-commands/139164.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/1478Configure Windows Installer to allow silent install2019-09-12T12:15:47ZJohannes Pfeifer Configure Windows Installer to allow silent installThis is a feature request from a university wanting to do an unattended installation of Dynare on a computer pool. The NSIS installer we use seems to not be configured for silent installs, i.e. passing '/D /d=test_directory' does not work.
We should follow the instructions at http://nsis.sourceforge.net/Docs/Chapter4.html#silent t to allow for this.
This is a feature request from a university wanting to do an unattended installation of Dynare on a computer pool. The NSIS installer we use seems to not be configured for silent installs, i.e. passing '/D /d=test_directory' does not work.
We should follow the instructions at http://nsis.sourceforge.net/Docs/Chapter4.html#silent t to allow for this.
Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/issues/1359Add interface to load datafile in Matlab's table-format2019-09-10T14:41:34ZJohannes Pfeifer Add interface to load datafile in Matlab's table-formatIn `R2013b`. Matlab introduced a datatype `table` (https://de.mathworks.com/help/matlab/ref/table.html). We should support reading datasets saved in this format. In `R2013b`. Matlab introduced a datatype `table` (https://de.mathworks.com/help/matlab/ref/table.html). We should support reading datasets saved in this format. 4.6Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/1537Stop processing with error if nonlinearities exist in endog/exog for linear m...2019-09-10T13:48:13ZHoutan BastaniStop processing with error if nonlinearities exist in endog/exog for linear modelFollowing the conversation in #1404, stop preprocessing with an error if a model is marked as linear but nonlinearities exist in the endogenous or exogenous variables.Following the conversation in #1404, stop preprocessing with an error if a model is marked as linear but nonlinearities exist in the endogenous or exogenous variables.4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/1404Fix bug in sim1_linear2019-09-10T09:41:11ZJohannes Pfeifer Fix bug in sim1_linear`sim1_linear.m` seems to return wrong results. The following mod-file calls different solvers in sequence, using the previous result as the respective starting value.
```
//Endogenous variables
var piV rV yV rrstarV zV Rshock;
//Exogenous variables
varexo epsFG shock epsR;
//Parameters
parameters alpha beta eta phipi phiy rho sig lambda; //
//Initialization of parameter values
beta =0.99; //Discount factor (=inverse nominal interest rate)
alpha =0.033; //sensivity of inflation to output gap, parameter determining marginal cost,
eta =1; //sensivity of inflation to output gap, parameter determining price rigidity
phipi =1.5; //parameter determining monetary reaction to inflation
phiy =0.125; //parameter determining monetary reaction to output
rho =0.9; //AR(1) natural rate
sig =1; //intertemporal rate of substitution
lambda=0.25; // prob. of new info arrival
//model equations
model;
// z Variable
zV = alpha*(yV-yV(-1))+piV;//(pV-pV(-1));
piV= (lambda*alpha/ (1-lambda)) *yV
+lambda*EXPECTATION(-1)(zV)
+lambda*(1-lambda)*EXPECTATION(-2)(zV)
+lambda*(1-lambda)^2*EXPECTATION(-3)(zV)
+lambda*(1-lambda)^3*EXPECTATION(-4)(zV)
+lambda*(1-lambda)^4*EXPECTATION(-5)(zV)
+lambda*(1-lambda)^5*EXPECTATION(-6)(zV)
+lambda*(1-lambda)^6*EXPECTATION(-7)(zV)
+lambda*(1-lambda)^7*EXPECTATION(-8)(zV)
+lambda*(1-lambda)^8*EXPECTATION(-9)(zV)
; //marginal cost is proportional to gap, gap is driver of inflation
//piV=0.99*piV(+1)+0.033*yV;
//IS curve (Output Euler) from Kiley code
yV = yV(+1)-sig*(rV-piV(+1) - rrstarV);
//monetary policy' reaction function
rV = min((1-shock), phipi*(piV(+1) + phiy*yV + epsFG));
//rV = phipi*piV + phiy*yV+Rshock;
Rshock=0.5*Rshock(-1)+epsR;
//Natural real interest rate
rrstarV = rho*rrstarV(-1);
end;
initval;
rV=0;
yV=0;
rrstarV=0;
piV=0;
zV=0;
end;
steady;
check;
shocks;
var shock;
periods 1:15;
values 1;
var epsFG;
periods 16 ;
values -0.0117;
end;
perfect_foresight_setup(periods=30);
perfect_foresight_solver(solve_algo=0);
nonlinear=oo_.endo_simul;
options_.linear=1;
perfect_foresight_solver(solve_algo=0);
linear=oo_.endo_simul;
perfect_foresight_solver(solve_algo=0);
options_.linear=0;
perfect_foresight_solver(solve_algo=0);
perfect_foresight_solver(solve_algo=4);
```
But the result of the nonlinear solvers has non-zero residuals in the linear solver and vice versa, while the nonlinear solvers seem to have consistent results.
`sim1_linear.m` seems to return wrong results. The following mod-file calls different solvers in sequence, using the previous result as the respective starting value.
```
//Endogenous variables
var piV rV yV rrstarV zV Rshock;
//Exogenous variables
varexo epsFG shock epsR;
//Parameters
parameters alpha beta eta phipi phiy rho sig lambda; //
//Initialization of parameter values
beta =0.99; //Discount factor (=inverse nominal interest rate)
alpha =0.033; //sensivity of inflation to output gap, parameter determining marginal cost,
eta =1; //sensivity of inflation to output gap, parameter determining price rigidity
phipi =1.5; //parameter determining monetary reaction to inflation
phiy =0.125; //parameter determining monetary reaction to output
rho =0.9; //AR(1) natural rate
sig =1; //intertemporal rate of substitution
lambda=0.25; // prob. of new info arrival
//model equations
model;
// z Variable
zV = alpha*(yV-yV(-1))+piV;//(pV-pV(-1));
piV= (lambda*alpha/ (1-lambda)) *yV
+lambda*EXPECTATION(-1)(zV)
+lambda*(1-lambda)*EXPECTATION(-2)(zV)
+lambda*(1-lambda)^2*EXPECTATION(-3)(zV)
+lambda*(1-lambda)^3*EXPECTATION(-4)(zV)
+lambda*(1-lambda)^4*EXPECTATION(-5)(zV)
+lambda*(1-lambda)^5*EXPECTATION(-6)(zV)
+lambda*(1-lambda)^6*EXPECTATION(-7)(zV)
+lambda*(1-lambda)^7*EXPECTATION(-8)(zV)
+lambda*(1-lambda)^8*EXPECTATION(-9)(zV)
; //marginal cost is proportional to gap, gap is driver of inflation
//piV=0.99*piV(+1)+0.033*yV;
//IS curve (Output Euler) from Kiley code
yV = yV(+1)-sig*(rV-piV(+1) - rrstarV);
//monetary policy' reaction function
rV = min((1-shock), phipi*(piV(+1) + phiy*yV + epsFG));
//rV = phipi*piV + phiy*yV+Rshock;
Rshock=0.5*Rshock(-1)+epsR;
//Natural real interest rate
rrstarV = rho*rrstarV(-1);
end;
initval;
rV=0;
yV=0;
rrstarV=0;
piV=0;
zV=0;
end;
steady;
check;
shocks;
var shock;
periods 1:15;
values 1;
var epsFG;
periods 16 ;
values -0.0117;
end;
perfect_foresight_setup(periods=30);
perfect_foresight_solver(solve_algo=0);
nonlinear=oo_.endo_simul;
options_.linear=1;
perfect_foresight_solver(solve_algo=0);
linear=oo_.endo_simul;
perfect_foresight_solver(solve_algo=0);
options_.linear=0;
perfect_foresight_solver(solve_algo=0);
perfect_foresight_solver(solve_algo=4);
```
But the result of the nonlinear solvers has non-zero residuals in the linear solver and vice versa, while the nonlinear solvers seem to have consistent results.
4.6https://git.dynare.org/Dynare/dynare/issues/1651dynare_sensitivity without exogenous variables2019-09-10T09:27:19Zrobvanharreveltdynare_sensitivity without exogenous variablesWhen `dynare_sensitivity` is used for a model without exogenous variables, the following error occurs:
```
Reference to non-existent field 'ghu'.
Error in kalman_transition_matrix (line 42)
B = dr.ghu(iv,:);
```
See the attached file [test1.mod](/uploads/2c7fa958781bb4ea203ecb1d484c9c8d/test1.mod). An easy workaround is to create a dummy exogenous variable (see attached file [test2.mod](/uploads/31ea2681c8f6b2701ed9da63e39c8968/test2.mod)), but it would help if the error message explains that the code does not work for models without exogenous variables.
This issue is similar to issue https://git.dynare.org/Dynare/dynare/issues/1633.When `dynare_sensitivity` is used for a model without exogenous variables, the following error occurs:
```
Reference to non-existent field 'ghu'.
Error in kalman_transition_matrix (line 42)
B = dr.ghu(iv,:);
```
See the attached file [test1.mod](/uploads/2c7fa958781bb4ea203ecb1d484c9c8d/test1.mod). An easy workaround is to create a dummy exogenous variable (see attached file [test2.mod](/uploads/31ea2681c8f6b2701ed9da63e39c8968/test2.mod)), but it would help if the error message explains that the code does not work for models without exogenous variables.
This issue is similar to issue https://git.dynare.org/Dynare/dynare/issues/1633.4.6Marco RattoMarco Rattohttps://git.dynare.org/Dynare/dynare/issues/1596add maximum lag info by variable2019-09-10T09:13:59ZHoutan Bastaniadd maximum lag info by variable```
M_.maximum_endo_lag_by_var = [ ... ];
M_.maximum_exo_lag_by_var = [ ... ];
```
Where the vectors are the length of `M_.orig_endo_nbr````
M_.maximum_endo_lag_by_var = [ ... ];
M_.maximum_exo_lag_by_var = [ ... ];
```
Where the vectors are the length of `M_.orig_endo_nbr`Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/1519check repeated variables in symbol_list for stoch_simul2019-09-10T09:13:59ZHoutan Bastanicheck repeated variables in symbol_list for stoch_simuldo this during `transformPass`, issue warning and remove second symbol when encountered.do this during `transformPass`, issue warning and remove second symbol when encountered.4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/1633Filter out cases where stochastic simulation is run with no shocks2019-09-10T08:47:48ZJohannes Pfeifer Filter out cases where stochastic simulation is run with no shocksWhen using `stoch_simul` without varexo, a cryptic error message will appear. See https://forum.dynare.org/t/how-to-compute-the-decision-rule-matrix-oo-dr-ghx-of-a-deterministic-model/13095
We should provide an informative message, potentially at the level of the preprocessor.When using `stoch_simul` without varexo, a cryptic error message will appear. See https://forum.dynare.org/t/how-to-compute-the-decision-rule-matrix-oo-dr-ghx-of-a-deterministic-model/13095
We should provide an informative message, potentially at the level of the preprocessor.4.6https://git.dynare.org/Dynare/dynare/issues/1575Fix WriteShockDecomp2Excel.m2019-09-10T08:47:22ZJohannes Pfeifer Fix WriteShockDecomp2Excel.mSee https://forum.dynare.org/t/bug-in-write-xls-option-of-shock-decomposition-after-estimation/11097
On MAC, we rely on `xlwrite` from https://fr.mathworks.com/matlabcentral/fileexchange/38591-xlwrite--generate-xls-x--files-without-excel-on-mac-linux-win without checking whether Excel is installed. If we want to keep this, we need to clearly spell out that users need to install that file. @rattoma What do you think?See https://forum.dynare.org/t/bug-in-write-xls-option-of-shock-decomposition-after-estimation/11097
On MAC, we rely on `xlwrite` from https://fr.mathworks.com/matlabcentral/fileexchange/38591-xlwrite--generate-xls-x--files-without-excel-on-mac-linux-win without checking whether Excel is installed. If we want to keep this, we need to clearly spell out that users need to install that file. @rattoma What do you think?4.6https://git.dynare.org/Dynare/dynare/issues/1603Investigate whether var_exo_det works correctly with stoch_simul2019-09-10T08:26:13ZJohannes Pfeifer Investigate whether var_exo_det works correctly with stoch_simulSee https://forum.dynare.org/t/varexo-det-to-simulate-random-shocks-during-a-predetermined-period/11637
It seems there is at least one call to `make_ex_` missingSee https://forum.dynare.org/t/varexo-det-to-simulate-random-shocks-during-a-predetermined-period/11637
It seems there is at least one call to `make_ex_` missing4.6https://git.dynare.org/Dynare/dynare/issues/1595Add proper error handling to thet2tau.m for identification2019-09-10T08:06:37ZJohannes Pfeifer Add proper error handling to thet2tau.m for identificationOtherwise, identification may crash when computing the Jacobian due to `dynare_resolve.m` returning with an error code. See PM to Marco from `sourena_hosseini`Otherwise, identification may crash when computing the Jacobian due to `dynare_resolve.m` returning with an error code. See PM to Marco from `sourena_hosseini`4.6Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/issues/1579Make fast realtime decomposition use the proper nobs2019-09-09T12:42:32ZJohannes Pfeifer Make fast realtime decomposition use the proper nobsSee https://github.com/DynareTeam/dynare/pull/1563#issuecomment-357180435
See https://github.com/DynareTeam/dynare/pull/1563#issuecomment-357180435
https://git.dynare.org/Dynare/dynare/issues/243Publicly distribute the Dynare slides2019-09-09T12:34:39ZSébastien VillemotPublicly distribute the Dynare slidesWe already distribute the slides on the summerschool temporary website, but this is not very visible. We should probably have a more permanent location, and maybe also add them in the Dynare package.
Also, we may consider putting the LaTeX source in git.
We already distribute the slides on the summerschool temporary website, but this is not very visible. We should probably have a more permanent location, and maybe also add them in the Dynare package.
Also, we may consider putting the LaTeX source in git.
Houtan BastaniHoutan Bastani