def test_constant_mean(self): cm = ConstantMean(self.y) parameters = np.array([5.0, 1.0]) cm.simulate(parameters, self.T) assert_equal(cm.num_params, 1) bounds = cm.bounds() assert_equal(bounds, [(-np.inf, np.inf)]) assert_equal(cm.constant, True) a, b = cm.constraints() assert_equal(a, np.empty((0, 1))) assert_equal(b, np.empty((0,))) assert isinstance(cm.volatility, ConstantVariance) assert isinstance(cm.distribution, Normal) assert_equal(cm.lags, None) res = cm.fit(disp='off') expected = np.array([self.y.mean(), self.y.var()]) assert_almost_equal(res.params, expected) forecasts = res.forecast(horizon=20, start=20) direct = pd.DataFrame(index=np.arange(self.y.shape[0]), columns=['h.{0:>02d}'.format(i + 1) for i in range(20)], dtype=np.float64) direct.iloc[20:, :] = res.params.iloc[0] # TODO # assert_frame_equal(direct, forecasts) assert isinstance(forecasts, ARCHModelForecast)
def test_constant_mean(self): cm = ConstantMean(self.y) parameters = np.array([5.0, 1.0]) cm.simulate(parameters, self.T) assert_equal(cm.num_params, 1) with pytest.raises(ValueError): cm.simulate(parameters, self.T, x=np.array(10)) bounds = cm.bounds() assert_equal(bounds, [(-np.inf, np.inf)]) assert_equal(cm.constant, True) a, b = cm.constraints() assert_equal(a, np.empty((0, 1))) assert_equal(b, np.empty((0,))) assert isinstance(cm.volatility, ConstantVariance) assert isinstance(cm.distribution, Normal) assert_equal(cm.lags, None) res = cm.fit(disp='off') expected = np.array([self.y.mean(), self.y.var()]) assert_almost_equal(res.params, expected) forecasts = res.forecast(horizon=20, start=20) direct = pd.DataFrame(index=np.arange(self.y.shape[0]), columns=['h.{0:>02d}'.format(i + 1) for i in range(20)], dtype=np.float64) direct.iloc[20:, :] = res.params.iloc[0] # TODO # assert_frame_equal(direct, forecasts) assert isinstance(forecasts, ARCHModelForecast) assert isinstance(cm.__repr__(), str) assert isinstance(cm.__str__(), str) assert '<strong>' in cm._repr_html_()
def test_constant_mean(self): cm = ConstantMean(self.y) parameters = np.array([5.0, 1.0]) cm.simulate(parameters, self.T) assert_equal(cm.num_params, 1) bounds = cm.bounds() assert_equal(bounds, [(-np.inf, np.inf)]) assert_equal(cm.constant, True) a, b = cm.constraints() assert_equal(a, np.empty((0, 1))) assert_equal(b, np.empty((0, ))) assert_true(isinstance(cm.volatility, ConstantVariance)) assert_true(isinstance(cm.distribution, Normal)) assert_equal(cm.first_obs, 0) assert_equal(cm.last_obs, 1000) assert_equal(cm.lags, None) res = cm.fit() assert_almost_equal(res.params, np.array([self.y.mean(), self.y.var()])) forecasts = res.forecast(horizon=20, start=20) direct = pd.DataFrame( index=np.arange(self.y.shape[0]), columns=['h.{0:>02d}'.format(i + 1) for i in range(20)], dtype=np.float64) direct.iloc[20:, :] = res.params.iloc[0] assert_frame_equal(direct, forecasts)