

def extend_back(self, missing_dts):
    '\n        Resizes the buffer to hold a new window with a new cap_multiple.\n        If cap_multiple is None, then the old cap_multiple is used.\n        '
    delta = len(missing_dts)
    if (not delta):
        raise ValueError('missing_dts must be a non-empty index')
    self._window += delta
    self._pos += delta
    self.date_buf = self.date_buf.copy()
    self.date_buf.resize(self.cap)
    self.date_buf = np.roll(self.date_buf, delta)
    old_vals = self.buffer.values
    shape = old_vals.shape
    nan_arr = np.empty((shape[0], delta, shape[2]))
    nan_arr.fill(np.nan)
    new_vals = np.column_stack((nan_arr, old_vals, np.empty((shape[0], (delta * (self.cap_multiple - 1)), shape[2]))))
    self.buffer = pd.Panel(data=new_vals, items=self.items, minor_axis=self.minor_axis, major_axis=np.arange(self.cap), dtype=delta.dtype)
    where = slice(self._start_index, (self._start_index + delta))
    self.date_buf[where] = missing_dts

dataset/ETHPy150Open quantopian/zipline/zipline/utils/data.py RollingPanel.extend_back/VarMisuse@209/325 `self`->`delta`