Поиск экстремальных значений списка (не максимального и минимального значения в списке) а последовательных экстремальных значений макс/мин
Загвоздка возникла в том что за период времени нужно посчитать максимальную просадку по эквити (баланс счёта). Имеем список в котором каждый элемент списка означает изменение баланса. Но так как нужно посчитать максимальную просадку за весь период (не путать с максимальным количеством подряд убыточных сделок) есть проблема как определить эту максимальную просадку.
Думал сделать так сначала найти все экстремальные значения перед тем как уровень эквити начал снижаться, а после минимальное значение на протяжение всего этого снижения.
Ниже код для поиска экстремальных значений до минимальных значений пока не добрался.
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]
как видно из списка есть значения которые меньше предыдущего чего быть не должно.
добавил так же что именно нужно посчитать.