code: def process_splits(self, splits):
          
          leftover_cash = self.position_tracker.handle_splits(splits)
          if leftover_cash > 0:
              self._cash_flow(leftover_cash)
docs: Processes a list of splits by modifying any positions as needed.
  
          Parameters
          ----------
          splits: list[(Asset, float)]
              A list of splits. Each split is a tuple of (asset, ratio).