code: def _create_internal_streams(
      portfolio: "Portfolio",
  ) -> "List[Stream[float]]":
      """Creates a list of streams to describe a `Portfolio`.
  
      Parameters
      ----------
      portfolio : `Portfolio`
          The portfolio to make the streams for.
  
      Returns
      -------
      `List[Stream[float]]`
          A list of streams to describe the `portfolio`.
      """
      base_symbol = portfolio.base_instrument.symbol
      sources = []
  
      for wallet in portfolio.wallets:
          symbol = wallet.instrument.symbol
          sources += wallet.exchange.streams()
          sources += _create_wallet_source(
              wallet, include_worth=(symbol != base_symbol)
          )
  
      worth_streams = []
      for s in sources:
          if s.name.endswith(
              base_symbol + ":/total"
          ) or s.name.endswith("worth"):
              worth_streams += [s]
  
      net_worth = Stream.reduce(worth_streams).sum().rename("net_worth")
      sources += [net_worth]
  
      return sources
  
imports: from typing import List
  import datetime
  import numpy
  import pandas
  from gym.spaces import Box, Space
  from random import randrange
  from tensortrade.feed.core import Stream, NameSpace, DataFeed
  from tensortrade.oms.wallets import Wallet
  from tensortrade.env.generic import Observer
  from collections import OrderedDict
label_desc: Use image node_id 2 for calling a global function with example usage: _create_internal_streams(portfolio) and returns: sources