def test_calc_future_bps(self): stock_dict = { 'code': '0001', 'bps': 1000, 'ROEs': [11.0, 8.0, 15.0, 10.0], 'last_year_index': 2, 'dividend_rate': 4.5, } stock = Stock(stock_dict) self.assertAlmostEqual(10.64, stock.future_roe, places=1) self.assertEqual(int(1000 + 1000 * 0.1064), stock.calc_future_bps(1)) self.assertEqual(2748, stock.calc_future_bps(10)) stock['adjusted_future_roe'] = 12.0 self.assertEqual(1973, stock.calc_future_bps(6)) self.assertEqual(3105, stock.calc_future_bps(10))
def test_expected_rate_by_current_pbr(self): stock_dict = { 'code': '0001', 'bps': 1000, 'ROEs': [11.0, 8.0, 15.0, 10.0], 'last_year_index': 2, 'dividend_rate': 4.5, 'current_price': 1200 } stock = Stock(stock_dict) self.assertAlmostEqual(8.63, stock.expected_rate, places=1) stock['pbr'] = float(stock['current_price'] / stock['bps']) self.assertAlmostEqual(1.2, stock['pbr'], places=1) self.assertEqual(int(stock.calc_future_bps(1) * stock['pbr']), stock.calc_future_price_current_pbr(1)) self.assertEqual(1327, stock.calc_future_price_current_pbr(1)) self.assertAlmostEqual(10.63, stock.expected_rate_by_current_pbr, places=1)