class_docstr: A stream operator that creates a cumulative maximum of values.
  
  Parameters
  ----------
  skip_na : bool, default True
      Exclude NA/null values. If a value is NA, the result will be NA.
  
  References
  ----------
  [1] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.cummax.html
class_docstr_tok: ["A","stream","operator","that","creates","a","cumulative","maximum","of","values",".","Parameters","--","--","--","--","--","skip_na",":","bool",",","default","True","Exclude","NA\/null","values",".","If","a","value","is","NA",",","the","result","will","be","NA",".","References","--","--","--","--","--","[","1","]","https",":","\/\/pandas.pydata.org\/pandas-docs\/stable\/reference\/api\/pandas.Series.cummax.html"]
code: def forward(self) -> float:
      node = self.inputs[0]
      if self.skip_na:
          if np.isnan(node.value):
              return np.nan
          if not np.isnan(node.value) and node.value > self.c_max:
              self.c_max = node.value
      else:
          if self.c_max is None:
              self.c_max = node.value
          elif np.isnan(node.value):
              self.c_max = np.nan
          elif node.value > self.c_max:
              self.c_max = node.value
      return self.c_max
  
imports: import numpy
  from tensortrade.feed.core.base import Stream
  from tensortrade.feed.api.float import Float
label_desc: Use image node_id 2 for calling the CumMax obj's underlying member method code with example usage: obj.forward() and returns: self, np