code: def fetch_raw_symbol_frame(
      self, api_key, symbol, calendar, start_date, end_date, frequency
  ):
      # TODO: replace this with direct exchange call
      # The end date and frequency should be used to
      # calculate the number of bars
      if frequency == "minute":
          pc = PoloniexCurator()
          raw = pc.onemin_to_dataframe(symbol, start_date, end_date)
  
      else:
          raw = pd.read_json(
              self._format_data_url(
                  api_key,
                  symbol,
                  start_date,
                  end_date,
                  frequency,
              ),
              orient="records",
          )
          raw.set_index("date", inplace=True)
  
      # BcolzDailyBarReader introduces a 1/1000 factor in the way
      # pricing is stored on disk, which we compensate here to get
      # the right pricing amounts
      # ref: data/us_equity_pricing.py
      scale = 1
      raw.loc[:, "open"] /= scale
      raw.loc[:, "high"] /= scale
      raw.loc[:, "low"] /= scale
      raw.loc[:, "close"] /= scale
      raw.loc[:, "volume"] *= scale
  
      return raw
  
file_path: catalyst/catalyst/data/bundles/poloniex.py
imports: import sys
  from six.moves.urllib.parse import urlencode
  import pandas
  from catalyst.data.bundles.core import register_bundle
  from catalyst.data.bundles.base_pricing import BaseCryptoPricingBundle
  from catalyst.utils.memoize import lazyval
  from catalyst.curate.poloniex import PoloniexCurator
label_desc: Use image node_id 8 for calling the PoloniexBundle obj's underlying member method code with example usage: obj.fetch_raw_symbol_frame(api_key, symbol, calendar, start_date, end_date, frequency) and returns: raw