예제 #1
0
    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))
예제 #2
0
    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)