code: def get_strategy_executor(
      start_time: Union[pd.Timestamp, str],
      end_time: Union[pd.Timestamp, str],
      strategy: Union[str, dict, object, Path],
      executor: Union[str, dict, object, Path],
      benchmark: Optional[str] = "SH000300",
      account: Union[float, int, dict] = 1e9,
      exchange_kwargs: dict = {},
      pos_type: str = "Position",
  ) -> Tuple[BaseStrategy, BaseExecutor]:
      # NOTE:
      # - for avoiding recursive import
      # - typing annotations is not reliable
      from ..strategy.base import BaseStrategy  # pylint: disable=C0415
      from .executor import BaseExecutor  # pylint: disable=C0415
  
      trade_account = create_account_instance(
          start_time=start_time,
          end_time=end_time,
          benchmark=benchmark,
          account=account,
          pos_type=pos_type,
      )
  
      exchange_kwargs = copy.copy(exchange_kwargs)
      if "start_time" not in exchange_kwargs:
          exchange_kwargs["start_time"] = start_time
      if "end_time" not in exchange_kwargs:
          exchange_kwargs["end_time"] = end_time
      trade_exchange = get_exchange(**exchange_kwargs)
  
      common_infra = CommonInfrastructure(
          trade_account=trade_account, trade_exchange=trade_exchange
      )
      trade_strategy = init_instance_by_config(
          strategy, accept_types=BaseStrategy
      )
      trade_strategy.reset_common_infra(common_infra)
      trade_executor = init_instance_by_config(
          executor, accept_types=BaseExecutor
      )
      trade_executor.reset_common_infra(common_infra)
  
      return trade_strategy, trade_executor
  
file_path: qlib/qlib/backtest/__init__.py
imports: from __future__ import annotations
  import copy
  from pathlib import Path
  from typing import TYPE_CHECKING, Any, Generator, List, Optional, Tuple, Union
  import pandas
  from .account import Account
  from ..config import C
  from ..log import get_module_logger
  from ..utils import init_instance_by_config
  from .backtest import INDICATOR_METRIC, PORT_METRIC, backtest_loop, collect_data_loop
  from .decision import Order
  from .exchange import Exchange
  from .utils import CommonInfrastructure
label_desc: Use image node_id 3 for calling a global function with example usage: get_strategy_executor(start_time, end_time, strategy, executor, benchmark, account, exchange_kwargs, pos_type) and returns: trade_strategy,  trade_executor