def testGetValue(self): trade = Trade(self.date, self.financial_instrument, 1, self.financial_instrument.get_close_value(self.date)) # check trade is open self.assertNotEqual(trade.closed, True, 'trade not closed') # check get value self.assertEqual(trade.get_value(self.date, self.financial_instrument.get_currency()), 100, 'Value day of trade') self.assertEqual(trade.get_value(date.today(), self.financial_instrument.get_currency()), 105, 'Value today')
def testGetInstrumentQuantity(self): portfolio = Portfolio('USD') cash_flow = CashFlow(self.date,1000,'USD') trade = Trade(self.date,self.financial_instrument, 10, self.financial_instrument.get_close_value(self.date)) cash_flow_trade = CashFlow(self.date, -trade.get_value(self.date, 'USD'),'USD') portfolio.add_transaction(cash_flow) portfolio.add_transaction(trade) portfolio.add_transaction(cash_flow_trade) # check the expo self.assertEqual(10, portfolio.get_instrument_quantity(self.financial_instrument), 'good quantity')
def testGetValue(self): portfolio = Portfolio('USD') cash_flow = CashFlow(self.date,1000,'USD') trade = Trade(self.date,self.financial_instrument, 1, self.financial_instrument.get_close_value(self.date)) cash_flow_trade = CashFlow(self.date, -trade.get_value(self.date, 'USD'),'USD') portfolio.add_transaction(cash_flow) portfolio.add_transaction(trade) portfolio.add_transaction(cash_flow_trade) # check portfolio value at trading date self.assertEqual(portfolio.get_value(self.date), 1000, 'initial value') # check portfolio value after other_date = self.date + timedelta(days=1) self.assertEqual(portfolio.get_value(other_date), 1005, 'new value') # check portfolio value before other_date = self.date + timedelta(days=-1) self.assertEqual(portfolio.get_value(other_date), 0, 'new value')