code: def test_riskmetrics(setup, initial_value):
      rm06 = RiskMetrics2006()
  
      sv = rm06.starting_values(setup.resids)
      assert_equal(sv.shape[0], rm06.num_params)
  
      bounds = rm06.bounds(setup.resids)
      assert_equal(len(bounds), 0)
      var_bounds = rm06.variance_bounds(setup.resids)
      backcast = rm06.backcast(setup.resids)
      assert_equal(backcast.shape[0], 14)
      parameters = np.array([])
  
      names = rm06.parameter_names()
      names_target = []
      assert_equal(names, names_target)
  
      # TODO: Test variance fit by RM06
      rm06.compute_variance(
          parameters, setup.resids, setup.sigma2, backcast, var_bounds
      )
  
      a, b = rm06.constraints()
      a_target = np.empty((0, 0))
      b_target = np.empty((0,))
      assert_array_equal(a, a_target)
      assert_array_equal(b, b_target)
  
      # TODO: Test RM06 Simulation
      state = setup.rng.get_state()
      assert isinstance(state, tuple)
      rng = Normal(seed=RandomState())
      rng.generator.set_state(state)
      sim_data = rm06.simulate(
          parameters,
          setup.t,
          rng.simulate([]),
          initial_value=initial_value,
      )
      assert isinstance(sim_data, tuple)
      assert len(sim_data) == 2
      assert isinstance(sim_data[0], np.ndarray)
      assert isinstance(sim_data[1], np.ndarray)
  
      assert_equal(rm06.num_params, 0)
      assert_equal(rm06.name, "RiskMetrics2006")
  
imports: import types
  from typing import NamedTuple
  import warnings
  import numpy
  from numpy.random import RandomState
  from numpy.testing import assert_allclose, assert_almost_equal, assert_array_equal, assert_equal
  import pytest
  from scipy.special import gamma, gammaln
  from arch.univariate import ZeroMean
  from arch.univariate.distribution import Normal, SkewStudent, StudentsT
  import arch.univariate.recursions_python
  from arch.univariate.volatility import APARCH, ARCH, EGARCH, FIGARCH, GARCH, HARCH, ConstantVariance, EWMAVariance, FixedVariance, MIDASHyperbolic, RiskMetrics2006
  from arch.utility.exceptions import InitialValueWarning
label_desc: Use image node_id 20 for calling a global function with example usage: test_riskmetrics(setup, initial_value) without return types