df
:
Unnamed: 0 Trade Date Symbol Exchange Segment Trade Type Qty Price Order ID Trade ID Time
0 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 140 29593.00 1400000000087742 50013671 2019-04-24 09:15:16
1 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29592.95 1400000000087742 50013672 2019-04-24 09:15:16
2 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29592.90 1400000000087742 50013673 2019-04-24 09:15:16
3 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29588.40 1400000000087742 50013674 2019-04-24 09:15:16
4 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29576.45 1400000000224462 52308594 2019-04-24 13:55:12
5 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 100 29576.45 1400000000224462 52308595 2019-04-24 13:55:12
6 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29576.80 1400000000224462 52308596 2019-04-24 13:55:12
7 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 40 29576.80 1400000000224462 52308597 2019-04-24 13:55:12
8 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29577.00 1400000000224462 52308598 2019-04-24 13:55:12
9 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29685.00 1400000033885922 52664935 2019-04-24 14:03:38
10 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29685.00 1400000033885922 52664936 2019-04-24 14:03:38
11 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29685.00 1400000033885922 52664937 2019-04-24 14:03:38
12 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29685.00 1400000033885922 52664938 2019-04-24 14:03:38
13 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 20 29686.45 1400000033885922 52664939 2019-04-24 14:03:38
14 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 100 29686.55 1400000033885922 52664940 2019-04-24 14:03:38
15 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29915.65 1400000048617426 54163123 2019-04-24 15:16:48
16 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29915.60 1400000048617426 54163124 2019-04-24 15:16:48
17 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 40 29914.55 1400000048617426 54163125 2019-04-24 15:16:48
18 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 40 29914.45 1400000048617426 54163126 2019-04-24 15:16:48
19 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29914.00 1400000048617426 54163127 2019-04-24 15:16:48
20 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29914.00 1400000048617426 54163128 2019-04-24 15:16:48
21 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29913.95 1400000048617426 54163129 2019-04-24 15:16:48
22 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 20 29913.55 1400000048617426 54163130 2019-04-24 15:16:48
Я хочу проверить Trade Type
в строке 0, и если следующая строка (1) также совпадает с Trade Type
, добавьте значение Qty
в первую строку и сделайте Price
= среднее значение для две цены на основе Qty
.
Так до тех пор, пока мы не достигнем другого Trade Type
.
Затем делайте то же самое, пока количество различных Trade Type
не станет равным строке 0. То есть сделка закрыта. И если количество больше, мы создаем новую строку с оставшимся количеством.
Ожидаемый результат:
Unnamed: 0 Trade Date Symbol Exchange Segment Trade Type Qty Price Order ID Trade ID Time
0 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 200 29592.525 1400000000087742 50013671 2019-04-24 09:15:16
1 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 200 29576.61 1400000000224462 52308594 2019-04-24 13:55:12
2 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO buy 200 29685.92 1400000000224462 52308595 2019-04-24 13:55:12
3 NaN 2019-04-24 BANKNIFTY19APRFUT NSE FO sell 200 29914.475
Trade ID
Order ID
Trade Time
не очень важны.
Я могу сделать это, используя цикл и списки, но я не думаю, что это способ питона / панды.
TIA