code: def __call__(self, df_features):
      df_features["date"] = pd.to_datetime(
          df_features.index.get_level_values(level="datetime")
          .to_series()
          .dt.date.values
      )
      df_features.set_index(
          "date", append=True, drop=True, inplace=True
      )
      df_values = df_features.values
      names = {
          "price": slice(0, 10),
          "volume": slice(10, 12),
      }
  
      for name, name_val in names.items():
          if name == "volume":
              df_values[:, name_val] = np.log1p(df_values[:, name_val])
          df_values[:, name_val] -= self.feature_med[name]
          df_values[:, name_val] /= self.feature_std[name]
          slice0 = df_values[:, name_val] > 3.0
          slice1 = df_values[:, name_val] > 3.5
          slice2 = df_values[:, name_val] < -3.0
          slice3 = df_values[:, name_val] < -3.5
  
          df_values[:, name_val][slice0] = (
              3.0
              + (df_values[:, name_val][slice0] - 3.0)
              / (self.feature_vmax[name] - 3)
              * 0.5
          )
          df_values[:, name_val][slice1] = 3.5
          df_values[:, name_val][slice2] = (
              -3.0
              - (df_values[:, name_val][slice2] + 3.0)
              / (self.feature_vmin[name] + 3)
              * 0.5
          )
          df_values[:, name_val][slice3] = -3.5
      idx = df_features.index.droplevel("datetime").drop_duplicates()
      idx.set_names(["instrument", "datetime"], inplace=True)
  
      # Reshape is specifically for adapting to RL high-freq executor
      feat = df_values[:, [0, 1, 2, 3, 4, 10]].reshape(-1, 6 * 240)
      feat_1 = df_values[:, [5, 6, 7, 8, 9, 11]].reshape(-1, 6 * 240)
      df_new_features = pd.DataFrame(
          data=np.concatenate((feat, feat_1), axis=1),
          index=idx,
          columns=["FEATURE_%d" % i for i in range(12 * 240)],
      ).sort_index()
      return df_new_features
  
file_path: qlib/examples/highfreq/highfreq_processor.py
imports: import numpy
  import pandas
  from qlib.constant import EPS
  from qlib.data.dataset.processor import Processor
  from qlib.data.dataset.utils import fetch_df_by_index
label_desc: Use image node_id 3 for calling the HighFreqNorm obj's underlying member method code with example usage: obj.__call__(df_features) and returns: df_new_features