Отредактировано:
У меня есть финансовый портфель в pandas dataframe df, где индекс - это дата, и у меня есть несколько финансовых запасов за дату.
Например, dataframe:
Date Stock Weight Percentile Final weight
1/1/2000 Apple 0.010 0.75 0.010
1/1/2000 IBM 0.011 0.4 0
1/1/2000 Google 0.012 0.45 0
1/1/2000 Nokia 0.022 0.81 0.022
2/1/2000 Apple 0.014 0.56 0
2/1/2000 Google 0.015 0.45 0
2/1/2000 Nokia 0.016 0.55 0
3/1/2000 Apple 0.020 0.52 0
3/1/2000 Google 0.030 0.51 0
3/1/2000 Nokia 0.040 0.47 0
Я создал Final_weight
, назначая значения Weight
, когда Percentile
больше, чем 0.7
Теперь я хочу, чтобы это было немного сложнее, я все еще хочу, чтобы Weight
был назначен Final_weight
при Percentile is > 0.7
, однако после этой даты (в любой момент в будущем) вместо того, чтобы стать 0, когда запасы Percentile
не >0.7
, мы все равно получаем вес до тех пор, пока запасы Percentile
превышают 0.5
(т.е. удерживая позицию дольше, чем один день).
Тогда, если запас идет ниже 0.5
(в ближайшем будущем), то Final_weight would become 0
.
Например, модифицированный фрейм данных сверху:
Date Stock Weight Percentile Final weight
1/1/2000 Apple 0.010 0.75 0.010
1/1/2000 IBM 0.011 0.4 0
1/1/2000 Google 0.012 0.45 0
1/1/2000 Nokia 0.022 0.81 0.022
2/1/2000 Apple 0.014 0.56 0.014
2/1/2000 Google 0.015 0.45 0
2/1/2000 Nokia 0.016 0.55 0.016
3/1/2000 Apple 0.020 0.52 0.020
3/1/2000 Google 0.030 0.51 0
3/1/2000 Nokia 0.040 0.47 0
Каждый день разные портфели не всегда имеют один и тот же запас с предыдущего дня.