Я пытаюсь увидеть, какого ценового движения ожидать, когда большой заказ проходит через книгу заказов. У меня есть данные снимка книги заказов, которые выглядят так:
bid_price bid_size ask_price ask_size level bid_size_cumsum ask_size_cumsum
2018-08-27 14:25:30+00:00 6717.49 0.735502 6717.50 56.117221 0 0.735502 56.117221
2018-08-27 14:25:30+00:00 6717.22 0.300000 6717.56 0.018600 1 1.035502 56.135821
2018-08-27 14:25:30+00:00 6717.01 1.000000 6717.94 0.001000 2 2.035502 56.136821
2018-08-27 14:25:30+00:00 6717.00 2.500000 6718.30 0.001000 3 4.535502 56.137821
2018-08-27 14:25:30+00:00 6716.78 0.001000 6718.46 0.003000 4 4.536502 56.140821
2018-08-27 14:25:30+00:00 6716.25 0.617698 6718.95 2.225920 5 5.154200 58.366741
2018-08-27 14:25:30+00:00 6716.19 0.046394 6719.00 6.900000 6 5.200593 65.266741
2018-08-27 14:25:30+00:00 6715.00 0.001000 6719.20 0.001000 7 5.201593 65.267741
2018-08-27 14:25:30+00:00 6712.94 2.895080 6719.26 0.001000 8 8.096673 65.268741
2018-08-27 14:25:30+00:00 6710.98 1.033114 6719.96 0.001000 9 9.129787 65.269741
2018-08-27 14:25:30+00:00 6710.85 1.870000 6720.00 8.316950 10 10.999787 73.586691
2018-08-27 14:25:30+00:00 6710.78 0.306467 6720.01 0.001000 11 11.306254 73.587691
2018-08-27 14:25:30+00:00 6710.62 0.900000 6720.02 2.848228 12 12.206254 76.435919
Уровни - это уровни книги заказов, поэтому уровень 0 был бы верхом книги.
Скажем, если я хочу продать кол-во 10 через ставки, я могу видеть из bid_size_cumsum, что я получу свои 10, когда он достигнет уровня 10. Теперь я хочу вычислить среднее значение bid_price до уровня 10. Это был бы взвешенный среднее значение bid_price bid_size. Есть ли способ рассчитать (bid_price bid_size) / total_size до уровня 10 без использования цикла For?