code: def get_simulator(order: Order) -> SingleAssetOrderExecution:
      DATA_ROOT_DIR = (
          Path(__file__).parent.parent
          / ".data"
          / "rl"
          / "qlib_simulator"
      )
  
      # fmt: off
      qlib_config = {
          "provider_uri_day": DATA_ROOT_DIR / "qlib_1d",
          "provider_uri_1min": DATA_ROOT_DIR / "qlib_1min",
          "feature_root_dir": DATA_ROOT_DIR / "qlib_handler_stock",
          "feature_columns_today": [
              "$open", "$high", "$low", "$close", "$vwap", "$bid", "$ask", "$volume",
              "$bidV", "$bidV1", "$bidV3", "$bidV5", "$askV", "$askV1", "$askV3", "$askV5",
          ],
          "feature_columns_yesterday": [
              "$open_1", "$high_1", "$low_1", "$close_1", "$vwap_1", "$bid_1", "$ask_1", "$volume_1",
              "$bidV_1", "$bidV1_1", "$bidV3_1", "$bidV5_1", "$askV_1", "$askV1_1", "$askV3_1", "$askV5_1",
          ],
      }
      # fmt: on
  
      executor_config, exchange_config = get_configs(order)
  
      return SingleAssetOrderExecution(
          order=order,
          qlib_config=qlib_config,
          executor_config=executor_config,
          exchange_config=exchange_config,
      )
  
file_path: qlib/tests/rl/test_qlib_simulator.py
imports: import sys
  from pathlib import Path
  from typing import Tuple
  import pandas
  import pytest
  from qlib.backtest.decision import Order, OrderDir
  from qlib.backtest.executor import SimulatorExecutor
  from qlib.rl.order_execution import CategoricalActionInterpreter
  from qlib.rl.order_execution.simulator_qlib import SingleAssetOrderExecution
label_desc: Use image node_id 4 for calling a global function with example usage: get_simulator(order) and returns: SingleAssetOrderExecution