code: def test_setting(self):
      # All the query below passes
      df = D.features(
          ["SH600519"], ["ChangeInstrument('SH000300', $close)"]
      )
  
      # get market return for "SH600519"
      df = D.features(
          ["SH600519"],
          [
              "ChangeInstrument('SH000300', Feature('close')/Ref(Feature('close'),1) -1)"
          ],
      )
      df = D.features(
          ["SH600519"],
          ["ChangeInstrument('SH000300', $close/Ref($close,1) -1)"],
      )
      # excess return
      df = D.features(
          ["SH600519"],
          [
              "($close/Ref($close,1) -1) - ChangeInstrument('SH000300', $close/Ref($close,1) -1)"
          ],
      )
      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 1 for calling the TestOperatorDataSetting obj's underlying member method code with example usage: obj.test_setting() without return types