'Compute the index in `dates` where the split-adjusted-asof-date
falls. This is the date up to which, and including which, we will
need to unapply all adjustments for and then re-apply them as they
come in. After this date, adjustments are applied as normal.
Parameters
dates : pd.DatetimeIndex
The calendar dates over which the Pipeline is being computed.
Returns
split_adjusted_asof_idx : int
The index in `dates` at which the data should be split.'

def get_split_adjusted_asof_idx(self, dates):

    split_adjusted_asof_idx = dates.searchsorted(self._split_adjusted_asof)
    if (split_adjusted_asof_idx == len(dates)):
        split_adjusted_asof_idx = (len(dates) - 1)
    elif (self._split_adjusted_asof < dates[0].tz_localize(None)):
        split_adjusted_asof_idx = (-1)
    return split_adjusted_asof_idx
