(с использованием Python 3.5.6)
Привет,
пытаюсь подготовить фрейм данных для использования с zipline с настраиваемым торговым календарем. Предположим, что я импортировал соответствующие данные временных рядов только с 02:15 до 21:58, рабочие дни будут обрабатываться zipline с частотой = "минута" ... поэтому данные должны быть точными.
Примерно так:
de = OrderedDict()
de['DE30'] = pd.read_csv("DE.30.1m.csv",header=None)
de['DE30']['date'] = pd.to_datetime(de['DE30']['time'],utc=True)
de['DE30'].set_index('date', inplace=True)
de['DE30'] = de['DE30'].resample(rule="min").mean()
de['DE30'].rename(columns={2:'open',3:'high',4:'low',5:'close',6:'volume'},inplace=True)
de['DE30'].loc[datetime(2020,3,30,21,57):].head()
date open high low close volume
2020-03-30 21:57:00+00:00 9846.4 9848.9 9839.4 9843.4 62.0
2020-03-30 21:58:00+00:00 9842.9 9842.9 9840.9 9840.9 2.0
2020-03-30 21:59:00+00:00 NaN NaN NaN NaN NaN
2020-03-30 22:00:00+00:00 NaN NaN NaN NaN NaN
2020-03-30 22:01:00+00:00 NaN NaN NaN NaN NaN
Хитрость здесь в том, что: если я перескажу полную серию временных рядов - как раньше - тогда я не упущу ни одной «минуты» в моей исходной информации (т.е. в случае моей. У CSV нет некоторых важных строк по ошибке), однако у меня будет утомительная задача удалить все строки с 21:59 до 2:15 (без торговых часов), а также информацию о выходных и праздничных днях. Как сделать это «простым способом» ..?
Если я не сделаю повторную выборку, я перейду на zipline панель, которая содержит только правильные торговые часы и рабочие дни (zipline будет работать с предварительно -определенный настраиваемый торговый календарь (который я зарегистрировал для этого), однако я могу получить ошибки, подобные этой:
KeyError: 'the label [2020-03-31 05:37:00+00:00] is not in the [index]'
, потому что строка с минутой 05:37 для этого дня не находится в оригинале .csv
Вариант 1) Можно ли проверить только наличие «пропущенных» минут на указанном c таймфрейме без повторной выборки? или ..
Вариант 2) если я решу сделать повторную выборку, есть ли простой способ очистки строк с нежелательным временем, выходными и т. д. c?