class_docstr: DayCumsum Operator during start time and end time.
  
  Parameters
  ----------
  feature : Expression
      feature instance
  start : str
      the start time of backtest in one day.
      !!!NOTE: "9:30" means the time period of (9:30, 9:31) is in transaction.
  end : str
      the end time of backtest in one day.
      !!!NOTE: "14:59" means the time period of (14:59, 15:00) is in transaction,
              but (15:00, 15:01) is not.
      So start="9:30" and end="14:59" means trading all day.
  
  Returns
  ----------
  feature:
      a series of that each value equals the cumsum value during start time and end time.
      Otherwise, the value is zero.
class_docstr_tok: ["DayCumsum","Operator","during","start","time","and","end","time",".","Parameters","--","--","--","--","--","feature",":","Expression","feature","instance","start",":","str","the","start","time","of","backtest","in","one","day",".","!","!","!","NOTE",":","``","9:30","''","means","the","time","period","of","(","9:30",",","9:31",")","is","in","transaction",".","end",":","str","the","end","time","of","backtest","in","one","day",".","!","!","!","NOTE",":","``","14:59","''","means","the","time","period","of","(","14:59",",","15:00",")","is","in","transaction",",","but","(","15:00",",","15:01",")","is","not",".","So","start=","''","9:30","''","and","end=","''","14:59","''","means","trading","all","day",".","Returns","--","--","--","--","--","feature",":","a","series","of","that","each","value","equals","the","cumsum","value","during","start","time","and","end","time",".","Otherwise",",","the","value","is","zero","."]
code: def __init__(
      self,
      feature,
      start: str = "9:30",
      end: str = "14:59",
      data_granularity: int = 1,
  ):
      self.feature = feature
      self.start = datetime.strptime(start, "%H:%M")
      self.end = datetime.strptime(end, "%H:%M")
  
      self.morning_open = datetime.strptime("9:30", "%H:%M")
      self.morning_close = datetime.strptime("11:30", "%H:%M")
      self.noon_open = datetime.strptime("13:00", "%H:%M")
      self.noon_close = datetime.strptime("15:00", "%H:%M")
  
      self.data_granularity = data_granularity
      self.start_id = (
          time_to_day_index(self.start) // self.data_granularity
      )
      self.end_id = time_to_day_index(self.end) // self.data_granularity
      assert 240 % self.data_granularity == 0
  
imports: import numpy
  import pandas
  from datetime import datetime
  from qlib.data.cache import H
  from qlib.data.data import Cal
  from qlib.data.ops import ElemOperator, PairOperator
  from qlib.utils.time import time_to_day_index
label_desc: Use image node_id 1 to create a new DayCumsum object from inherited base classes: ElemOperator with example: obj = DayCumsum(feature, start, end, data_granularity)