У меня есть такой фрейм данных для панд -
Tstamp Token LTP Cum_bsdiffs Cum_ltpdiffs counts Entry Correl Exit ltpchange ltpcumchange ltppercumchange
0 2018-10-29 11:40:33 415745 138.40 NaN NaN 0 0 NaN 0 0 0 0
1 2018-10-29 11:40:34 415745 138.40 -200.0 0.00 1 0 NaN 0 0 0 0
2 2018-10-29 11:40:34 415745 138.35 -1437.0 -0.05 2 0 NaN 0 0 0 0
3 2018-10-29 11:40:36 415745 138.35 -1337.0 -0.05 3 0 NaN 0 0 0 0
Теперь столбцы Entry
, Exit
, ltpchange
и ltpcumchange
взаимозависимы следующим образом -
Entry
становится «Покупать» или «Продавать» в зависимости от условия в зависимости от
другие столбцы. В противном случае останется 0.
- Как раз когда
Entry
становится не равным 0, ltpchange
начинает принимать изменения в последующих значениях LTP
. В противном случае это будет
остаются 0.
ltpcumchange
примет совокупную сумму ltpchange
.
- Как только
ltpcumchange
достигнет целевого значения (в любом направлении), Exit
станет 1.
Entry
останется "Buy" или "Sell", в зависимости от предыдущего ряда, до Exit
станет 1, после чего вернется к 0.
Я использовал iterrows
(), чтобы перейти к этой логике, однако она слишком медленная. Мой фрейм данных содержит более 2 миллионов строк и работает со скоростью почти 5 строк в секунду.
Я пытался использовать логику столбца данных, но не смог получить желаемый результат. Может ли кто-нибудь помочь мне здесь?