def get_current_return(self): if self.current_return is None: df = rc.get_current_return_df(self.get_flow_df(), self.get_value_df()) self.current_return = rc.get_current_return(df) self.save() return self.current_return
def get_invested_capital(self): if self.invested_capital is None: df = rc.get_current_return_df(self.get_flow_df(), self.get_value_df()) self.invested_capital = rc.get_invested_capital(df) self.save() return self.invested_capital
def test_current_return_returning_nan_with_flow_in_last_row(self): current_return_df = rc.get_current_return_df(self.late_flow_df, self.value_df) current_return = rc.get_current_return(current_return_df) assert current_return is None
def test_current_return_returning_nan_with_investment_sold(self): curent_return_df = rc.get_current_return_df( self.investment_sold_flow_df, self.investment_sold_value_df) current_return = rc.get_current_return(curent_return_df) assert current_return is None
def test_current_return_working_with_no_flows(self): rc.get_current_return_df(self.empty_flow_df, self.value_df)
def test_current_return_failing_with_unaware_and_aware_datetimes(self): with self.assertRaisesMessage(ValueError, ''): current_return_df = rc.get_current_return_df( self.flow_df, self.unaware_value_df)
def test_current_return_failing_with_wrong_dfs(self): with self.assertRaisesMessage(AssertionError, ''): current_return_df = rc.get_current_return_df( self.value_df, self.flow_df)
def test_current_return_working_with_value_first(self): current_return_df = rc.get_current_return_df(self.no_first_row_flow_df, self.value_df) current_return = rc.get_current_return(current_return_df)
def test_current_return_failing_with_no_values(self): current_return_df = rc.get_current_return_df(self.flow_df, self.empty_value_df) current_return = rc.get_current_return(current_return_df) assert current_return is None
def test_invested_capital_working(self): current_return_df = rc.get_current_return_df(self.flow_df, self.value_df) invested_capital = rc.get_invested_capital(current_return_df) self.assertAlmostEqual(invested_capital, 674.7770953041411)
def test_current_return_working(self): current_return_df = rc.get_current_return_df(self.flow_df, self.value_df) current_return = rc.get_current_return(current_return_df) self.assertAlmostEqual(current_return, 0.7783650458069062)