code: def calculate_dates(self, dt):
          
          period_end = self.cal.open_and_close_for_session(
              self.cal.minute_to_session_label(dt),
          )[1]
  
          # Align the market close time here with the execution time used by the
          # simulation clock. This ensures that scheduled functions trigger at
          # the correct times.
          self._period_end = self.cal.execution_time_from_close(period_end)
  
          self._period_start = self._period_end - self.offset
          self._period_close = self._period_end
docs: Given a dt, find that day's close and period start (close - offset).