class_docstr: Object providing read-only access to current portfolio state.
  
  Parameters
  ----------
  start_date : pd.Timestamp
      The start date for the period being recorded.
  capital_base : float
      The starting value for the portfolio. This will be used as the starting
      cash, current cash, and portfolio value.
  
  Attributes
  ----------
  positions : zipline.protocol.Positions
      Dict-like object containing information about currently-held positions.
  cash : float
      Amount of cash currently held in portfolio.
  portfolio_value : float
      Current liquidation value of the portfolio's holdings.
      This is equal to ``cash + sum(shares * price)``
  starting_cash : float
      Amount of cash in the portfolio at the start of the backtest.
class_docstr_tok: ["Object","providing","read-only","access","to","current","portfolio","state",".","Parameters","--","--","--","--","--","start_date",":","pd.Timestamp","The","start","date","for","the","period","being","recorded",".","capital_base",":","float","The","starting","value","for","the","portfolio",".","This","will","be","used","as","the","starting","cash",",","current","cash",",","and","portfolio","value",".","Attributes","--","--","--","--","--","positions",":","zipline.protocol.Positions","Dict-like","object","containing","information","about","currently-held","positions",".","cash",":","float","Amount","of","cash","currently","held","in","portfolio",".","portfolio_value",":","float","Current","liquidation","value","of","the","portfolio","'s","holdings",".","This","is","equal","to","``","cash","+","sum","(","shares","*","price",")","``","starting_cash",":","float","Amount","of","cash","in","the","portfolio","at","the","start","of","the","backtest","."]
code: def __init__(self, start_date=None, capital_base=0.0):
      self_ = MutableView(self)
      self_.cash_flow = 0.0
      self_.starting_cash = capital_base
      self_.portfolio_value = capital_base
      self_.pnl = 0.0
      self_.returns = 0.0
      self_.cash = capital_base
      self_.positions = Positions()
      self_.start_date = start_date
      self_.positions_value = 0.0
      self_.positions_exposure = 0.0
  
imports: from warnings import warn
  import pandas
  from .assets import Asset
  from .utils.enum import enum
  from ._protocol import BarData, InnerPosition
label_desc: Use image node_id 1 to create a new Portfolio object from inherited base classes: object with example: obj = Portfolio(start_date, capital_base)