Automatic normalization of variables when solving a model with multiple trends
In a model with multiple trends, values of variables which have different trends vary widely at long horizons of simulations (e.g. capital stock which is trended versus a rate of return which is not trended). It implies growing discrepancies in simulations, such that some numerical “residuals” are too big with respect to others. Mixing very small quantities with very big ones could cause issues in the numerical methods used to solve simulations of the model.
Operating some automatic normalization (dividing variables by their trend, for variables in level; computing deviations of variables from their trend, for variables in log) when solving the model could solve this issue.
An intuitive way to implement this normalization would be to use information about the steady-state growth rates of all variables in the model (using dlog growth rates, defined as the change of the log of a variable), in order to compute such trends (if the dlog growth rate is g for a period t, as exp(tg) for variables in level and as tg for variables in log) and perform a normalization every n periods during the simulation, with n a given number of periods provided as an option by the user (if not provided by the user, Dynare would have a default value for this option). A discussion will be needed with Stéphane Adjemian to assess if this number n could be automatically determined by dynare.
This solution would require an input to provide such information (ideally a structure) to pass it to Dynare. This object should contain the following information about all variables in the model: name, type (e.g. constant or trend), dlog growth rate (as a function of model’s parameters, e.g. z_g+z_pi with z_g and z_pi the change of logs of real output and output price at the steady state), nature (e.g. level or log).
The way to operate such a normalization and the degree of generality of the algorithm (only for backward-looking models or also for forward-looking ones) will be specified after a discussion with Stéphane Adjemian.