code: def create_df_for_asset(
      cls, start_day, end_day, interval=1, force_zeroes=False
  ):
      sessions = cls.trading_calendars[Equity].sessions_in_range(
          start_day,
          end_day,
      )
      sessions_count = len(sessions)
  
      # default to 2 because the low array subtracts 1, and we don't
      # want to start with a 0
      sessions_arr = np.array(range(2, sessions_count + 2))
  
      df = pd.DataFrame(
          {
              "open": sessions_arr + 1,
              "high": sessions_arr + 2,
              "low": sessions_arr - 1,
              "close": sessions_arr,
              "volume": 100 * sessions_arr,
          },
          index=sessions,
      )
  
      if interval > 1:
          counter = 0
          while counter < sessions_count:
              df[counter : (counter + interval - 1)] = 0
              counter += interval
  
      return df
  
imports: from textwrap import dedent
  from nose_parameterized import parameterized
  import numpy
  from numpy import nan
  import pandas
  from six import iteritems
  from catalyst import TradingAlgorithm
  from catalyst._protocol import handle_non_market_minutes, BarData
  from catalyst.assets import Asset, Equity
  from catalyst.errors import HistoryInInitialize, HistoryWindowStartsBeforeData
  from catalyst.finance.trading import SimulationParameters
  from catalyst.finance.asset_restrictions import NoRestrictions
  from catalyst.testing import create_minute_df_for_asset, str_to_seconds, MockDailyBarReader
  from catalyst.testing.fixtures import WithCreateBarData, WithDataPortal, CatalystTestCase, alias
label_desc: Use image node_id 2 for calling the DailyEquityHistoryTestCase obj's underlying member method code with example usage: obj.create_df_for_asset(cls, start_day, end_day, interval, force_zeroes) and returns: df