'Given a session label, returns the label of the next session.
Parameters
session_label: pd.Timestamp
A session whose next session is desired.
Returns
pd.Timestamp
The next session label (midnight UTC).
Notes
Raises ValueError if the given session is the last session in this
calendar.'

def next_session_label(self, session_label):

    idx = self.schedule.index.get_loc(session_label)
    try:
        return self.schedule.index[(idx + 1)]
    except IndexError:
        if (idx == (len(self.schedule.index) - 1)):
            raise ValueError('There    is    no    next    session    as    this    is    the    end    of    the    exchange    calendar.')
        else:
            raise
