class_docstr: Dynamic Instruments Filter Abstract class to filter a series of certain features
  
  Filters should provide parameters:
  
  - filter start time
  - filter end time
  - filter rule
  
  Override __init__ to assign a certain rule to filter the series.
  
  Override _getFilterSeries to use the rule to filter the series and get a dict of {inst => series}, or override filter_main for more advanced series filter rule
class_docstr_tok: ["Dynamic","Instruments","Filter","Abstract","class","to","filter","a","series","of","certain","features","Filters","should","provide","parameters",":","-","filter","start","time","-","filter","end","time","-","filter","rule","Override","__init__","to","assign","a","certain","rule","to","filter","the","series",".","Override","_getFilterSeries","to","use","the","rule","to","filter","the","series","and","get","a","dict","of","{","inst","=",">","series","}",",","or","override","filter_main","for","more","advanced","series","filter","rule"]
docstr: Get filter series based on the rules assigned during the initialization and the input time range.
  
  Parameters
  ----------
  instruments : dict
      the dict of instruments to be filtered.
  fstart : pd.Timestamp
      start time of filter.
  fend : pd.Timestamp
      end time of filter.
  
  .. note:: fstart/fend indicates the intersection of instruments start/end time and filter start/end time.
  
  Returns
  ----------
  pd.Dataframe
      a series of {pd.Timestamp => bool}.
docstr_tok: ["Get","filter","series","based","on","the","rules","assigned","during","the","initialization","and","the","input","time","range",".","Parameters","--","--","--","--","--","instruments",":","dict","the","dict","of","instruments","to","be","filtered",".","fstart",":","pd.Timestamp","start","time","of","filter",".","fend",":","pd.Timestamp","end","time","of","filter",".","..","note",":",":","fstart\/fend","indicates","the","intersection","of","instruments","start\/end","time","and","filter","start\/end","time",".","Returns","--","--","--","--","--","pd.Dataframe","a","series","of","{","pd.Timestamp","=",">","bool","}","."]
code: def _getFilterSeries(self, instruments, fstart, fend):
      """Get filter series based on the rules assigned during the initialization and the input time range.
  
      Parameters
      ----------
      instruments : dict
          the dict of instruments to be filtered.
      fstart : pd.Timestamp
          start time of filter.
      fend : pd.Timestamp
          end time of filter.
  
      .. note:: fstart/fend indicates the intersection of instruments start/end time and filter start/end time.
  
      Returns
      ----------
      pd.Dataframe
          a series of {pd.Timestamp => bool}.
      """
      raise NotImplementedError(
          "Subclass of SeriesDFilter must reimplement `getFilterSeries` method"
      )
  
imports: from __future__ import print_function
  from abc import abstractmethod
  import re
  import pandas
  import numpy
  import abc
  from .data import Cal, DatasetD
label_desc: Use image node_id 7 for calling the SeriesDFilter obj's underlying member method code with example usage: obj._getFilterSeries(instruments, fstart, fend) without return types