Esempio n. 1
0
def test_iterate_coin_timestamps():
    timestamps = iterate_timestamps(security_type=SecurityType.coin, exchange='binance',
                                    level=TradingLevel.LEVEL_1HOUR, start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02')
    assert is_same_time(timestamps[0], '2019-05-01 00:00:00')
    assert is_same_time(timestamps[-1], '2019-05-03 00:00:00')

    timestamps = iterate_timestamps(security_type=SecurityType.coin, exchange='binance',
                                    level=TradingLevel.LEVEL_5MIN, start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02')
    assert is_same_time(timestamps[0], '2019-05-01 00:00:00')
    assert is_same_time(timestamps[-1], '2019-05-03 00:00:00')
Esempio n. 2
0
def test_iterate_stock_timestamps():
    timestamps = iterate_timestamps(security_type=SecurityType.stock,
                                    exchange='sh',
                                    level=TradingLevel.LEVEL_1HOUR,
                                    start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02')
    assert is_same_time(timestamps[0], '2019-05-01 09:30:00')
    assert is_same_time(timestamps[-1], '2019-05-02 15:00:00')

    timestamps = iterate_timestamps(security_type=SecurityType.stock,
                                    exchange='sh',
                                    level=TradingLevel.LEVEL_5MIN,
                                    start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02')
    assert is_same_time(timestamps[0], '2019-05-01 09:30:00')
    assert is_same_time(timestamps[-1], '2019-05-02 15:00:00')

    timestamps = iterate_timestamps(security_type=SecurityType.stock,
                                    exchange='sh',
                                    level=TradingLevel.LEVEL_1HOUR,
                                    start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02',
                                    contain_all_timestamp=False)
    assert is_same_time(timestamps[0], '2019-05-01 10:30:00')
    assert is_same_time(timestamps[-1], '2019-05-02 15:00:00')

    timestamps = iterate_timestamps(security_type=SecurityType.stock,
                                    exchange='sh',
                                    level=TradingLevel.LEVEL_5MIN,
                                    start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02',
                                    contain_all_timestamp=False)
    assert is_same_time(timestamps[0], '2019-05-01 09:35:00')
    assert is_same_time(timestamps[-1], '2019-05-02 15:00:00')
Esempio n. 3
0
def is_close_time(security_type, exchange, timestamp):
    return is_same_time(
        timestamp,
        date_and_time(
            the_date=timestamp,
            the_time=get_trading_intervals(security_type=security_type,
                                           exchange=exchange)[-1][-1]))
Esempio n. 4
0
def test_iterate_coin_timestamps():
    timestamps = iterate_timestamps(entity_type='coin',
                                    exchange='binance',
                                    level=IntervalLevel.LEVEL_1HOUR,
                                    start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02')
    assert is_same_time(timestamps[0], '2019-05-01 00:00:00')
    assert is_same_time(timestamps[-1], '2019-05-03 00:00:00')

    timestamps = iterate_timestamps(entity_type='coin',
                                    exchange='binance',
                                    level=IntervalLevel.LEVEL_5MIN,
                                    start_timestamp='2019-05-01',
                                    end_timestamp='2019-05-02')
    assert is_same_time(timestamps[0], '2019-05-01 00:00:00')
    assert is_same_time(timestamps[-1], '2019-05-03 00:00:00')
Esempio n. 5
0
 def test_data_correctness(cls, region, provider, data_samples):
     for data in data_samples:
         item = cls.query_data(region=region, provider=provider, ids=[data['id']], return_type='dict')
         print(item)
         for k in data:
             if k == 'timestamp':
                 assert is_same_time(item[0][k], data[k])
             else:
                 assert item[0][k] == data[k]
Esempio n. 6
0
 def test_data_correctness(cls, provider, data_samples):
     for data in data_samples:
         item = cls.query_data(provider=provider, ids=[data["id"]], return_type="dict")
         print(item)
         for k in data:
             if k == "timestamp":
                 assert is_same_time(item[0][k], data[k])
             else:
                 assert item[0][k] == data[k]
Esempio n. 7
0
    def is_finished_kdata_timestamp(cls, timestamp: pd.Timestamp, level: IntervalLevel):
        """
        :param timestamp: the timestamp could be recorded in kdata of the level
        :type timestamp: pd.Timestamp
        :param level:
        :type level: zvt.domain.common.IntervalLevel
        :return:
        :rtype: bool
        """
        timestamp = pd.Timestamp(timestamp)

        for t in cls.get_interval_timestamps(timestamp.date(), timestamp.date(), level=level):
            if is_same_time(t, timestamp):
                return True

        return False
Esempio n. 8
0
File: schema.py Progetto: eromoe/zvt
 def is_close_timestamp(cls, timestamp):
     timestamp = pd.Timestamp(timestamp)
     return is_same_time(
         timestamp,
         date_and_time(the_date=timestamp.date(),
                       the_time=cls.get_trading_intervals()[-1][1]))
Esempio n. 9
0
 def is_open_timestamp(cls, timestamp):
     timestamp = pd.Timestamp(timestamp)
     return is_same_time(
         timestamp,
         date_and_time(the_date=timestamp.date(), the_time=cls.get_trading_intervals()[0][0]),
     )
Esempio n. 10
0
def is_open_time(entity_type, exchange, timestamp):
    return is_same_time(
        timestamp,
        date_and_time(the_date=timestamp,
                      the_time=get_trading_intervals(entity_type=entity_type,
                                                     exchange=exchange)[0][0]))