code: def test_superior_models(self):
      adj_models = self.models - linspace(-1.0, 1.0, self.k)
      stepm = StepM(self.benchmark, adj_models, reps=120)
      stepm.compute()
      superior_models = stepm.superior_models
      assert len(superior_models) > 0
      spa = SPA(self.benchmark, adj_models, reps=120)
      spa.compute()
      assert isinstance(spa.pvalues, pd.Series)
      spa.critical_values(0.05)
      spa.better_models(0.05)
      adj_models = self.models_df - linspace(-3.0, 3.0, self.k)
      stepm = StepM(self.benchmark_series, adj_models, reps=120)
      stepm.compute()
      superior_models = stepm.superior_models
      assert len(superior_models) > 0
  
imports: from typing import NamedTuple
  import numpy
  from numpy import linspace
  from numpy.random import RandomState
  from numpy.testing import assert_allclose, assert_equal
  import pandas
  from pandas.testing import assert_frame_equal, assert_series_equal
  import pytest
  import scipy.stats
  from arch.bootstrap import CircularBlockBootstrap, MovingBlockBootstrap, StationaryBootstrap
  from arch.bootstrap.multiple_comparison import MCS, SPA, StepM
label_desc: Use image node_id 3 for calling the TestStepM obj's underlying member method code with example usage: obj.test_superior_models() without return types