У меня есть миллиарды строк в таблице. Просто вставляю пример данных.
ticker trade_date trade_time Price Volume
---------------------------------------------------------------
AKS 01242017 1025 9.995 75038
AKS 01242017 1030 10 86891
AKS 01242017 1031 9.97 52815
AKS 01242017 1036 10.03 83556
AKS 01242017 1037 10.05 92644
Я хочу суммировать данные по торговым часам. Обычные часы NYSE с 09:30 до 1600:00.
Я хочу видеть вышеуказанные данные следующим образом
ticker tdate 1sthour Avg Price 2nd hour Avg price
---------------------------------------------------------------------------
AKS 01242017 161929 9.99 229015 10.02
Проблема в том, что у меня есть 42000 разных тикеров, и большинство тикеров могут не иметь данных за каждый час. В таких случаях я хочу, чтобы 0 отображалось для часа, в который нет продажи акций. Пробный случай с суммой, но результат выглядит не очень хорошо.
Объем рассчитывается следующим образом: 1-й час 930 - 1030 = 75038 + 86891 = 169129
Средняя цена = (75038 * 9,995 + 86891 * 10) / (75038 + 86891)