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')
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')
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]))
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')
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]
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]
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
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]))
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]), )
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]))