'Produce dynamic forecast
Parameters
steps
Returns
forecasts : pandas.DataFrame'

def forecast(self, steps=1):

    output = np.empty(((self.T - steps), self.neqs))
    y_values = self.y.values
    y_index_map = dict(((d, idx) for (idx, d) in enumerate(self.y.index)))
    result_index_map = dict(((d, idx) for (idx, d) in enumerate(self.result_index)))
    coefs = self._coefs_raw
    intercepts = self._intercepts_raw
    forc_index = self.result_index[steps:]
    for (i, date) in enumerate(forc_index):
        idx = (y_index_map[date] - steps)
        result_idx = (result_index_map[date] - steps)
        y_slice = y_values[:idx]
        forcs = _model.forecast(y_slice, coefs[result_idx], intercepts[result_idx], steps)
        output[i] = forcs[(-1)]
    return pd.DataFrame(output, index=forc_index, columns=self.names)
