code: def parse_date_str_series(format_str, tz, date_str_series, data_frequency,
                                trading_day):
          
  
          # Explicitly ignoring this parameter.  See note above.
          if format_str is not None:
              logger.warn(
                  "The 'format_str' parameter to fetch_csv is deprecated. "
                  "Ignoring and defaulting to pandas default date parsing."
              )
              format_str = None
  
          tz_str = str(tz)
          if tz_str == pytz.utc.zone:
              parsed = pd.to_datetime(
                  date_str_series.values,
                  format=format_str,
                  utc=True,
                  errors='coerce',
              )
          else:
              parsed = pd.to_datetime(
                  date_str_series.values,
                  format=format_str,
                  errors='coerce',
              ).tz_localize(tz_str).tz_convert('UTC')
  
          if data_frequency == 'daily':
              parsed = roll_dts_to_midnight(parsed, trading_day)
          return parsed
docs: Efficient parsing for a 1d Pandas/numpy object containing string
          representations of dates.
  
          Note: pd.to_datetime is significantly faster when no format string is
          passed, and in pandas 0.12.0 the %p strptime directive is not correctly
          handled if a format string is explicitly passed, but AM/PM is handled
          properly if format=None.
  
          Moreover, we were previously ignoring this parameter unintentionally
          because we were incorrectly passing it as a positional.  For all these
          reasons, we ignore the format_str parameter when parsing datetimes.