Загвоздка возникла в том что за период времени нужно посчитать максимальную просадку по эквити (баланс счёта). Имеем список в котором каждый элемент списка означает изменение баланса. Но так как нужно посчитать максимальную просадку за весь период (не путать с максимальным количеством подряд убыточных сделок) есть проблема как определить эту максимальную просадку.
Думал сделать так сначала найти все экстремальные значения перед тем как уровень эквити начал снижаться, а после минимальное значение на протяжение всего этого снижения.
Код который я написал не верно ищет экстремальные значения максимальные потому как в список который получили на выходе попали значения которые ниже придедущего чего быть не должно.
lst1 = []
for num in range(len(equity_result1)):
if equity_result1[num-1]<equity_result1[num]>equity_result1[num+1] and equity_result1[num] > next (iter(equity_result1[0:num])):
lst1.append(equity_result1[num])
print(lst1)
>>>
[15220.0, 21550.0, 34210.0, 37250.0, 56240.0, 65750.0, 78340.0, 95980.0, 127480.0, 158830.0, 190080.0, 182930.0, 208930.0, 204980.0, 214330.0, 239580.0, 283210.0, 311950.0, 349930.0, 341350.0]
добавил картинку для наглядности