code: def test_frame_labels(self):
      am = arch_model(self.zero_mean, mean="Zero", vol="Constant")
      res = am.fit()
      fcast = res.forecast(horizon=12)
      assert fcast.mean.shape[1] == 12
      assert fcast.variance.shape[1] == 12
      assert fcast.residual_variance.shape[1] == 12
      for i in range(1, 13):
          if i < 10:
              col = "h.0" + str(i)
          else:
              col = "h." + str(i)
  
          assert col in fcast.mean.columns
          assert col in fcast.variance.columns
          assert col in fcast.residual_variance.columns
  
imports: import datetime
  from itertools import product
  import numpy
  from numpy.random import RandomState
  from numpy.testing import assert_allclose
  import pandas
  from pandas.testing import assert_frame_equal
  import pytest
  from arch.data import sp500
  from arch.tests.univariate.test_variance_forecasting import preserved_state
  from arch.univariate import APARCH, ARX, EGARCH, FIGARCH, GARCH, HARCH, HARX, ConstantMean, ConstantVariance, EWMAVariance, MIDASHyperbolic, RiskMetrics2006, ZeroMean, arch_model
  from arch.univariate.mean import _ar_forecast, _ar_to_impulse
label_desc: Use image node_id 5 for calling the TestForecasting obj's underlying member method code with example usage: obj.test_frame_labels() without return types