dynare issueshttps://git.dynare.org/Dynare/dynare/issues2019-06-19T15:38:12Zhttps://git.dynare.org/Dynare/dynare/issues/579Investigate writing tikz file directly instead of using matlab2tikz2019-06-19T15:38:12ZHoutan BastaniInvestigate writing tikz file directly instead of using matlab2tikzInstead of first creating a Matlab figure then converting it to tikz, consider writing the tikz file directly.
Instead of first creating a Matlab figure then converting it to tikz, consider writing the tikz file directly.
GPM-GIMF-2014M4Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/544Posterior statistics not computed with load_mh_file2019-06-19T15:38:12ZStéphane Adjemianstepan@dynare.orgPosterior statistics not computed with load_mh_file*Created by: MichaelSpece*
Suggested labels: bug, estimation
Posterior statistics are not computed with load_mh_file. This can lead to a failure of existence of oo_.posterior_mean when attempting to forecast with load_mh_file. See also http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=4605. It seems this potential missingness could be remedied by replacing
```
else
load([M_.fname '_results'],'oo_');
end
```
with
```
else
load([M_.fname '_results'],'oo_');
if ~exist('oo_.posterior_mean', 'var')
oo_ = GetPosteriorParametersStatistics(estim_params_, M_, options_, bayestopt_, oo_);
end
end
```
*Created by: MichaelSpece*
Suggested labels: bug, estimation
Posterior statistics are not computed with load_mh_file. This can lead to a failure of existence of oo_.posterior_mean when attempting to forecast with load_mh_file. See also http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=4605. It seems this potential missingness could be remedied by replacing
```
else
load([M_.fname '_results'],'oo_');
end
```
with
```
else
load([M_.fname '_results'],'oo_');
if ~exist('oo_.posterior_mean', 'var')
oo_ = GetPosteriorParametersStatistics(estim_params_, M_, options_, bayestopt_, oo_);
end
end
```
4.4https://git.dynare.org/Dynare/dynare/issues/578Update fonts for matlab2tikz fix2019-06-19T15:38:12ZHoutan BastaniUpdate fonts for matlab2tikz fixhttps://github.com/nschloe/matlab2tikz/issues/191
https://github.com/nschloe/matlab2tikz/issues/191
GPM-GIMF-2014M4Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/543Acceptance Rates2019-06-19T15:38:12ZStéphane Adjemianstepan@dynare.orgAcceptance Rates*Created by: MichaelSpece*
Suggested labels: documentation, estimation, enhancement
Document acceptance rate behavior as output and saved by dynare in estimation (e.g. see http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=5051). Something like, “If mh_replic > 0 and load_mh_file is specified, only the new draws are used in updating the acceptance rate.”
As an enhancement, I suggest changing all uses of “acceptation” to “acceptance.” (Acceptation is non-standard usage in the context of Monte Carlo, and does not make sense given the narrow connotations of acceptation.)
*Created by: MichaelSpece*
Suggested labels: documentation, estimation, enhancement
Document acceptance rate behavior as output and saved by dynare in estimation (e.g. see http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=5051). Something like, “If mh_replic > 0 and load_mh_file is specified, only the new draws are used in updating the acceptance rate.”
As an enhancement, I suggest changing all uses of “acceptation” to “acceptance.” (Acceptation is non-standard usage in the context of Monte Carlo, and does not make sense given the narrow connotations of acceptation.)
4.4Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/581add indenting to table rows2019-06-19T15:38:12ZHoutan Bastaniadd indenting to table rowsAllow indenting for table names to create subgroups under a variable. The subgroups would be other series.
```
government spending
investment
```
Allow indenting for table names to create subgroups under a variable. The subgroups would be other series.
```
government spending
investment
```
GPM-GIMF-2014M4Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/580add subtitles to graphs & tables2019-06-19T15:38:12ZHoutan Bastaniadd subtitles to graphs & tablesGPM-GIMF-2014M4Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/583thread affinity error2019-06-19T15:38:12ZMarco Rattothread affinity errorDears, since using 4.4, I am getting the following error very often (estimations only last for a few iterations) on Matlab 64bit, windows server OS:
OMP : Error # 134 Cannot set thread affinity mask.
OMP : System error #87 : The parameter is incorrect.
I am getting this on a multicore machine with 8 cores, where I manually set the affinity of the matlab processes to only two cores at a time, allowing me to make different estimations in parallel with different model specifications.
I never had these errors with previous dynare versions
Dears, since using 4.4, I am getting the following error very often (estimations only last for a few iterations) on Matlab 64bit, windows server OS:
OMP : Error # 134 Cannot set thread affinity mask.
OMP : System error #87 : The parameter is incorrect.
I am getting this on a multicore machine with 8 cores, where I manually set the affinity of the matlab processes to only two cores at a time, allowing me to make different estimations in parallel with different model specifications.
I never had these errors with previous dynare versions
https://git.dynare.org/Dynare/dynare/issues/585Fix simpsa2019-06-19T15:38:12ZJohannes Pfeifer Fix simpsaSimpsa performs well with Bayesian estimation with well-defined priors. However, it is dangerous for ML estimation and Bayesian estimation with `prior_trunc=0` where `LB=-Inf` and `UB=+Inf` . In that case, simpsa will produce garbage due to line 246 using
`P(k+1,k) = LB(k)+rand*(UB(k)-LB(k));`
The infinities in the bounds will lead to NaN in the computation. However, simpsa does not crash, but will typically produce the initial point as its result with
`Change in X less than the specified tolerance (TOLX).`
Example:
```
var m P c e W R k d n l gy_obs gp_obs y dA;
varexo e_a e_m;
parameters alp bet gam mst rho psi del;
alp = 0.33;
bet = 0.99;
gam = 0.003;
mst = 1.011;
rho = 0.7;
psi = 0.787;
del = 0.02;
model;
dA = exp(gam+e_a);
log(m) = (1-rho)*log(mst) + rho*log(m(-1))+e_m;
-P/(c(+1)*P(+1)*m)+bet*P(+1)*(alp*exp(-alp*(gam+log(e(+1))))*k^(alp-1)*n(+1)^(1-alp)+(1-del)*exp(-(gam+log(e(+1)))))/(c(+2)*P(+2)*m(+1))=0;
W = l/n;
-(psi/(1-psi))*(c*P/(1-n))+l/n = 0;
R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W;
1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l*c(+1)*P(+1)) = 0;
c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a))*k(-1);
P*c = m;
m-1+d = l;
e = exp(e_a);
y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a));
gy_obs = dA*y/y(-1);
gp_obs = (P/P(-1))*m(-1)/dA;
end;
initval;
k = 6;
m = mst;
P = 2.25;
c = 0.45;
e = 1;
W = 4;
R = 1.02;
d = 0.85;
n = 0.19;
l = 0.86;
y = 0.6;
gy_obs = exp(gam);
gp_obs = exp(-gam);
dA = exp(gam);
end;
shocks;
var e_a; stderr 0.014;
var e_m; stderr 0.005;
end;
steady_state_model;
dA = exp(gam);
gst = 1/dA;
m = mst;
khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
n = xist/(nust+xist);
P = xist + nust;
k = khst*n;
l = psi*mst*n/( (1-psi)*(1-n) );
c = mst/P;
d = l - mst + 1;
y = k^alp*n^(1-alp)*gst^alp;
R = mst/bet;
W = l/n;
ist = y-c;
q = 1 - d;
e = 1;
gp_obs = m/dA;
gy_obs = dA;
end;
steady;
check;
estimated_params;
//gam, normal_pdf, 0.0085, 0.003;
//mst, normal_pdf, 1.0002, 0.007;
gam, 0.003;
mst, 0.007;
end;
varobs gp_obs gy_obs;
estimation(order=1,mode_compute=10,prior_trunc=0,datafile=fsdat_simul, nobs=192, loglinear, mh_replic=2000, mh_nblocks=2, mh_jscale=0.8);
```
Simpsa performs well with Bayesian estimation with well-defined priors. However, it is dangerous for ML estimation and Bayesian estimation with `prior_trunc=0` where `LB=-Inf` and `UB=+Inf` . In that case, simpsa will produce garbage due to line 246 using
`P(k+1,k) = LB(k)+rand*(UB(k)-LB(k));`
The infinities in the bounds will lead to NaN in the computation. However, simpsa does not crash, but will typically produce the initial point as its result with
`Change in X less than the specified tolerance (TOLX).`
Example:
```
var m P c e W R k d n l gy_obs gp_obs y dA;
varexo e_a e_m;
parameters alp bet gam mst rho psi del;
alp = 0.33;
bet = 0.99;
gam = 0.003;
mst = 1.011;
rho = 0.7;
psi = 0.787;
del = 0.02;
model;
dA = exp(gam+e_a);
log(m) = (1-rho)*log(mst) + rho*log(m(-1))+e_m;
-P/(c(+1)*P(+1)*m)+bet*P(+1)*(alp*exp(-alp*(gam+log(e(+1))))*k^(alp-1)*n(+1)^(1-alp)+(1-del)*exp(-(gam+log(e(+1)))))/(c(+2)*P(+2)*m(+1))=0;
W = l/n;
-(psi/(1-psi))*(c*P/(1-n))+l/n = 0;
R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W;
1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l*c(+1)*P(+1)) = 0;
c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a))*k(-1);
P*c = m;
m-1+d = l;
e = exp(e_a);
y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a));
gy_obs = dA*y/y(-1);
gp_obs = (P/P(-1))*m(-1)/dA;
end;
initval;
k = 6;
m = mst;
P = 2.25;
c = 0.45;
e = 1;
W = 4;
R = 1.02;
d = 0.85;
n = 0.19;
l = 0.86;
y = 0.6;
gy_obs = exp(gam);
gp_obs = exp(-gam);
dA = exp(gam);
end;
shocks;
var e_a; stderr 0.014;
var e_m; stderr 0.005;
end;
steady_state_model;
dA = exp(gam);
gst = 1/dA;
m = mst;
khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
n = xist/(nust+xist);
P = xist + nust;
k = khst*n;
l = psi*mst*n/( (1-psi)*(1-n) );
c = mst/P;
d = l - mst + 1;
y = k^alp*n^(1-alp)*gst^alp;
R = mst/bet;
W = l/n;
ist = y-c;
q = 1 - d;
e = 1;
gp_obs = m/dA;
gy_obs = dA;
end;
steady;
check;
estimated_params;
//gam, normal_pdf, 0.0085, 0.003;
//mst, normal_pdf, 1.0002, 0.007;
gam, 0.003;
mst, 0.007;
end;
varobs gp_obs gy_obs;
estimation(order=1,mode_compute=10,prior_trunc=0,datafile=fsdat_simul, nobs=192, loglinear, mh_replic=2000, mh_nblocks=2, mh_jscale=0.8);
```
4.5https://git.dynare.org/Dynare/dynare/issues/584Improve error messages related to an equation number2019-06-19T15:38:12ZSébastien VillemotImprove error messages related to an equation numberThere are various places (like the detrending engine) where Dynare outputs an error message referring to an equation number.
Unfortunately it is very difficult for the user to find the corresponding equation in the MOD file if there are lots of equations.
A solution would be to display the line number of the equation. This information can probably be computed in `ParsingDriver` and stored somewhere.
There are various places (like the detrending engine) where Dynare outputs an error message referring to an equation number.
Unfortunately it is very difficult for the user to find the corresponding equation in the MOD file if there are lots of equations.
A solution would be to display the line number of the equation. This information can probably be computed in `ParsingDriver` and stored somewhere.
4.5Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/issues/586mssbvar: investigate bug with high number of perturbations2019-06-19T15:38:12ZHoutan Bastanimssbvar: investigate bug with high number of perturbationsmod files with a high number of perturbations cause Matlab to crash after some processing.
see emails from Stephane on 24 Jan 2014 8:56 AM
mod files with a high number of perturbations cause Matlab to crash after some processing.
see emails from Stephane on 24 Jan 2014 8:56 AM
5.0Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/587new dynare option to suppress diary output2019-06-19T15:38:12ZHoutan Bastaninew dynare option to suppress diary output`nodiary` perhaps. Useful for long dynare runs where the log file would be very large and the user will not use it.
`nodiary` perhaps. Useful for long dynare runs where the log file would be very large and the user will not use it.
4.5Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/issues/588dynamic updating of series2019-06-19T15:38:12ZHoutan Bastanidynamic updating of series`ds=dseries(ones(5,1)); ds = ds(-1)*1.05;` should create a dseries with values:
1Y | NaN
2Y | 1
3Y | 1.05
4Y | 1.1025
5Y | 1.1576
(i.e., a time period should be updated based on the newest value of the previous time period)
`ds=dseries(ones(5,1)); ds = ds(-1)*1.05;` should create a dseries with values:
1Y | NaN
2Y | 1
3Y | 1.05
4Y | 1.1025
5Y | 1.1576
(i.e., a time period should be updated based on the newest value of the previous time period)
GPM-GIMF-2014M4Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/589dseries sub-samples2019-06-19T15:38:12ZMichelJuillarddseries sub-samplesIn the manual, I couldn't find the syntax for extracting a subsample from a dseries:
y=x(dates)
In the manual, I couldn't find the syntax for extracting a subsample from a dseries:
y=x(dates)
4.5Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/590dseries sub-samples beyond boudary2019-06-19T15:38:12ZMichelJuillarddseries sub-samples beyond boudaryCurrently, one obtains:
``` matlab
>> x=dseries((1:4)');
>> x(dates('2Y'):dates('5Y'))
ans is a dseries object:
| Variable_1
2Y | 2
3Y | 3
4Y | 4
```
Either it should return NaN for 5Y (my preference) or it should return an error. It is not a good idea to return an object that doesn't correspond to the user request.
Currently, one obtains:
``` matlab
>> x=dseries((1:4)');
>> x(dates('2Y'):dates('5Y'))
ans is a dseries object:
| Variable_1
2Y | 2
3Y | 3
4Y | 4
```
Either it should return NaN for 5Y (my preference) or it should return an error. It is not a good idea to return an object that doesn't correspond to the user request.
4.5Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/591dseries sub-sample selection with vector of observation indices.2019-06-19T15:38:12ZStéphane Adjemianstepan@dynare.orgdseries sub-sample selection with vector of observation indices.If `ds = dseries(transpose(1:5))` then `ds(2:3)` wrongly returns a matlab's structure:
``` matlab
ans =
data: [2x1 double]
nobs: 2
vobs: 1
freq: 1
dates: [2 dates]
init: [1 dates]
name: {'Variable_1'}
tex: {'Variable\_1'}
```
while it should be a `dseries` object.
If `ds = dseries(transpose(1:5))` then `ds(2:3)` wrongly returns a matlab's structure:
``` matlab
ans =
data: [2x1 double]
nobs: 2
vobs: 1
freq: 1
dates: [2 dates]
init: [1 dates]
name: {'Variable_1'}
tex: {'Variable\_1'}
```
while it should be a `dseries` object.
4.5Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/594Interface to use smoothed estimates of endogenous variables as starting value...2019-06-19T15:38:10ZSébastien VillemotInterface to use smoothed estimates of endogenous variables as starting values of deterministic simulationsThen one would be able to perform projection scenarios in a fully non-linear form starting from the latest estimation of the state of the economy.
The idea is to trigger a list of histval instances from the values of the last observed state from Kalman/filter and smoother. Such a list of histval instance will have to be usable from a deterministic simulation instance that would allow to perform projection scenarios that may trigger temporary binding constraints, zero-lower bound conditions, and so on.
Then one would be able to perform projection scenarios in a fully non-linear form starting from the latest estimation of the state of the economy.
The idea is to trigger a list of histval instances from the values of the last observed state from Kalman/filter and smoother. Such a list of histval instance will have to be usable from a deterministic simulation instance that would allow to perform projection scenarios that may trigger temporary binding constraints, zero-lower bound conditions, and so on.
JRC-2014M3Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/issues/595Improve performance of conditional forecast for deterministic simulations2019-06-19T15:38:10ZSébastien VillemotImprove performance of conditional forecast for deterministic simulationsFerhatMihoubiFerhatMihoubihttps://git.dynare.org/Dynare/dynare/issues/596Improvements to stochastic extended path2019-06-19T15:38:10ZSébastien VillemotImprovements to stochastic extended pathImplement sparse grids to approximate the expectations. This will allow to simulate models with more shocks and/or to consider higher order approximations of the expectations.
Implement sparse grids to approximate the expectations. This will allow to simulate models with more shocks and/or to consider higher order approximations of the expectations.
GPM-GIMF-2014M4Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/600Enable option logdata of estimation2019-06-19T15:38:10ZJohannes Pfeifer Enable option logdata of estimationWe have an option `logdata` preventing the logging of data when using `loglinear`. It is neither documented nor does a token exist in the preprocessor.
We have an option `logdata` preventing the logging of data when using `loglinear`. It is neither documented nor does a token exist in the preprocessor.
Stéphane Adjemianstepan@dynare.orgStéphane Adjemianstepan@dynare.orghttps://git.dynare.org/Dynare/dynare/issues/598Fix specification of confidence level in estimation2019-06-19T15:38:10ZJohannes Pfeifer Fix specification of confidence level in estimationThe token for specifying the confidence level in `estimation` is `conf_sig`. But the codes actually use `mh_conf_sig`. This needs to be changed in both the manual and the preprocessor.
The token for specifying the confidence level in `estimation` is `conf_sig`. But the codes actually use `mh_conf_sig`. This needs to be changed in both the manual and the preprocessor.
4.5