'Compute theoretical forecast error variance matrices
Parameters
steps : int
Number of steps ahead
Notes
.. math:: \mathrm{MSE}(h) = \sum_{i=0}^{h-1} \Phi \Sigma_u \Phi^T
Returns
forc_covs : ndarray (steps x neqs x neqs)'

def mse(self, steps):

    ma_coefs = self.ma_rep(steps)
    k = len(self.sigma_u)
    forc_covs = np.zeros((steps, k, k))
    prior = np.zeros((k, k))
    for h in range(steps):
        phi = ma_coefs[h]
        var = chain_dot(phi, self.sigma_u, phi.T)
        forc_covs[h] = prior = (prior + var)
    return forc_covs
