Как изменить выборку и очистить таблицу данных для настроенного календаря и расписания? - PullRequest
1 голос
/ 14 апреля 2020

(с использованием 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?

...