class_docstr: level infrastructure is created by executor, and then shared to strategies on the same level
docstr: Descriptions about the infrastructure
  
  sub_level_infra:
  - **NOTE**: this will only work after _init_sub_trading !!!
docstr_tok: ["Descriptions","about","the","infrastructure","sub_level_infra",":","-","*","*","NOTE","*","*",":","this","will","only","work","after","_init_sub_trading","!","!","!"]
code: def get_support_infra(self) -> Set[str]:
      """
      Descriptions about the infrastructure
  
      sub_level_infra:
      - **NOTE**: this will only work after _init_sub_trading !!!
      """
      return {
          "trade_calendar",
          "sub_level_infra",
          "common_infra",
          "executor",
      }
  
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Any, Set, Tuple, TYPE_CHECKING, Union
  import numpy
  from qlib.utils.time import epsilon_change
  import warnings
  import pandas
  from ..data.data import Cal
label_desc: Use image node_id 1 for calling the LevelInfrastructure obj's underlying member method code with example usage: obj.get_support_infra() and returns: unknown