code: def _compute(self, arrays, dates, assets, mask):
          
          # TODO: Review whether there's a better way of handling small numbers
          # of columns.
          data = arrays[0].copy().astype(float64)
          data[~mask] = nan
  
          # FIXME: np.nanpercentile **should** support computing multiple bounds
          # at once, but there's a bug in the logic for multiple bounds in numpy
          # 1.9.2.  It will be fixed in 1.10.
          # c.f. https://github.com/numpy/numpy/pull/5981
          lower_bounds = nanpercentile(
              data,
              self._min_percentile,
              axis=1,
              keepdims=True,
          )
          upper_bounds = nanpercentile(
              data,
              self._max_percentile,
              axis=1,
              keepdims=True,
          )
          return (lower_bounds <= data) & (data <= upper_bounds)
docs: For each row in the input, compute a mask of all values falling between
          the given percentiles.