code: def create_trade_source(
      sids,
      trade_time_increment,
      sim_params,
      asset_finder,
      trading_calendar,
  ):
      # If the sim_params define an end that is during market hours, that will be
      # used as the end of the data source
      if trading_calendar.is_open_on_minute(sim_params.end_session):
          end = sim_params.end_session
      # Otherwise, the last_close after the end_session is used as the end of the
      # data source
      else:
          end = sim_params.last_close
  
      args = tuple()
      kwargs = {
          "sids": sids,
          "start": sim_params.first_open,
          "end": end,
          "delta": trade_time_increment,
          "trading_calendar": trading_calendar,
          "asset_finder": asset_finder,
      }
      source = SpecificEquityTrades(*args, **kwargs)
  
      return source
  
file_path: zipline/zipline/utils/factory.py
imports: import pandas
  import numpy
  from datetime import timedelta, datetime
  from trading_calendars import get_calendar
  from zipline.sources import SpecificEquityTrades
  from zipline.finance.trading import SimulationParameters
  from zipline.sources.test_source import create_trade
label_desc: Use image node_id 7 for calling a global function with example usage: create_trade_source(sids, trade_time_increment, sim_params, asset_finder, trading_calendar) and returns: source