<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cumulative_max(self):
 """ Return the cumulative maximum value of the elements in the SArray. Returns an SArray where each element in the output corresponds to the maximum value of all the elements preceding and including it. The SArray is expected to be of numeric type (int, float). Returns ------- out : SArray[int, float] Notes ----- - Missing values are ignored while performing the cumulative aggregate operation. Examples -------- dtype: int rows: 3 [1, 1, 3, 4, 4] """

        from .. import extensions
        agg_op = "__builtin__cum_max__"
        return SArray(_proxy = self.__proxy__.builtin_cumulative_aggregate(agg_op))