dynare issueshttps://git.dynare.org/Dynare/dynare/-/issues2023-09-27T15:33:04Zhttps://git.dynare.org/Dynare/dynare/-/issues/1693Various improvements in Sphinx doc2023-09-27T15:33:04ZHoutan BastaniVarious improvements in Sphinx doc- see if we can use https://pypi.org/project/sphinxcontrib-matlabdomain/ instead of `MatComm` and `MatlabVar` defined in `doc/manual/utils/dynare_dom.py`
- if not, add new domain entry to differentiate between MATLAB commands and MATLA...- see if we can use https://pypi.org/project/sphinxcontrib-matlabdomain/ instead of `MatComm` and `MatlabVar` defined in `doc/manual/utils/dynare_dom.py`
- if not, add new domain entry to differentiate between MATLAB commands and MATLAB functions
- find way to fix output of Matlab Commands so the options conform to the true type used for Dynare Command options
- code block:
- many general problems with highlighting: e.g. `end` is highlighted when it is MATLAB code but the corresponding `for` is not highlighted
- despite being in `doc/manual/utils/dynare_lex.py`, `var` is not highlighted in code blocks
- ideally find a programmatic way to fill `doc/manual/utils/dynare_lex.py` from the `rst` files instead of having to update it by hand7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1871Add Dynare Julia implementation for computing Ramsey steady state2023-09-27T15:18:36ZJohannes PfeiferAdd Dynare Julia implementation for computing Ramsey steady state@MichelJuillard implemented an optimization approach in Julia instead of the current QR-decomposition. We should implement this as an option as it allows controlling the size of the error.@MichelJuillard implemented an optimization approach in Julia instead of the current QR-decomposition. We should implement this as an option as it allows controlling the size of the error.7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1777Pruned theoretical moments: provide a more detailed decomposition of effects2023-09-27T15:17:17ZWilli Mutschlerwilli@mutschler.euPruned theoretical moments: provide a more detailed decomposition of effectsI think we should provide a more detailed decomposition of theoretical unconditional moments at higher-order with pruning as there might be huge differences between e.g. the second and third order system's moments. So something similar t...I think we should provide a more detailed decomposition of theoretical unconditional moments at higher-order with pruning as there might be huge differences between e.g. the second and third order system's moments. So something similar to the output of the `nlma` toolbox:
```sh
THEORETICAL MEAN
VARIABLE MEAN(1st Order Accurate) MEAN(2nd and 3rd Order Accurate)
c 4.8675 29.9263
y 4.8675 29.9263
MEAN(2nd and 3rd Order Accurate) DECOMPOSITION IN LEVEL
VARIABLE Mean(2nd and 3rd Order Accurate) Det. Steady State Risk Adj. from Var. of Future Shock Risk Adj. from Var. of Past Shock
c 29.9263 4.8675 27.8139 -2.7551
y 29.9263 4.8675 27.8139 -2.7551
THEORETICAL STANDARD DEVIATION AND VARIANCE
VARIABLE STD.(1st Order Accurate) STD.(2nd Order Accurate) STD.(3rd Order Accurate) VAR.(1st Order Accurate) VAR.(2nd Order Accurate) VAR.(3rd Order Accurate)
c 14.8060 16.0911 53.0529 219.2180 258.9244 2814.6081
y 3.5188 6.8786 63.4057 12.3816 47.3149 4020.2871
THEORETICAL CORRELATIONS(1st Order Accurate)
Variables c y
c 1.0000 0.5852
y 0.5852 1.0000
THEORETICAL CORRELATIONS(2nd Order Accurate)
Variables c y
c 1.0000 0.5201
y 0.5201 1.0000
THEORETICAL CORRELATIONS(3rd Order Accurate)
Variables c y
c 1.0000 0.8925
y 0.8925 1.0000
THEORETICAL COEFFICIENTS OF AUTOCORRELATION(1st Order Accurate)
Order 1 2 3 4 5
c 0.9602 0.9222 0.8861 0.8518 0.8191
y 0.9960 0.9919 0.9877 0.9834 0.9791
THEORETICAL COEFFICIENTS OF AUTOCORRELATION(2nd Order Accurate)
Order 1 2 3 4 5
c 0.9651 0.9319 0.9001 0.8698 0.8408
y 0.9917 0.9833 0.9747 0.9660 0.9573
THEORETICAL COEFFICIENTS OF AUTOCORRELATION(3rd Order Accurate)
Order 1 2 3 4 5
c 0.9944 0.9891 0.9839 0.9789 0.9741
y 0.9979 0.9958 0.9934 0.9909 0.9882
VARIANCE (3rd Order Accurate) DECOMPOSITION IN PERCENTAGE
VARIABLE Total Risk Adj. Total Amp. Total Risk-Amp. Interplay
c 127.42 32.41 -59.83
y 127.42 12.82 -40.24
COMPLETE VARIANCE (3rd Order Accurate) DECOMPOSITION IN PERCENTAGE
VARIABLE Total Risk Adj. 1st Order Amp. 2nd Order Incre. Amp. 3rd Order Incre. Amp. 1st-3rd Order Incre. Amp. 3rd Order Incre. Risk-Amp. Interplay 1st-3rd Order Incre. Risk-Amp. Interplay
c 127.42 7.79 1.41 22.44 0.76 -30.31 -29.51
y 127.42 0.31 0.87 10.10 1.55 -28.00 -12.24
```7.xWilli Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1208Add updated2histval option2023-09-27T15:14:53ZMarco RattoAdd updated2histval optionfor real time forecasting exercises, it would be useful a utility
`updated2histval`
with the same behavior as:
`smoother2histval`
but that uses `oo_.UpdatedVariables` in place of `oo_.SmoothedVariables`
would this be feasible?for real time forecasting exercises, it would be useful a utility
`updated2histval`
with the same behavior as:
`smoother2histval`
but that uses `oo_.UpdatedVariables` in place of `oo_.SmoothedVariables`
would this be feasible?7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1514Add Importance Ratio as diagnostic for checking accuracy of normal approximat...2023-09-27T15:14:40ZJohannes PfeiferAdd Importance Ratio as diagnostic for checking accuracy of normal approximation to posteriorSee e.g. Slide 32 of http://apps.eui.eu/Personal/Canova/Teachingmaterial/bayes_dsge_eui2012.pdfSee e.g. Slide 32 of http://apps.eui.eu/Personal/Canova/Teachingmaterial/bayes_dsge_eui2012.pdf7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1603Allow simulation with var_exo_det with stoch_simul2023-09-27T15:14:25ZJohannes PfeiferAllow simulation with var_exo_det 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_` missing7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1700Proposal for a generalized solver2023-09-27T15:13:41ZMichelJuillardProposal for a generalized solverModel inversion and deterministic conditional forecast solve the same mathematical problem: solving a (non-)linear system where the identity of the unknown variables change from period to period. I suggest to create a unique function tha...Model inversion and deterministic conditional forecast solve the same mathematical problem: solving a (non-)linear system where the identity of the unknown variables change from period to period. I suggest to create a unique function that would solve such problems.
``general_solver`` would take at least the following arguments:
* y: endogenous variables (matrix)
* x: exogenous variables (matrix) [possible concatenation of exo_det variables to the right]
* model: model (function handle)
* i_endo_flip: flip variables indices in endogenous variables (vector)
* i_exo_flip: flip variables indices in exogenous variables (vector)
### Conventions
1. there are as many endogenous flip variables as exogenenous or exo det variables
1. the endogenous and exogenous flip variables are in the same order (not necessary to be contiguous but may help)
1. given the indices vector of flip variablesm implicit pairs of endogenous/exogenous variables are formed
1. If the observation of an endogenous variable is a NaN, the endogenous variables plays it usual role of endogenous variable
1. If the observation of an endogenous variables is a valid number, the endogenous variable is treated as exogenous and the corresponding flip exogenous variables is treated as endogenous
1. The presence of a NaN for an endogenous variable not declared as a flip variable is an error
1. The corner case of unconditional forecast should be accepted for ease of use
1. The solution is written back in ``y`` and ``x`` irrespective of the actual role of a variable in a given period
### Operations
``general_solver`` dispatches la résolution du nouveau problème selon
1. purely backward linear model
1. purely backward nonlinear model
1. purely forward linear model (if we have the algorithm...)
1. purely forward nonlinear model
1. general linear model
1. general nonlinear model
1. bytecode and or block model
and according to the options selecting a particular algorithm7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1709Rework handling of trends including automatic detrending2023-09-27T15:13:28ZFerhatMihoubiRework handling of trends including automatic detrendingFor the moment the deterministic or stochastic trends have to be declared using the trend_var (or log_trend_var) commands and the option deflator (or log_deflator) in var command to declare the trended variables.
The purpose of the new ...For the moment the deterministic or stochastic trends have to be declared using the trend_var (or log_trend_var) commands and the option deflator (or log_deflator) in var command to declare the trended variables.
The purpose of the new feature is to find and remove automatically the trends. To do so, the proposal is to add :
- an option in var command to indicate if the variable is expressed in logarithm or not (the default being not in logarithm). For instance *var(log) list of variables*.
- a command that will add to all endogenous variables a growth factor (additive or multiplicative depending on the previously declared status) and the equations that put in relation all the growth factors to theirs endogenous variables. This step should be performed in the preprocessor to produce a new dynamic model containing all the endogenous variables and the growth factor associated to all the endogenous variables.
- during the execution the complete new dynamic model should be solved to compute the growth factors and the steady state values of the endogenous variables.
This command could be *detrend* for instance.7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1746Create a MEX equivalent to minreal from the control toolbx2023-09-27T15:13:11ZSébastien VillemotCreate a MEX equivalent to minreal from the control toolbxSee the comments in `get_minimal_state_representation.m`.See the comments in `get_minimal_state_representation.m`.7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1845Use keywords as option values when it makes more sense than numerical values2023-09-27T15:11:20ZSébastien VillemotUse keywords as option values when it makes more sense than numerical valuesSeveral options currently accept numerical values, which are not very meaningful nor informative. We could instead use keywords as values (but continue accepting the old numerical values for backward compatibility).
Candidate options fo...Several options currently accept numerical values, which are not very meaningful nor informative. We could instead use keywords as values (but continue accepting the old numerical values for backward compatibility).
Candidate options for this change are:
- `solve_algo`
- `stack_solve_algo`
- `mode_compute`
- `lik_init`
- `kalman_algo`
- `analytic_derivation_mode`
- `mfs`
- `plot_priors`
For example, for `solve_algo`, the integer value `0` could be replaced by the keyword `fsolve`. And so on. The first step is obviously to decide which keywords to use for each numerical value.7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1675Migrate to Dragonfly parallel toolkit2023-09-27T15:08:43ZSébastien VillemotMigrate to Dragonfly parallel toolkitThe embedded parallel toolkit should be replaced by the [Dragonfly](https://github.com/DragonflyTeam/dragonfly) toolkit.
A branch called `dragonfly` has been created, with the toolkit under `matlab/modules/dragonfly` (see ee3971ad636491...The embedded parallel toolkit should be replaced by the [Dragonfly](https://github.com/DragonflyTeam/dragonfly) toolkit.
A branch called `dragonfly` has been created, with the toolkit under `matlab/modules/dragonfly` (see ee3971ad6364910851ff06da9729d9b4a084ca4b).7.xMarco RattoMarco Rattohttps://git.dynare.org/Dynare/dynare/-/issues/226New estimation2023-09-27T15:08:19ZSébastien VillemotNew estimationWrite the new estimation interface in the preprocessor. A description of what is needed is given on the wiki (http://www.dynare.org/DynareWiki/NewEstimation).Write the new estimation interface in the preprocessor. A description of what is needed is given on the wiki (http://www.dynare.org/DynareWiki/NewEstimation).7.xStéphane Adjemianstepan@adjemian.euStéphane Adjemianstepan@adjemian.euhttps://git.dynare.org/Dynare/dynare/-/issues/1795Feature Request: Handling Indeterminacy à la Bianchi and Nicolo2023-09-27T15:07:55ZWilli Mutschlerwilli@mutschler.euFeature Request: Handling Indeterminacy à la Bianchi and NicoloWe might investigate whether we can include
["A Generalized Approach to Indeterminacy in Linear Rational Expectations Models" by Bianchi and Nicolò.](https://onlinelibrary.wiley.com/doi/full/10.3982/QE949)
They propose to do some pre-pr...We might investigate whether we can include
["A Generalized Approach to Indeterminacy in Linear Rational Expectations Models" by Bianchi and Nicolò.](https://onlinelibrary.wiley.com/doi/full/10.3982/QE949)
They propose to do some pre-processing of the model equations in the case of indeterminacy (essentially it creates an extended state-space system that is then determinate). I'll look into this in the semester break in July and August.7.xWilli Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1900Add Artificial bee colony optimizer2023-09-27T15:07:25ZWilli Mutschlerwilli@mutschler.euAdd Artificial bee colony optimizerArtificial bee colony (ABC) is a stochastic search technique based on swarm intelligence, which mimics the process of honey bee swarms foraging for food.
@jmaih has an implementation in RISE and - even though it is rather slow- it is su...Artificial bee colony (ABC) is a stochastic search technique based on swarm intelligence, which mimics the process of honey bee swarms foraging for food.
@jmaih has an implementation in RISE and - even though it is rather slow- it is supposed to be very powerful.7.xWilli Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1664Implement option to use LMMCP for steady state computation2023-09-27T15:06:55ZMichelJuillardImplement option to use LMMCP for steady state computationIntroducing mixed complementarity problems in steady state computation may be useful to exclude parts of the definition space where no solution exists. It may also help when one doesn't know whether an occasionally binding constraints bi...Introducing mixed complementarity problems in steady state computation may be useful to exclude parts of the definition space where no solution exists. It may also help when one doesn't know whether an occasionally binding constraints bites at the steady state or not, depending on the value of the parameters.7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1684New WITH_TREND() operator for epilogue block2023-09-27T15:06:41ZSébastien VillemotNew WITH_TREND() operator for epilogue blockImplement a new operator (something like `WITH_TREND()` that could be used in the epilogue block, and that would add back the trend on the computed variables. In this way, the symbolic manipulations would be done in the preprocessor, whi...Implement a new operator (something like `WITH_TREND()` that could be used in the epilogue block, and that would add back the trend on the computed variables. In this way, the symbolic manipulations would be done in the preprocessor, which is much more easier to do than in MATLAB.
Initially discussed in #16487.xhttps://git.dynare.org/Dynare/dynare/-/issues/1704Update partial information code2023-09-27T15:06:28ZSébastien VillemotUpdate partial information codeFirst version located in https://git.dynare.org/Yang/dynareFirst version located in https://git.dynare.org/Yang/dynare7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1796Implement observables decomposition2023-09-27T15:05:56ZJohannes PfeiferImplement observables decompositionFeatures request at the 2021 Summer School. Reference: https://www.dynare.org/wp-repo/dynarewp016.pdf
See also https://forum.dynare.org/t/decomposition-into-observables/17278Features request at the 2021 Summer School. Reference: https://www.dynare.org/wp-repo/dynarewp016.pdf
See also https://forum.dynare.org/t/decomposition-into-observables/172787.xhttps://git.dynare.org/Dynare/dynare/-/issues/1847Expand *_calibration to higher order2023-09-27T15:04:53ZJohannes PfeiferExpand *_calibration to higher orderCurrently, we only support first order. See also https://forum.dynare.org/t/gsa-of-irfs-with-a-higher-order-approximation/19758/2Currently, we only support first order. See also https://forum.dynare.org/t/gsa-of-irfs-with-a-higher-order-approximation/19758/27.xhttps://git.dynare.org/Dynare/dynare/-/issues/1906Potentially support parfor loops for parallelization2023-09-22T21:50:00ZJohannes PfeiferPotentially support parfor loops for parallelizationRecent Matlab versions will simply resort to a `for`-loop if the parallel-computing toolbox is not available. So we may give this as an option.Recent Matlab versions will simply resort to a `for`-loop if the parallel-computing toolbox is not available. So we may give this as an option.