code: def test_case2(self):
      def test_case(instruments, queries, note=None):
          if note:
              print(note)
          print(f"checking {instruments} with queries {queries}")
          df = D.features(instruments, queries)
          print(df)
          return df
  
      test_case(
          ["SH600519"],
          ["ChangeInstrument('SH000300', $close)"],
          "get market index close",
      )
      test_case(
          ["SH600519"],
          [
              "ChangeInstrument('SH000300', Feature('close')/Ref(Feature('close'),1) -1)"
          ],
          "get market index return with Feature",
      )
      test_case(
          ["SH600519"],
          ["ChangeInstrument('SH000300', $close/Ref($close,1) -1)"],
          "get market index return with expression",
      )
      test_case(
          ["SH600519"],
          [
              "($close/Ref($close,1) -1) - ChangeInstrument('SH000300', $close/Ref($close,1) -1)"
          ],
          "get excess return with expression with beta=1",
      )
  
      ret = "Feature('close') / Ref(Feature('close'), 1) - 1"
      benchmark = "SH000300"
      n_period = 252
      marketRet = f"ChangeInstrument('{benchmark}', Feature('close') / Ref(Feature('close'), 1) - 1)"
      marketVar = f"ChangeInstrument('{benchmark}', Var({marketRet}, {n_period}))"
      beta = f"Cov({ret}, {marketRet}, {n_period}) / {marketVar}"
      excess_return = f"{ret} - {beta}*({marketRet})"
      fields = [
          "Feature('close')",
          f"ChangeInstrument('{benchmark}', Feature('close'))",
          ret,
          marketRet,
          beta,
          excess_return,
      ]
      test_case(
          ["SH600519"],
          fields[5:],
          "get market beta and excess_return with estimated beta",
      )
  
      instrument = "sh600519"
      ret = Feature("close") / Ref(Feature("close"), 1) - 1
      benchmark = "sh000300"
      n_period = 252
      marketRet = ChangeInstrument(
          benchmark, Feature("close") / Ref(Feature("close"), 1) - 1
      )
      marketVar = ChangeInstrument(benchmark, Var(marketRet, n_period))
      beta = Cov(ret, marketRet, n_period) / marketVar
      fields = [
          Feature("close"),
          ChangeInstrument(benchmark, Feature("close")),
          ret,
          marketRet,
          beta,
          ret - beta * marketRet,
      ]
      names = [
          "close",
          "marketClose",
          "ret",
          "marketRet",
          f"beta_{n_period}",
          "excess_return",
      ]
      data_loader_config = {"feature": (fields, names)}
      data_loader = QlibDataLoader(config=data_loader_config)
      df = data_loader.load(
          instruments=[instrument]
      )  # , start_time=start_time)
      print(df)
  
file_path: qlib/tests/ops/test_special_ops.py
imports: import unittest
  from qlib.data import D
  from qlib.data.dataset.loader import QlibDataLoader
  from qlib.data.ops import ChangeInstrument, Cov, Feature, Ref, Var
  from qlib.tests import TestOperatorData
label_desc: Use image node_id 2 for calling the TestOperatorDataSetting obj's underlying member method code with example usage: obj.test_case2() and returns: df