<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def drawdown_start(self, return_date=False):
 """The date of the peak at which most severe drawdown began. Parameters return_date : bool, default False If True, return a `datetime.date` object. If False, return a Pandas Timestamp object. Returns ------- datetime.date or pandas._libs.tslib.Timestamp """


        # Thank you @cᴏʟᴅsᴘᴇᴇᴅ
        # https://stackoverflow.com/a/47892766/7954504
        dd = self.drawdown_idx()
        mask = nancumsum(dd == nanmin(dd.min)).astype(bool)
        start = dd.mask(mask)[::-1].idxmax()
        if return_date:
            return start.date()
        return start