Повторная выборка Минуты данных
У меня есть данные OHLCV на основе минуты для диапазона открытия/первого часа (9: 30-10: 30 AM EST). Я ищу для повторной настройки этих данных, чтобы получить одно 60-минутное значение, а затем вычислить диапазон.
Когда я вызываю функцию dataframe.resample() на данные, я получаю две строки, а начальная строка начинается в 9:00. Я ищу, чтобы получить только одну строку, которая начинается в 9:30.
Примечание: начальные данные начинаются в 9:30.
![enter image description here]()
Изменить: добавление кода:
# Extract data for regular trading hours (rth) from the 24 hour data set
rth = data.between_time(start_time = '09:30:00', end_time = '16:15:00', include_end = False)
# Extract data for extended trading hours (eth) from the 24 hour data set
eth = data.between_time(start_time = '16:30:00', end_time = '09:30:00', include_end = False)
# Extract data for initial balance (rth) from the 24 hour data set
initial_balance = data.between_time(start_time = '09:30:00', end_time = '10:30:00', include_end = False)
Застрял, попытался отделить диапазон открытия по отдельной дате и получить начальный баланс
conversion = {'Open' : 'first', 'High' : 'max', 'Low' : 'min', 'Close' : 'last', 'Volume' : 'sum'}
sample = data.between_time(start_time = '09:30:00', end_time = '10:30:00', include_end = False)
sample = sample.ix['2007-05-07']
sample.tail()
sample.resample('60Min', how = conversion)
По умолчанию повторная выборка начинается в начале часа. Я бы хотел, чтобы он начинался с того, откуда начинаются данные.
Ответы
Ответ 1
Вы можете использовать аргумент base
resample
:
sample.resample('60Min', how=conversion, base=30)
Из приведенная выше документация:
base
: int
, по умолчанию 0
Для частот, которые равномерно подразделяют 1 день, "происхождение" агрегированных интервалов.
Например, для '5min frequency, base может находиться в диапазоне от 0 до 4. По умолчанию 0