class_docstr: Manager for trading calendar
      - BaseStrategy and BaseExecutor will use it
docstr: Parameters
  ----------
  freq : str
      frequency of trading calendar, also trade time per trading step
  start_time : Union[str, pd.Timestamp], optional
      closed start of the trading calendar, by default None
      If `start_time` is None, it must be reset before trading.
  end_time : Union[str, pd.Timestamp], optional
      closed end of the trade time range, by default None
      If `end_time` is None, it must be reset before trading.
docstr_tok: ["Parameters","--","--","--","--","--","freq",":","str","frequency","of","trading","calendar",",","also","trade","time","per","trading","step","start_time",":","Union","[","str",",","pd.Timestamp","]",",","optional","closed","start","of","the","trading","calendar",",","by","default","None","If","`","start_time","`","is","None",",","it","must","be","reset","before","trading",".","end_time",":","Union","[","str",",","pd.Timestamp","]",",","optional","closed","end","of","the","trade","time","range",",","by","default","None","If","`","end_time","`","is","None",",","it","must","be","reset","before","trading","."]
code: def __init__(
      self,
      freq: str,
      start_time: Union[str, pd.Timestamp] = None,
      end_time: Union[str, pd.Timestamp] = None,
      level_infra: LevelInfrastructure | None = None,
  ) -> None:
      """
      Parameters
      ----------
      freq : str
          frequency of trading calendar, also trade time per trading step
      start_time : Union[str, pd.Timestamp], optional
          closed start of the trading calendar, by default None
          If `start_time` is None, it must be reset before trading.
      end_time : Union[str, pd.Timestamp], optional
          closed end of the trade time range, by default None
          If `end_time` is None, it must be reset before trading.
      """
      self.level_infra = level_infra
      self.reset(freq=freq, start_time=start_time, end_time=end_time)
  
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 to create a new TradeCalendarManager object  with example: obj = TradeCalendarManager(freq, start_time, end_time, level_infra)