コード例 #1
0
    def test_support(self):
        cell_range = ((1, 2), ('3', '4'), (5.0, 6.0))

        s = financials.getRealtime('SUPPORT')
        self.assertTrue(s.startswith("ctx="), 'test_errors SUPPORT {}'.format(s))

        s = financials.getRealtime('SUPPORT', 1)
        self.assertTrue(s.startswith("ctx="), 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("type(datacode)=<class 'int'>" in s, 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("str(datacode)=1" in s, 'test_errors SUPPORT {}'.format(s))

        s = financials.getRealtime('SUPPORT', 1.0)
        self.assertTrue(s.startswith("ctx="), 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("type(datacode)=<class 'float'>" in s, 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("str(datacode)=1.0" in s, 'test_errors SUPPORT {}'.format(s))

        s = financials.getRealtime('SUPPORT', '1')
        self.assertTrue(s.startswith("ctx="), 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("type(datacode)=<class 'str'>" in s, 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("str(datacode)=1" in s, 'test_errors SUPPORT {}'.format(s))

        s = financials.getRealtime('SUPPORT', cell_range)
        self.assertTrue(s.startswith("ctx="), 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("type(datacode)=<class 'tuple'>" in s, 'test_errors SUPPORT {}'.format(s))
        self.assertTrue("str(datacode)=((1, 2), ('3', '4'), (5.0, 6.0))" in s, 'test_errors SUPPORT {}'.format(s))
コード例 #2
0
    def test_currency(self):
        s = financials.getRealtime('EURGBP=X', Datacode.CURRENCY.value,
                                   'YAHOO')
        self.assertEqual(str, type(s), 'test_currency CURRENCY')

        s = financials.getRealtime('EURGBP=X', Datacode.LAST_PRICE.value,
                                   'YAHOO')
        self.assertEqual(float, type(s), 'test_currency LAST_PRICE')
コード例 #3
0
    def test_US_mutuals(self):
        s = financials.getRealtime('MUTF:VFIAX', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_mutuals LAST_PRICE - {}'.format(s))

        s = financials.getRealtime('MUTF:VFIAX', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual(s, 'USD', 'test_US_mutuals CURRENCY')

        s = financials.getRealtime('MUTF:VFIAX', Datacode.TIMEZONE.value, 'GOOGLE')
        self.assertIsNone(s, 'test_US_mutuals TIMEZONE')
コード例 #4
0
    def test_DE_equity(self):
        s = financials.getRealtime('FRA:SAP', 7, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_DE_equity 7')

        s = financials.getRealtime('FRA:SAP', '7', 'GOOGLE')
        self.assertEqual(float, type(s), 'test_DE_equity \'7\'')

        s = financials.getRealtime('FRA:SAP', 8, 'GOOGLE')
        self.assertEqual(type(s), str, 'test_DE_equity 8')

        s = financials.getRealtime('FRA:SAP', 8.1, 'GOOGLE')
        self.assertEqual(type(s), str, 'test_DE_equity 8.1')

        s = financials.getRealtime('FRA:SAP', '8.1', 'GOOGLE')
        self.assertEqual(type(s), str, 'test_DE_equity \'8.1\'')

        s = financials.getRealtime('FRA:SAP', 10, 'GOOGLE')
        self.assertEqual(type(s), str, 'test_DE_equity 10')

        s = financials.getRealtime('FRA:SAP', '11', 'GOOGLE')
        self.assertEqual(float, type(s), 'test_DE_equity \'11\'')

        s = financials.getRealtime('FRA:SAP', '21', 'GOOGLE')
        self.assertEqual(float, type(s), 'test_DE_equity \'21\'')

        s = financials.getRealtime('FRA:SAP', Datacode.TIMEZONE.value, 'GOOGLE')
        # self.assertEqual(s, 'Europe/Berlin', 'test_DE_equity TIMEZONE')
        self.assertTrue(s == 'CET' or s == 'CEST', 'test_DE_equity TIMEZONE: {}'.format(s))
コード例 #5
0
    def test_errors_cell_range_passed(self):
        cell_range = ((1, 2), ('3', '4'), (5.0, 6.0))

        s = financials.getRealtime(cell_range, Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(s, 'Cell range not allowed for ticker', 'test_errors')

        s = financials.getRealtime('NYS:IBM', cell_range, 'GOOGLE')
        self.assertEqual(s, 'Cell range not allowed for datacode', 'test_errors')

        s = financials.getRealtime('NYS:IBM', Datacode.LAST_PRICE.value, cell_range)
        self.assertEqual(s, 'Cell range not allowed for source', 'test_errors')
コード例 #6
0
    def test_US_mutuals(self):
        s = financials.getRealtime('VGSLX', 'LAST_PRICE', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_mutuals LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VGSLX', 'NAME', 'FT')
        self.assertEqual("Vanguard Real Estate Index Fund Admiral Shares", s,
                         'test_US_mutuals NAME {}'.format(s))

        s = financials.getRealtime('VGSLX', 'CURRENCY', 'FT')
        self.assertEqual('USD', s, 'test_US_mutuals CURRENCY {}'.format(s))

        s = financials.getRealtime('VGSLX', 'CHANGE', 'FT')
        self.assertEqual(float, type(s), 'test_US_mutuals CHANGE {}'.format(s))

        s = financials.getRealtime('VGSLX', 'CHANGE_IN_PERCENT', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_mutuals CHANGE_IN_PERCENT {}'.format(s))

        s = financials.getRealtime('VFIAX', 'LAST_PRICE', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_mutuals LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VFIAX', 'LAST_PRICE_DATE', 'FT')
        self.assertEqual(str, type(s),
                         'test_US_mutuals LAST_PRICE_DATE {}'.format(s))
        self.assertTrue(testutils.is_date(s),
                        'test_US_mutuals LAST_PRICE_DATE {}'.format(s))

        s = financials.getRealtime('VFIAX', 'LAST_PRICE_TIME', 'FT')
        self.assertEqual(str, type(s),
                         'test_US_mutuals LAST_PRICE_TIME {}'.format(s))
コード例 #7
0
    def test_UK_ETF(self):
        s = financials.getRealtime('CSP1:LSE:GBX', 'NAME', 'FT')
        self.assertEqual(str, type(s), 'test_UK_ETF NAME {}'.format(s))
        self.assertEqual('iShares Core S&P 500 UCITS ETF USD (Acc)', s,
                         'test_UK_ETF NAME {}'.format(s))

        s = financials.getRealtime('C060:GER:EUR', 'NAME', 'FT')
        self.assertEqual(str, type(s), 't_UK_ETF NAME {}'.format(s))

        s = financials.getRealtime('VERX:LSE:GBP', 'LAST_PRICE', 'FT')
        self.assertEqual(float, type(s), 'test_UK_ETF LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VERX:LSE:GBP', 'TIMEZONE', 'FT')
        self.assertEqual(str, type(s), 'test_UK_ETF TIMEZONE {}'.format(s))
コード例 #8
0
    def test_US_mutuals(self):

        s = financials.getRealtime('VGSLX', Datacode.LAST_PRICE.value, 'FT')
        self.assertEqual(type(s), float,
                         'test_US_mutuals LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VGSLX', Datacode.NAME.value, 'FT')
        self.assertEqual(s, "Vanguard Real Estate Index Fund Admiral Shares",
                         'test_US_mutuals NAME {}'.format(s))

        s = financials.getRealtime('VGSLX', Datacode.CURRENCY.value, 'FT')
        self.assertEqual(s, "USD", 'test_US_mutuals CURRENCY {}'.format(s))

        s = financials.getRealtime('VGSLX', Datacode.CHANGE.value, 'FT')
        self.assertEqual(type(s), float, 'test_US_mutuals CHANGE {}'.format(s))

        s = financials.getRealtime('VGSLX', Datacode.CHANGE_IN_PERCENT.value,
                                   'FT')
        self.assertEqual(type(s), float,
                         'test_US_mutuals CHANGE_IN_PERCENT {}'.format(s))

        s = financials.getRealtime('VFIAX', Datacode.LAST_PRICE.value, 'FT')
        self.assertEqual(type(s), float,
                         'test_US_mutuals LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VFIAX', Datacode.LAST_PRICE_DATE.value,
                                   'FT')
        self.assertEqual(type(s), str,
                         'test_US_mutuals LAST_PRICE_DATE {}'.format(s))

        s = financials.getRealtime('VFIAX', Datacode.LAST_PRICE_TIME.value,
                                   'FT')
        self.assertEqual(type(s), str,
                         'test_US_mutuals LAST_PRICE_TIME {}'.format(s))
コード例 #9
0
    def test_UK_ETF(self):
        s = financials.getRealtime('LON:CSP1', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_UK_ETF LAST_PRICE {}'.format(s))

        s = financials.getRealtime('LON:CSP1', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual(s, 'GBX', 'test_UK_ETF CURRENCY')

        s = financials.getRealtime('LON:FTAL', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_UK_ETF LAST_PRICE {}'.format(s))

        s = financials.getRealtime('LON:FTAL', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual(s, 'GBP', 'test_UK_ETF CURRENCY')

        s = financials.getRealtime('LON:FTAL', Datacode.NAME.value, 'GOOGLE')
        self.assertEqual(type(s), str, 'test_UK_ETF NAME')
コード例 #10
0
    def test_UK_ETF(self):

        s = financials.getRealtime('CSP1:LSE:GBX', Datacode.NAME.value, 'FT')
        self.assertEqual(type(s), str, 'test_UK_ETF NAME {}'.format(s))
        self.assertEqual(s, 'iShares Core S&P 500 UCITS ETF USD (Acc)',
                         'test_UK_ETF NAME {}'.format(s))

        s = financials.getRealtime('C060:GER:EUR', Datacode.NAME.value, 'FT')
        self.assertEqual(type(s), str, 't_UK_ETF NAME {}'.format(s))

        s = financials.getRealtime('VERX:LSE:GBP', Datacode.LAST_PRICE.value,
                                   'FT')
        self.assertEqual(type(s), float, 'test_UK_ETF LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VERX:LSE:GBP', Datacode.TIMEZONE.value,
                                   'FT')
        self.assertEqual(type(s), str, 'test_UK_ETF TIMEZONE {}'.format(s))
コード例 #11
0
    def test_errors(self):
        s = financials.getRealtime(None, Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(s, 'Ticker is empty', 'test_errors')

        s = financials.getRealtime('NYS:IBM', None, 'GOOGLE')
        self.assertEqual(s, 'Datacode is empty', 'test_errors')

        s = financials.getRealtime('DOES_NOT_EXISTS', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertIsNone(s, 'test_errors')

        s = financials.getRealtime('NYS:IBM', 'Foo', 'GOOGLE')
        self.assertEqual(s, 'Datacode is invalid', 'test_errors')

        # Historic data not supported on GOOGLE

        s = financials.getHistoric('NYS:IBM', Datacode.LAST_PRICE.value, '2017-01-01', 'GOOGLE')
        self.assertEqual(s, 'Source \'GOOGLE\' not supported', 'test_errors')
コード例 #12
0
    def test_realtime_UK_ETF(self):

        s = financials.getRealtime('VERX.L', Datacode.LAST_PRICE.value,
                                   'YAHOO')
        self.assertEqual(float, type(s),
                         'test_realtime_UK_ETF LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VERX.L', Datacode.TIMEZONE.value, 'YAHOO')
        self.assertEqual(s, 'Europe/London',
                         'test_realtime_UK_ETF TIMEZONE {}'.format(s))

        s = financials.getRealtime('CSP1.L', Datacode.NAME.value, 'YAHOO')
        self.assertEqual(str, type(s),
                         'test_realtime_UK_ETF NAME {}'.format(s))
        self.assertEqual(
            s,
            'iShares VII Public Limited Company - iShares Core S&P 500 UCITS ETF',
            'test_realtime_UK_ETF NAME {}'.format(s))
コード例 #13
0
    def test_historic_errors(self):

        s = financials.getHistoric('NO_NAME', Datacode.LAST_PRICE.value,
                                   '2018-01-08', 'YAHOO')
        self.assertIsNone(s, 'test_historic_errors LAST_PRICE {}'.format(s))

        s = financials.getHistoric('IBM', Datacode.CLOSE.value, '2030-01-01',
                                   'YAHOO')
        self.assertEqual(s, 'Future date \'2030-01-01\'',
                         'test_historic_errors CLOSE {}'.format(s))

        s = financials.getRealtime('IBM', 9999, 'YAHOO')
        self.assertEqual(s, 'Datacode 9999 not supported',
                         'test_historic_errors 9999')

        s = financials.getRealtime('IBM', Datacode.ADJ_CLOSE.value, 'YAHOO')
        self.assertEqual(s, 'Data doesn\'t exist - 91',
                         'test_historic_errors ADJ_CLOSE {}'.format(s))

        s = financials.getHistoric('IBM', Datacode.CLOSE.value, '2030-01-01',
                                   'YAHOO')
        self.assertEqual(s, 'Future date \'2030-01-01\'',
                         'test_historic_errors CLOSE {}'.format(s))

        s = financials.getHistoric('IBM', Datacode.CLOSE.value, '1990-01-01',
                                   'YAHOO')
        self.assertEqual(s, 'Date before 2000 \'1990-01-01\'',
                         'test_historic_errors CLOSE {}'.format(s))

        s = financials.getHistoric('IBM', Datacode.CLOSE.value, 'abcdef',
                                   'YAHOO')
        self.assertEqual(s, 'Date format not supported: \'abcdef\'',
                         'test_historic_errors CLOSE {}'.format(s))

        s = financials.getHistoric('IBM', Datacode.CLOSE.value, True, 'YAHOO')
        self.assertEqual(s,
                         'Date type not supported: <class \'bool\'> \'True\'',
                         'test_historic_errors CLOSE {}'.format(s))

        s = financials.getHistoric('IBM', Datacode.CLOSE.value, -1000000,
                                   'YAHOO')
        self.assertEqual(s, 'Date format not supported: -1000000',
                         'test_historic_errors CLOSE {}'.format(s))
コード例 #14
0
    def test_realtime_US_mutuals(self):

        s = financials.getRealtime('VGSLX', Datacode.LAST_PRICE.value, 'YAHOO')
        self.assertEqual(float, type(s),
                         'test_realtime_US_mutuals LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VFIAX', Datacode.LAST_PRICE.value, 'YAHOO')
        self.assertEqual(float, type(s),
                         'test_realtime_US_mutuals LAST_PRICE {}'.format(s))

        s = financials.getRealtime('VFIAX', Datacode.LAST_PRICE_DATE.value,
                                   'YAHOO')
        self.assertEqual(
            str, type(s),
            'test_realtime_US_mutuals LAST_PRICE_DATE {}'.format(s))

        s = financials.getRealtime('VFIAX', Datacode.LAST_PRICE_TIME.value,
                                   'YAHOO')
        self.assertEqual(
            str, type(s),
            'test_realtime_US_mutuals LAST_PRICE_TIME {}'.format(s))
コード例 #15
0
    def test_realtime_TY_equity(self):
        s = financials.getRealtime('6503.T', Datacode.OPEN.value, 'YAHOO')
        self.assertEqual(float, type(s), 'test_TY_equity OPEN {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.LOW.value, 'YAHOO')
        self.assertEqual(float, type(s), 'test_TY_equity LOW {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.HIGH.value, 'YAHOO')
        self.assertEqual(float, type(s), 'test_TY_equity HIGH {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.LOW_52_WEEK.value,
                                   'YAHOO')
        self.assertEqual(float, type(s),
                         'test_TY_equity LOW_52_WEEK {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.HIGH_52_WEEK.value,
                                   'YAHOO')
        self.assertEqual(float, type(s),
                         'test_TY_equity HIGH_52_WEEK {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.MARKET_CAP.value,
                                   'YAHOO')
        self.assertEqual(float, type(s),
                         'test_TY_equity MARKET_CAP {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.VOLUME.value, 'YAHOO')
        self.assertEqual(float, type(s), 'test_TY_equity VOLUME {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.CURRENCY.value, 'YAHOO')
        self.assertEqual(s, 'JPY', 'test_TY_equity CURRENCY')

        s = financials.getRealtime('6503.T', Datacode.SECTOR.value, 'YAHOO')
        self.assertEqual(str, type(s), 'test_TY_equity SECTOR {}'.format(s))
        self.assertEqual(s, 'Industrials',
                         'test_TY_equity SECTOR {}'.format(s))

        s = financials.getRealtime('6503.T', Datacode.INDUSTRY.value, 'YAHOO')
        self.assertEqual(str, type(s), 'test_TY_equity INDUSTRY {}'.format(s))
        self.assertEqual(s, 'Electrical Equipment & Parts',
                         'test_TY_equity INDUSTRY {}'.format(s))
コード例 #16
0
    def test_realtime_DE_equity(self):

        s = financials.getRealtime('SAP.DE', Datacode.LAST_PRICE.value,
                                   'YAHOO')
        self.assertEqual(float, type(s),
                         'test_realtime_DE_equity LAST_PRICE {}'.format(s))

        s = financials.getRealtime('SAP.DE', Datacode.TIMEZONE.value, 'YAHOO')
        self.assertEqual(s, 'Europe/Berlin',
                         'test_realtime_DE_equity TIMEZONE {}'.format(s))

        s = financials.getRealtime('SAP.DE', Datacode.SECTOR.value, 'YAHOO')
        self.assertEqual(str, type(s),
                         'test_realtime_DE_equity SECTOR {}'.format(s))
        self.assertEqual(s, 'Technology',
                         'test_realtime_DE_equity SECTOR {}'.format(s))

        s = financials.getRealtime('SAP.DE', Datacode.INDUSTRY.value, 'YAHOO')
        self.assertEqual(str, type(s),
                         'test_realtime_DE_equity INDUSTRY {}'.format(s))
        self.assertEqual(s, 'Software—Application',
                         'test_realtime_DE_equity INDUSTRY {}'.format(s))

        s = financials.getRealtime('C060.DE', Datacode.NAME.value, 'YAHOO')
        self.assertEqual(str, type(s),
                         'test_realtime_DE_equity NAME {}'.format(s))

        s = financials.getRealtime('C060.DE', Datacode.EXCHANGE.value, 'YAHOO')
        self.assertEqual(s, 'GER', 'test_realtime_DE_equity EXCHANGE')
コード例 #17
0
    def test_TY_equity(self):
        s = financials.getRealtime('6503:TYO', Datacode.OPEN.value, 'FT')
        self.assertEqual(type(s), float, 'test_TY_equity OPEN {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.LOW.value, 'FT')
        self.assertEqual(type(s), float, 'test_TY_equity LOW {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.HIGH.value, 'FT')
        self.assertEqual(type(s), float, 'test_TY_equity HIGH {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.LOW_52_WEEK.value,
                                   'FT')
        self.assertEqual(type(s), float,
                         'test_TY_equity LOW_52_WEEK {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.HIGH_52_WEEK.value,
                                   'FT')
        self.assertEqual(type(s), float,
                         'test_TY_equity HIGH_52_WEEK {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.MARKET_CAP.value, 'FT')
        self.assertEqual(type(s), float,
                         'test_TY_equity MARKET_CAP {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.VOLUME.value, 'FT')
        self.assertEqual(type(s), float, 'test_TY_equity VOLUME {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.CURRENCY.value, 'FT')
        self.assertEqual(s, 'JPY', 'test_TY_equity CURRENCY')

        s = financials.getRealtime('6503:TYO', Datacode.SECTOR.value, 'FT')
        self.assertEqual(type(s), str, 'test_TY_equity SECTOR {}'.format(s))
        self.assertEqual(s, 'Industrials',
                         'test_TY_equity SECTOR {}'.format(s))

        s = financials.getRealtime('6503:TYO', Datacode.INDUSTRY.value, 'FT')
        self.assertEqual(type(s), str, 'test_TY_equity INDUSTRY {}'.format(s))
        self.assertEqual(s, 'General Industrials',
                         'test_TY_equity INDUSTRY {}'.format(s))
コード例 #18
0
    def test_TY_equity(self):
        s = financials.getRealtime('6503:TYO', 'OPEN', 'FT')
        self.assertEqual(float, type(s), 'test_TY_equity OPEN {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'LOW', 'FT')
        self.assertEqual(float, type(s), 'test_TY_equity LOW {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'HIGH', 'FT')
        self.assertEqual(float, type(s), 'test_TY_equity HIGH {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'LOW_52_WEEK', 'FT')
        self.assertEqual(float, type(s),
                         'test_TY_equity LOW_52_WEEK {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'HIGH_52_WEEK', 'FT')
        self.assertEqual(float, type(s),
                         'test_TY_equity HIGH_52_WEEK {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'MARKET_CAP', 'FT')
        self.assertEqual(float, type(s),
                         'test_TY_equity MARKET_CAP {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'VOLUME', 'FT')
        self.assertEqual(float, type(s), 'test_TY_equity VOLUME {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'CURRENCY', 'FT')
        self.assertEqual('JPY', s, 'test_TY_equity CURRENCY')

        s = financials.getRealtime('6503:TYO', 'SECTOR', 'FT')
        self.assertEqual(str, type(s), 'test_TY_equity SECTOR {}'.format(s))
        self.assertEqual('Industrials', s,
                         'test_TY_equity SECTOR {}'.format(s))

        s = financials.getRealtime('6503:TYO', 'INDUSTRY', 'FT')
        self.assertEqual(str, type(s), 'test_TY_equity INDUSTRY {}'.format(s))
        self.assertEqual('General Industrials', s,
                         'test_TY_equity INDUSTRY {}'.format(s))
コード例 #19
0
    def test_index(self):
        s = financials.getRealtime('INDEXDB:DAX', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_index LAST_PRICE {}'.format(s))

        s = financials.getRealtime('INDEXDB:DAX', Datacode.CHANGE_IN_PERCENT.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_index CHANGE_IN_PERCENT')

        s = financials.getRealtime('INDEXDB:DAX', Datacode.CHANGE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_index CHANGE')

        s = financials.getRealtime('INDEXDB:DAX', Datacode.OPEN.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_index OPEN')

        s = financials.getRealtime('INDEXDB:DAX', Datacode.LOW.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_index LOW')

        s = financials.getRealtime('INDEXDB:DAX', Datacode.HIGH.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_index HIGH')
コード例 #20
0
    def test_DE_ETF(self):
        s = financials.getRealtime('FRA:C060', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_DE_ETF LAST_PRICE {}'.format(s))

        s = financials.getRealtime('FRA:C060', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual('EUR', s, 'test_DE_ETF CURRENCY')

        s = financials.getRealtime('FRA:C060', Datacode.TICKER.value, 'GOOGLE')
        self.assertEqual('C060', s, 'test_DE_ETF TICKER')

        s = financials.getRealtime('FRA:C060', Datacode.EXCHANGE.value, 'GOOGLE')
        self.assertEqual('FRA', s, 'test_DE_ETF EXCHANGE')

        s = financials.getRealtime('FRA:C060', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual('EUR', s, 'test_DE_ETF CURRENCY')

        s = financials.getRealtime('FRA:C060', Datacode.MARKET_CAP.value, 'GOOGLE')
        self.assertIsNone(s, 'test_DE_ETF MARKET_CAP {}'.format(s))
コード例 #21
0
    def test_UK_equity(self):
        s = financials.getRealtime('LON:VOD', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_UK_equity LAST_PRICE {}'.format(s))

        s = financials.getRealtime('LON:VOD', Datacode.TICKER.value, 'GOOGLE')
        self.assertEqual(s, 'VOD', 'test_UK_equity TICKER')

        s = financials.getRealtime('LON:VOD', Datacode.NAME.value, 'GOOGLE')
        self.assertEqual(type(s), str, 'test_UK_equity NAME')

        s = financials.getRealtime('LON:VOD', Datacode.EXCHANGE.value, 'GOOGLE')
        self.assertEqual(s, 'LON', 'test_UK_equity EXCHANGE')

        s = financials.getRealtime('LON:VOD', Datacode.PREV_CLOSE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_UK_equity PREV_CLOSE {}'.format(s))

        # MARKET_CAP missing for UK stock but available for German stock - weekend issue (FX) ?
        s = financials.getRealtime('LON:VOD', Datacode.MARKET_CAP.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_UK_equity MARKET_CAP {}'.format(s))
コード例 #22
0
    def test_TY_equity(self):
        s = financials.getRealtime('TYO:6503', Datacode.OPEN.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_TY_equity OPEN {}'.format(s))

        s = financials.getRealtime('TYO:6503', Datacode.LOW.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_TY_equity LOW {}'.format(s))

        s = financials.getRealtime('TYO:6503', Datacode.HIGH.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_TY_equity HIGH {}'.format(s))

        s = financials.getRealtime('TYO:6503', Datacode.LOW_52_WEEK.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_TY_equity LOW_52_WEEK {}'.format(s))

        s = financials.getRealtime('TYO:6503', Datacode.HIGH_52_WEEK.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_TY_equity HIGH_52_WEEK {}'.format(s))

        s = financials.getRealtime('TYO:6503', Datacode.MARKET_CAP.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_TY_equity MARKET_CAP {}'.format(s))

        # s = financials.getRealtime('TYO:6503', Datacode.VOLUME.value, 'GOOGLE')
        # self.assertEqual(float, type(s), 'test_TY_equity VOLUME {}'.format(s))

        s = financials.getRealtime('TYO:6503', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual(s, 'JPY', 'test_TY_equity CURRENCY')
コード例 #23
0
    def test_errors(self):
        s = financials.getRealtime('NO_NAME', 'LAST_PRICE', 'FT')
        self.assertIsNone(s, 'test_errors LAST_PRICE {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'Foo', 'FT')
        self.assertEqual('Datacode is invalid', s, 'test_errors')
コード例 #24
0
    def test_US_equity(self):
        s = financials.getRealtime('INTC:NSQ', 'CHANGE', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity CHANGE {}'.format(s))

        s = financials.getRealtime('INTC:NSQ', 'CHANGE_IN_PERCENT', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity CHANGE_IN_PERCENT {}'.format(s))

        s = financials.getRealtime('INTC:NSQ', 'AVG_DAILY_VOL_3MONTH', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity AVG_DAILY_VOL_3MONTH {}'.format(s))

        s = financials.getRealtime('INTC:NSQ', 'MARKET_CAP', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity MARKET_CAP {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'TICKER', 'FT')
        self.assertEqual(str, type(s), 'test_US_equity TICKER {}'.format(s))
        self.assertEqual('IBM:NYQ', s, 'test_US_equity TICKER {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'PREV_CLOSE', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity PREV_CLOSE {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'OPEN', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity OPEN {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'LAST_PRICE', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity LAST_PRICE {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'LOW', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity LOW {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'HIGH', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity HIGH {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'VOLUME', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity VOLUME {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'BETA', 'FT')
        self.assertTrue(testutils.is_positive_float(s),
                        'test_US_equity BETA {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'EPS', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity EPS {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'PE_RATIO', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity PE_RATIO {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'DIV', 'FT')
        self.assertEqual(float, type(s), 'test_US_equity DIV {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'DIV_YIELD', 'FT')
        self.assertEqual(float, type(s),
                         'test_US_equity DIV_YIELD {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'EX_DIV_DATE', 'FT')
        self.assertEqual(str, type(s),
                         'test_US_equity EX_DIV_DATE {}'.format(s))
        self.assertTrue(testutils.is_date(s),
                        'test_US_equity EX_DIV_DATE {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'PAYOUT_RATIO', 'FT')
        self.assertIsNone(s, 'test_US_equity PAYOUT_RATIO {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'NAME', 'FT')
        self.assertEqual(str, type(s), 'test_US_equity NAME {}'.format(s))
        self.assertEqual(s, 'International Business Machines Corp',
                         'test_US_equity NAME {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'SECTOR', 'FT')
        self.assertEqual(str, type(s), 'test_US_equity SECTOR {}'.format(s))
        self.assertEqual(s, 'Technology', 'test_US_equity SECTOR {}'.format(s))

        s = financials.getRealtime('IBM:NYQ', 'INDUSTRY', 'FT')
        self.assertEqual(str, type(s), 'test_US_equity INDUSTRY {}'.format(s))
        self.assertEqual(s, 'Software & Computer Services',
                         'test_US_equity INDUSTRY {}'.format(s))

        # may fail (s is None) on weekends when date/time displayed doesn't have time component with TZ
        s = financials.getRealtime('IBM:NYQ', 'TIMEZONE', 'FT')
        self.assertEqual(str, type(s), 'test_US_equity TIMEZONE {}'.format(s))
コード例 #25
0
    def test_index(self):
        s = financials.getRealtime('INX:IOM', 'ticker', 'FT')
        self.assertEqual('INX:IOM', s, 'test_index TICKER {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'ticker', 'FT')
        self.assertEqual('DAXX:GER', s, 'test_index TICKER {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'last_price', 'FT')
        self.assertEqual(float, type(s), 'test_index LAST_PRICE {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'volume', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity VOLUME {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'low_52_week', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity LOW_52_WEEK {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'high_52_week', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity HIGH_52_WEEK {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'open', 'FT')
        self.assertIsNone(s, 'test_DE_equity OPEN {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'high', 'FT')
        self.assertIsNone(s, 'test_DE_equity HIGH {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'low', 'FT')
        self.assertIsNone(s, 'test_DE_equity LOW {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'prev_close', 'FT')
        self.assertIsNone(s, 'test_DE_equity PREV_CLOSE {}'.format(s))

        s = financials.getRealtime('DAXX:GER', 'market_cap', 'FT')
        self.assertIsNone(s, 'test_DE_equity MARKET_CAP {}'.format(s))
コード例 #26
0
 def test_currency(self):
     s = financials.getRealtime('EURGBP', Datacode.LAST_PRICE.value, 'GOOGLE')
     self.assertIsNone(s, 'test_currency LAST_PRICE')
コード例 #27
0
    def test_currency(self):
        s = financials.getRealtime('EURGBP', 'LAST_PRICE', 'FT')
        self.assertEqual(float, type(s), 'test_currency LAST_PRICE')

        s = financials.getRealtime('EURGBP', 'CURRENCY', 'FT')
        self.assertEqual(str, type(s), 'test_currency CURRENCY')
コード例 #28
0
    def test_DE_equity(self):
        s = financials.getRealtime('SAPX:GER', 'NAME', 'FT')
        self.assertEqual('SAP SE', s, 'test_DE_equity NAME {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'TICKER', 'FT')
        self.assertEqual('SAPX:GER', s, 'test_DE_equity TICKER {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'CURRENCY', 'FT')
        self.assertEqual('EUR', s, 'test_DE_equity CURRENCY {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'LAST_PRICE', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity LAST_PRICE {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'CHANGE', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity CHANGE {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'CHANGE_IN_PERCENT', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity CHANGE_IN_PERCENT {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'VOLUME', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity VOLUME {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'OPEN', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity OPEN {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'HIGH', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity HIGH {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'LOW', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity LOW {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'PREV_CLOSE', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity PREV_CLOSE {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'MARKET_CAP', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity MARKET_CAP {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'SECTOR', 'FT')
        self.assertEqual(str, type(s), 'test_DE_equity SECTOR {}'.format(s))
        self.assertEqual(s, 'Technology', 'test_DE_equity SECTOR {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'INDUSTRY', 'FT')
        self.assertEqual(str, type(s), 'test_DE_equity INDUSTRY {}'.format(s))
        self.assertEqual('Software & Computer Services', s,
                         'test_DE_equity INDUSTRY {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'LAST_PRICE_DATE', 'FT')
        self.assertEqual(str, type(s),
                         'test_DE_equity LAST_PRICE_DATE {}'.format(s))
        self.assertTrue(testutils.is_date(s),
                        'test_DE_equity LAST_PRICE_DATE {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'TIMEZONE', 'FT')
        self.assertEqual(str, type(s), 'test_DE_equity TIMEZONE {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'BETA', 'FT')
        self.assertTrue(testutils.is_positive_float(s),
                        'test_DE_equity BETA {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'EPS', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity EPS {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'PE_RATIO', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity PE_RATIO {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'DIV', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity DIV {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'DIV_YIELD', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity DIV_YIELD {}'.format(s))

        s = financials.getRealtime('SAPX:GER', 'EX_DIV_DATE', 'FT')
        self.assertEqual(str, type(s),
                         'test_DE_equity EX_DIV_DATE {}'.format(s))
        self.assertTrue(testutils.is_date(s),
                        'test_DE_equity EX_DIV_DATE {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'NAME', 'FT')
        self.assertEqual('Intershop Communications AG', s,
                         'test_DE_equity NAME {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'BETA', 'FT')
        self.assertTrue(testutils.is_positive_float(s),
                        'test_DE_equity BETA {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'MARKET_CAP', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity MARKET_CAP {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'EPS', 'FT')
        self.assertEqual(float, type(s), 'test_DE_equity EPS {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'PE_RATIO', 'FT')
        self.assertEqual(float, type(s),
                         'test_DE_equity PE_RATIO {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'DIV', 'FT')
        self.assertIsNone(s, 'test_DE_equity DIV {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'DIV_YIELD', 'FT')
        self.assertIsNone(s, 'test_DE_equity DIV_YIELD {}'.format(s))

        s = financials.getRealtime('ISHAX:GER', 'EX_DIV_DATE', 'FT')
        self.assertIsNone(s, 'test_DE_equity EX_DIV_DATE {}'.format(s))
コード例 #29
0
    def test_realtime_errors(self):

        s = financials.getRealtime('NO_NAME', Datacode.LAST_PRICE.value,
                                   'YAHOO')
        self.assertIsNone(s, 'test_realtime_errors LAST_PRICE {}'.format(s))
コード例 #30
0
    def test_US_equity(self):
        s = financials.getRealtime(' NASDAQ : AAPL ', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity LAST_PRICE {}'.format(s))

        s = financials.getRealtime(' NASDAQ : AAPL ', Datacode.TICKER.value, 'GOOGLE')
        self.assertEqual(s, 'AAPL', 'test_US_equity TICKER')

        s = financials.getRealtime(' NASDAQ : AAPL ', Datacode.EXCHANGE.value, 'GOOGLE')
        self.assertEqual(s, 'NASDAQ', 'test_US_equity EXCHANGE')

        s = financials.getRealtime(' NASDAQ : AAPL ', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual(s, 'USD', 'test_US_equity CURRENCY')

        s = financials.getRealtime('NYSE:IBM', Datacode.LAST_PRICE.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity LAST_PRICE {}'.format(s))

        s = financials.getRealtime('NYSE:IBM', Datacode.TICKER.value, 'GOOGLE')
        self.assertEqual(s, 'IBM', 'test_US_equity TICKER')

        s = financials.getRealtime('NYSE:IBM', Datacode.EXCHANGE.value, 'GOOGLE')
        self.assertEqual(s, 'NYSE', 'test_US_equity EXCHANGE')

        s = financials.getRealtime('NYSE:IBM', Datacode.CURRENCY.value, 'GOOGLE')
        self.assertEqual(s, 'USD', 'test_US_equity CURRENCY')

        s = financials.getRealtime('NYSE:IBM', Datacode.NAME.value, 'GOOGLE')
        self.assertEqual(type(s), str, 'test_US_equity NAME')
        self.assertEqual(s, 'IBM Common Stock', 'test_US_equity NAME')

        s = financials.getRealtime('NYSE:IBM', Datacode.LOW.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity LOW {}'.format(s))

        s = financials.getRealtime('NYSE:IBM', Datacode.HIGH.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity HIGH {}'.format(s))

        s = financials.getRealtime('NYSE:IBM', Datacode.LOW_52_WEEK.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity LOW_52_WEEK {}'.format(s))

        s = financials.getRealtime('NYSE:IBM', Datacode.HIGH_52_WEEK.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity HIGH_52_WEEK {}'.format(s))

        s = financials.getRealtime('NYSE:IBM', Datacode.MARKET_CAP.value, 'GOOGLE')
        self.assertEqual(float, type(s), 'test_US_equity MARKET_CAP {}'.format(s))

        # s = financials.getRealtime('NYSE:IBM', Datacode.VOLUME.value, 'GOOGLE')
        # self.assertEqual(float, type(s), 'test_US_equity VOLUME {}'.format(s))

        s = financials.getRealtime('NYSE:IBM', Datacode.TIMESTAMP.value, 'GOOGLE')
        self.assertEqual(s, 'Data doesn\'t exist - 999', 'test_US_equity TIMESTAMP')

        s = financials.getRealtime('NYSE:IBM', Datacode.TIMEZONE.value, 'GOOGLE')
        # self.assertEqual('America/New_York', s, 'test_US_equity TIMEZONE')
        # self.assertEqual('GMT-4', s, 'test_US_equity TIMEZONE')
        self.assertEqual('GMT-5', s, 'test_US_equity TIMEZONE')