code: def traverse(self,
                   window_length,
                   offset=0,
                   perspective_offset=0):
          
          data = self._data.copy()
          _check_window_params(data, window_length)
          return self._iterator_type(
              data,
              self._view_kwargs,
              self.adjustments,
              offset,
              window_length,
              perspective_offset,
              rounding_places=None,
          )
docs: Produce an iterator rolling windows rows over our data.
          Each emitted window will have `window_length` rows.
  
          Parameters
          ----------
          window_length : int
              The number of rows in each emitted window.
          offset : int, optional
              Number of rows to skip before the first window.  Default is 0.
          perspective_offset : int, optional
              Number of rows past the end of the current window from which to
              "view" the underlying data.