Ejemplo n.º 1
0
 def updatePortfolio(self, contract, posSize, marketPrice, marketValue,
                     averageCost, unrealizedPNL, realizedPNL, account):
     contract = self._getContract(contract)
     portfItem = PortfolioItem(contract, posSize, marketPrice, marketValue,
                               averageCost, unrealizedPNL, realizedPNL,
                               account)
     portfolioItems = self.portfolio[account]
     if posSize == 0:
         portfolioItems.pop(contract.conId, None)
     else:
         portfolioItems[contract.conId] = portfItem
     self._logger.info(f'updatePortfolio: {portfItem}')
     self._ib.updatePortfolioEvent.emit(portfItem)
Ejemplo n.º 2
0
 def updatePortfolio(self, contract: Contract, posSize: float,
                     marketPrice: float, marketValue: float,
                     averageCost: float, unrealizedPNL: float,
                     realizedPNL: float, account: str):
     contract = Contract.create(**dataclassAsDict(contract))
     portfItem = PortfolioItem(contract, posSize, marketPrice, marketValue,
                               averageCost, unrealizedPNL, realizedPNL,
                               account)
     portfolioItems = self.portfolio[account]
     if posSize == 0:
         portfolioItems.pop(contract.conId, None)
     else:
         portfolioItems[contract.conId] = portfItem
     self._logger.info(f'updatePortfolio: {portfItem}')
     self.ib.updatePortfolioEvent.emit(portfItem)