I want to recursively estimate a model on a growing sample (say from 50 to 55 periods) and get 1&2-step ahead out-of-sample forecasts of endogenous variables for each sub-sample (that is E_{t}y_{t+k} where t \in [50,55] and k \in [1,2] ).
In the estimation options I have: nobs=[50:55], filter_step_ahead = [1 2], forecast = 2
which results in oo_.FilteredVariablesKStepAhead
and oo_.RecursiveForecast.Mean
, respectively. I will denote E^F for the filtered values, E^R for the recursive forecasts and T as the final period considered.
I noticed that for all variables oo_.RecursiveForecast.Mean
and oo_.FilteredVariablesKStepAhead
coincide for the last period (E^F_T y_{T+k} = E^R_T y_{T+k} ), but not for any of the previous periods (E^F_t y_{t+k} \not= E^R_t y_{t+k} , for t \not= T). I understand that oo_.RecursiveForecast.Mean
keeps the forecasts for each iteration of the estimation (50:55), whilst oo_.FilteredVariablesKStepAhead
probably gets overwritten and at the end consists of only the last estimation (1:55 periods in this example). But how should the values of this final oo_.FilteredVariablesKStepAhead
be interpreted then?
Given the following description of the filtered values, I would expect both to be equivalent (i.e. E^F_t y_{t+k} = E^R_t y_{t+k} ~ \forall t)
(4. The model file — Dynare 5.4 documentation)
filter_step_ahead = [INTEGER1 INTEGER2 ...]
Triggers the computation k-step ahead filtered values, i.e. E_t y_{t+k} . Stores results in
oo_.FilteredVariablesKStepAhead
. Also stores 1-step ahead values inoo_.FilteredVariables
.oo_.FilteredVariablesKStepAheadVariances
is stored iffilter_covariance
.
Is the case that the last oo_.FilteredVariablesKStepAhead
matrix (at T ) somehow uses information of [t+1,T] even for filtered variables for any t<T? Perhaps E^F_{t|T} y_{t+k} forecasts y_{t+k} at period t with respect to exogenous variables, but uses an estimated model based on information up to an including T whilst E^R_t y_{t+k} by definition always uses an estimated model up to an including only t . Thus by construction, oo_.FilteredVariablesKStepAhead
are only valid as out of sample forecasts at the last period ( E^F_T=E^R_T ).
Is this the right intuition? If so, then the only valid way to get recursive out-of-sample forecasts will be through oo_.RecursiveForecast.Mean
.
Many thanks,
Viktor