Я пытаюсь рассчитать ежедневную общую стоимость портфеля путем умножения весов каждого актива на ежедневную цену активов.
В настоящее время у меня есть DataFrame tw
, который представляет собой все нули, кроме дат что я хочу перебалансировать, что держит вес моих активов. То, что я хотел бы сделать для каждого месяца, заполнить нули весами, с которыми я пытаюсь перебалансировать, до следующей даты перебалансировки, и так далее, и так далее.
Мой код:
df_of_weights = tw.loc[dates_to_rebalance[13]:]
temp_date = dates_to_rebalance[13]
counter = 0
for date in df_of_weights.index:
if date.year == temp_date.year and date.month == temp_date.month:
if date.day == temp_date.day:
pass
else:
df_of_weights.loc[date] = df_of_weights.loc[temp_date].values
counter += 1
temp_date = dates_to_rebalance[13+counter]
Я понимаю, что если вы нарежете свой DataFrame и назначите его переменной (df_of_weights
), изменение значений указанной переменной не повлияет на исходный DataFrame , Однако значения в tw
изменились. Некоторое время искали ответ в Интернете, и я действительно в замешательстве.