code: def test_runs_with_external_feed_only(portfolio):
      df = pd.read_csv(
          "tests/data/input/bitfinex_(BTC,ETH)USD_d.csv"
      ).tail(100)
      df = df.rename({"Unnamed: 0": "date"}, axis=1)
      df = df.set_index("date")
  
      bitfinex_btc = df.loc[
          :, [name.startswith("BTC") for name in df.columns]
      ]
      bitfinex_eth = df.loc[
          :, [name.startswith("ETH") for name in df.columns]
      ]
  
      ta.add_all_ta_features(
          bitfinex_btc,
          colprefix="BTC:",
          **{
              k: "BTC:" + k
              for k in ["open", "high", "low", "close", "volume"]
          },
      )
      ta.add_all_ta_features(
          bitfinex_eth,
          colprefix="ETH:",
          **{
              k: "ETH:" + k
              for k in ["open", "high", "low", "close", "volume"]
          },
      )
  
      streams = []
      with NameSpace("bitfinex"):
          for name in bitfinex_btc.columns:
              streams += [
                  Stream.source(
                      list(bitfinex_btc[name]), dtype="float"
                  ).rename(name)
              ]
          for name in bitfinex_eth.columns:
              streams += [
                  Stream.source(
                      list(bitfinex_eth[name]), dtype="float"
                  ).rename(name)
              ]
  
      feed = DataFeed(streams)
  
      action_scheme = ManagedRiskOrders()
      reward_scheme = SimpleProfit()
  
      env = default.create(
          portfolio=portfolio,
          action_scheme=action_scheme,
          reward_scheme=reward_scheme,
          feed=feed,
          window_size=50,
          enable_logger=False,
      )
  
      done = False
      obs = env.reset()
      while not done:
          action = env.action_space.sample()
          obs, reward, done, info = env.step(action)
  
      assert obs.shape[0] == 50
  
file_path: tensortrade/tests/tensortrade/unit/env/default/test_env.py
imports: import pandas
  import pytest
  import ta
  import tensortrade.env.default
  from tensortrade.oms.exchanges import Exchange
  from tensortrade.oms.instruments import USD, BTC, ETH, LTC
  from tensortrade.oms.wallets import Portfolio, Wallet
  from tensortrade.env.default.actions import ManagedRiskOrders
  from tensortrade.env.default.rewards import SimpleProfit
  from tensortrade.feed import DataFeed, Stream, NameSpace
  from tensortrade.oms.services.execution.simulated import execute_order
label_desc: Use image node_id 2 for calling a global function with example usage: test_runs_with_external_feed_only(portfolio) without return types