class_docstr: The current state of the positions held.
  
  Parameters
  ----------
  data_frequency : {'daily', 'minute'}
      The data frequency of the simulation.
class_docstr_tok: ["The","current","state","of","the","positions","held",".","Parameters","--","--","--","--","--","data_frequency",":","{","'daily","'",",","'minute","'","}","The","data","frequency","of","the","simulation","."]
docstr: Processes a list of splits by modifying any positions as needed.
  
  Parameters
  ----------
  splits: list
      A list of splits.  Each split is a tuple of (asset, ratio).
  
  Returns
  -------
  int: The leftover cash from fractional shares after modifying each
      position.
code: def handle_splits(self, splits):
      """Processes a list of splits by modifying any positions as needed.
  
      Parameters
      ----------
      splits: list
          A list of splits.  Each split is a tuple of (asset, ratio).
  
      Returns
      -------
      int: The leftover cash from fractional shares after modifying each
          position.
      """
      total_leftover_cash = 0
  
      for asset, ratio in splits:
          if asset in self.positions:
              self._dirty_stats = True
  
              # Make the position object handle the split. It returns the
              # leftover cash from a fractional share, if there is any.
              position = self.positions[asset]
              leftover_cash = position.handle_split(asset, ratio)
              total_leftover_cash += leftover_cash
  
      return total_leftover_cash
  
imports: from __future__ import division
  from collections import namedtuple, OrderedDict
  from functools import partial
  from math import isnan
  import logbook
  import numpy
  import pandas
  from six import iteritems, itervalues, PY2
  from zipline.assets import Future
  from zipline.finance.transaction import Transaction
  import zipline.protocol
  from zipline.utils.sentinel import sentinel
  from .position import Position
  from ._finance_ext import PositionStats, calculate_position_tracker_stats, update_position_last_sale_prices
label_desc: Use image node_id 5 for calling the PositionTracker obj's underlying member method code with example usage: obj.handle_splits(splits) and returns: total_leftover_cash