class_docstr: Volume Weighted Average Price filter.
  
  :param dataSeries: The DataSeries instance being filtered.
  :type dataSeries: :class:`pyalgotrade.dataseries.bards.BarDataSeries`.
  :param period: The number of values to use to calculate the VWAP.
  :type period: int.
  :param useTypicalPrice: True if the typical price should be used instead of the closing price.
  :type useTypicalPrice: boolean.
  :param maxLen: The maximum number of values to hold.
      Once a bounded length is full, when new items are added, a corresponding number of items are discarded from the
      opposite end. If None then dataseries.DEFAULT_MAX_LEN is used.
  :type maxLen: int.
code: def __init__(
      self, dataSeries, period, useTypicalPrice=False, maxLen=None
  ):
      assert isinstance(
          dataSeries, bards.BarDataSeries
      ), "dataSeries must be a dataseries.bards.BarDataSeries instance"
  
      super(VWAP, self).__init__(
          dataSeries, VWAPEventWindow(period, useTypicalPrice), maxLen
      )
  
file_path: pyalgotrade/pyalgotrade/technical/vwap.py
imports: from pyalgotrade import technical
  from pyalgotrade.dataseries import bards
label_desc: Use image node_id 1 to create a new VWAP object from inherited base classes: technical with example: obj = VWAP(dataSeries, period, useTypicalPrice, maxLen)