'Compute a simulated sample path assuming Gaussian shocks.
Parameters
ts_length : scalar(int), optional(default=90)
Number of periods to simulate for
Returns
vals : array_like(float)
A simulation of the model that corresponds to this class'

def simulation(self, ts_length=90):

    sys = (self.ma_poly, self.ar_poly, 1)
    u = (np.random.randn(ts_length, 1) * self.sigma)
    vals = dlsim(sys, u)[1]
    return vals.flatten()
