'On creation, the Portfolio object contains no
positions and all values are "reset" to the initial
cash, with no PnL - realised or unrealised.
Note that realised_pnl is the running tally pnl from closed
positions (closed_pnl), as well as realised_pnl
from currently open positions.'

def __init__(self, price_handler, cash):

    self.price_handler = price_handler
    self.init_cash = cash
    self.equity = cash
    self.cur_cash = cash
    self.positions = {}
    self.closed_positions = []
    self.realised_pnl = 0
