class_docstr: Abstract class for business days since a next event.
  Returns the number of **business days** (not trading days!) until
  the next known event date for each asset.
  
  This doesn't use trading days because the trading calendar includes
  information that may not have been available to the algorithm at the time
  when `compute` is called.
  
  For example, the NYSE closings September 11th 2001, would not have been
  known to the algorithm on September 10th.
  
  Assets that announced or will announce the event today will produce a value
  of 0.0.  Assets that will announce the event on the next upcoming business
  day will produce a value of 1.0.
  
  Assets for which the event date is `NaT` will produce a value of `NaN`.
code: def _compute(self, arrays, dates, assets, mask):
      # Coerce from [ns] to [D] for numpy busday_count.
      announce_dates = arrays[0].astype(datetime64D_dtype)
  
      # Set masked values to NaT.
      announce_dates[~mask] = NaTD
  
      # Convert row labels into a column vector for broadcasted comparison.
      reference_dates = dates.values.astype(datetime64D_dtype)[
          :, newaxis
      ]
      return busday_count_mask_NaT(reference_dates, announce_dates)
  
file_path: catalyst/catalyst/pipeline/factors/events.py
imports: from numpy import newaxis
  from catalyst.utils.numpy_utils import NaTD, busday_count_mask_NaT, datetime64D_dtype, float64_dtype
  from .factor import Factor
label_desc: Use image node_id 1 for calling the BusinessDaysUntilNextEvent obj's underlying member method code with example usage: obj._compute(arrays, dates, assets, mask) and returns: busday_count_mask_NaT