def _hourly_range(self, init_date, time_frame):
"""
Returns DatetimeIndex trading week/s in hours.
"""
utcnow = datetime.utcnow()
tr_wk_str, tr_wk_end = self.get_trading_week(init_date)
if tr_wk_end > utcnow:
tr_wk_end = utcnow.replace(
minute=00,second=00, microsecond=00)
freq, interval_type, delta = self._data_frequency(time_frame)
dth = pd.date_range(str(tr_wk_str), str(tr_wk_end), freq=freq)
while (len(dth) % (300*int(time_frame[1:])) == 0) == False:
tr_wk_str = tr_wk_end + timedelta(**{interval_type: delta})
if tr_wk_str < utcnow:
tr_wk_str, tr_wk_end = self.get_trading_week(tr_wk_str)
if tr_wk_end > utcnow:
tr_wk_end = utcnow.replace(
minute=00,second=00, microsecond=00)
tr_wk_end += timedelta(hours=1)
dth = dth.append(
pd.date_range(str(tr_wk_str), str(tr_wk_end), freq=freq))
else:
break
return dth
评论列表
文章目录