Как получить объем торгов по тиковым данным?

#python #dataframe

Вопрос:

У меня есть эти данные Excel с движением цены и объемом торгов. данные

Используя mydf[mydf.columns[5]].resample('1Min').ohlc() , я получаю данные OHLC, но не знаю, как получить объем торговли за каждую минуту. У меня в голове мало проблем:

  • частота тика неравномерна (означает, что для какой-то конкретной минуты у меня может быть, скажем, размер выборки 100, а для других он может варьироваться до 120, поэтому .group() может не работать для меня)
  • Функция OHLC автоматически решает предыдущую проблему, когда я составляю индекс даты и времени столбца G
  • Могу ли я получить код, который на основе столбца «G» должен суммировать объем за конкретную минуту, а затем вычесть его из данных об объеме за предыдущую минуту, чтобы я получил точный объем торгов за эту конкретную минуту?
  • Вот входные данные для ohlc

вход

и результат, который я получаю, таков,

выход.

На данный момент меня не интересует CE.

Я просто хочу, чтобы в этот фрейм данных был добавлен еще один столбец с объемом для каждого значения минуты.

Комментарии:

1. Является ли время полностью одинаковым или отличается на микросекунду? Я все еще пытаюсь понять, почему существует так много повторяющихся значений.

2. да, они не являются дубликатами, и данные меняются на уровне микросекунд, иногда только цена, иногда как объем, так и цена. Из-за только формата HH:MM:SS он выглядит как дубликат.

3. Без наличия данных для тестирования было бы трудно отлаживать. Я предлагаю вам сначала рассчитать объем с помощью функции diff, чтобы совокупный объем был изменен на фактический объем в то время. После этого используйте ресамплер и ohlc точно так же, как вы пытаетесь.

4. Сомнения, которые я испытываю при выполнении sum с использованием («объем»:сумма(x[«объем»]) для некоторой определенной длины «x», заключаются в том, что она варьируется для данных за 1 минуту. Как мне убедиться, что я суммирую данные только за 1 минуту.