code: def add_volume_ta(
      df: pd.DataFrame,
      high: str,
      low: str,
      close: str,
      volume: str,
      fillna: bool = False,
      colprefix: str = "",
      vectorized: bool = False,
  ) -> pd.DataFrame:
      """Add volume technical analysis features to dataframe.
  
      Args:
          df (pandas.core.frame.DataFrame): Dataframe base.
          high (str): Name of 'high' column.
          low (str): Name of 'low' column.
          close (str): Name of 'close' column.
          volume (str): Name of 'volume' column.
          fillna(bool): if True, fill nan values.
          colprefix(str): Prefix column names inserted
          vectorized(bool): if True, use only vectorized functions indicators
  
      Returns:
          pandas.core.frame.DataFrame: Dataframe with new features.
      """
  
      # Accumulation Distribution Index
      df[f"{colprefix}volume_adi"] = AccDistIndexIndicator(
          high=df[high],
          low=df[low],
          close=df[close],
          volume=df[volume],
          fillna=fillna,
      ).acc_dist_index()
  
      # On Balance Volume
      df[f"{colprefix}volume_obv"] = OnBalanceVolumeIndicator(
          close=df[close], volume=df[volume], fillna=fillna
      ).on_balance_volume()
  
      # Chaikin Money Flow
      df[f"{colprefix}volume_cmf"] = ChaikinMoneyFlowIndicator(
          high=df[high],
          low=df[low],
          close=df[close],
          volume=df[volume],
          fillna=fillna,
      ).chaikin_money_flow()
  
      # Force Index
      df[f"{colprefix}volume_fi"] = ForceIndexIndicator(
          close=df[close], volume=df[volume], window=13, fillna=fillna
      ).force_index()
  
      # Ease of Movement
      indicator_eom = EaseOfMovementIndicator(
          high=df[high],
          low=df[low],
          volume=df[volume],
          window=14,
          fillna=fillna,
      )
      df[f"{colprefix}volume_em"] = indicator_eom.ease_of_movement()
      df[
          f"{colprefix}volume_sma_em"
      ] = indicator_eom.sma_ease_of_movement()
  
      # Volume Price Trend
      df[f"{colprefix}volume_vpt"] = VolumePriceTrendIndicator(
          close=df[close], volume=df[volume], fillna=fillna
      ).volume_price_trend()
  
      # Volume Weighted Average Price
      df[f"{colprefix}volume_vwap"] = VolumeWeightedAveragePrice(
          high=df[high],
          low=df[low],
          close=df[close],
          volume=df[volume],
          window=14,
          fillna=fillna,
      ).volume_weighted_average_price()
  
      if not vectorized:
          # Money Flow Indicator
          df[f"{colprefix}volume_mfi"] = MFIIndicator(
              high=df[high],
              low=df[low],
              close=df[close],
              volume=df[volume],
              window=14,
              fillna=fillna,
          ).money_flow_index()
  
          # Negative Volume Index
          df[f"{colprefix}volume_nvi"] = NegativeVolumeIndexIndicator(
              close=df[close], volume=df[volume], fillna=fillna
          ).negative_volume_index()
  
      return df
  
file_path: ta/ta/wrapper.py
imports: import pandas
  from ta.momentum import AwesomeOscillatorIndicator, KAMAIndicator, PercentagePriceOscillator, PercentageVolumeOscillator, ROCIndicator, RSIIndicator, StochasticOscillator, StochRSIIndicator, TSIIndicator, UltimateOscillator, WilliamsRIndicator
  from ta.others import CumulativeReturnIndicator, DailyLogReturnIndicator, DailyReturnIndicator
  from ta.trend import MACD, ADXIndicator, AroonIndicator, CCIIndicator, DPOIndicator, EMAIndicator, IchimokuIndicator, KSTIndicator, MassIndex, PSARIndicator, SMAIndicator, STCIndicator, TRIXIndicator, VortexIndicator
  from ta.volatility import AverageTrueRange, BollingerBands, DonchianChannel, KeltnerChannel, UlcerIndex
  from ta.volume import AccDistIndexIndicator, ChaikinMoneyFlowIndicator, EaseOfMovementIndicator, ForceIndexIndicator, MFIIndicator, NegativeVolumeIndexIndicator, OnBalanceVolumeIndicator, VolumePriceTrendIndicator, VolumeWeightedAveragePrice
label_desc: Use image node_id 1 for calling a global function with example usage: add_volume_ta(df, high, low, close, volume, fillna, colprefix, vectorized) and returns: df