class_docstr: Mixin for user-defined rolling-window Terms.
  
  Implements `_compute` in terms of a user-defined `compute` function, which
  is mapped over the input windows.
  
  Used by CustomFactor, CustomFilter, CustomClassifier, etc.
docstr: Override this method with a function that writes a value into `out`.
docstr_tok: ["Override","this","method","with","a","function","that","writes","a","value","into","`","out","`","."]
code: def compute(self, today, assets, out, *arrays):
      """
      Override this method with a function that writes a value into `out`.
      """
      raise NotImplementedError()
  
imports: from textwrap import dedent
  from numpy import array, full, recarray, vstack
  from pandas import NaT
  from catalyst.errors import WindowLengthNotPositive, UnsupportedDataType, NoFurtherDataError
  from catalyst.utils.control_flow import nullctx
  from catalyst.utils.input_validation import expect_types
  from catalyst.utils.sharedoc import format_docstring, PIPELINE_ALIAS_NAME_DOC, PIPELINE_DOWNSAMPLING_FREQUENCY_DOC
  from catalyst.utils.pandas_utils import nearest_unequal_elements
  from .downsample_helpers import select_sampling_indices, expect_downsample_frequency
  from .sentinels import NotSpecified
  from .term import Term
label_desc: Use image node_id 2 for calling the CustomTermMixin obj's underlying member method code with example usage: obj.compute(today, assets, out) without return types