code: def get_txn_vol(transactions):
      
  
      txn_norm = transactions.copy()
      txn_norm.index = txn_norm.index.normalize()
      amounts = txn_norm.amount.abs()
      prices = txn_norm.price
      values = amounts * prices
      daily_amounts = amounts.groupby(amounts.index).sum()
      daily_values = values.groupby(values.index).sum()
      daily_amounts.name = "txn_shares"
      daily_values.name = "txn_volume"
      return pd.concat([daily_values, daily_amounts], axis=1)
docs: Extract daily transaction data from set of transaction objects.
  
      Parameters
      ----------
      transactions : pd.DataFrame
          Time series containing one row per symbol (and potentially
          duplicate datetime indices) and columns for amount and
          price.
  
      Returns
      -------
      pd.DataFrame
          Daily transaction volume and number of shares.
           - See full explanation in tears.create_full_tear_sheet.