示例#1
0
 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
示例#2
0
 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)