Beginning of period and end of period basis are inverted in Sebastien's message.
Best
Michel Juillard
On Nov 4, 2009, at 17:09, Sébastien Villemot sebastien.villemot@ens.fr wrote:
Hi Houtan,
We want to add a "predetermined_variables" keyword that let people use predetermined variables at the current period.
The problem is the following: currently in Dynare, variables decided at date "t" must be declared with a "t" subscript.
The typical case is for capital stock: currently in Dynare, it must be declared using a beginning-of-period basis, which gives the following law of motion:
k = i + (1-delta)*k(-1)
However, some people want to have it on a end-of-period basis, which would look like:
k(+1) = i + (1-delta)*k
For the latter case, the user would then just write at the beginning of the MOD file:
predetermined_variables k;
The idea is that the first law of motion should be strictly equivalent to the second associated to the new keyword.
The algorithm is very simple: the preprocessor should simply lag the variables declared as predetermined_variables by one period.
I think this should consist in a new substitution pass, which would take place before all the existing substitution passes (expectation operator + Leads/lags). There is no need to create auxiliary variables; just lagging the corresponding variables by one and creating the new corresponding expressions is enough.
During the parsing, we should take care that variables declared as predetermined_variables had been previously declared as endogenous in a var statement.
The preprocessor should add a list "M_.predetermined_variables" in the generated M-file, for use by MATLAB routines.
We need also to thing about the consequences for estimation and which observation period to use when a predetermined_variable is observed, but this is not something to be done from within the preprocessor, so you are not concerned.
If possible, it would be great if this feature was implemented before you come to Paris.
Don't hesitate to ask for more details.
Best,
-- Sébastien Villemot
Dev mailing list Dev@dynare.org http://www.dynare.org/cgi-bin/mailman/listinfo/dev