'Filters for releases that are on or after each simulation date and
determines the previous quarter by picking out the most recent
release relative to each date in the index.
Parameters
stacked_last_per_qtr : pd.DataFrame
A DataFrame with index of calendar dates, sid, and normalized
quarters with each row being the latest estimate for the row\'s
index values, sorted by event date.
Returns
previous_releases_per_date_index : pd.MultiIndex
An index of calendar dates, sid, and normalized quarters, for only
the rows that have a previous event.'

def get_zeroth_quarter_idx(self, stacked_last_per_qtr):

    previous_releases_per_date = stacked_last_per_qtr.loc[(stacked_last_per_qtr[EVENT_DATE_FIELD_NAME] <= stacked_last_per_qtr.index.get_level_values(SIMULATION_DATES))].groupby(level=[SIMULATION_DATES, SID_FIELD_NAME], as_index=False).nth((-1))
    return previous_releases_per_date.index
