У меня есть следующий фрейм данных возврата
ret
Out[3]:
Symbol FX OGDC PIB WTI
Date
2010-03-02 0.000443 0.006928 0.000000 0.012375
2010-03-03 -0.000690 -0.007873 0.000171 0.014824
2010-03-04 -0.001354 0.001545 0.000007 -0.008195
2010-03-05 -0.001578 0.008796 -0.000164 0.015955
И следующие веса для каждого символа:
df3
Out[4]:
Symbol Weight
0 OGDC 0.182022
1 WTI 0.534814
2 FX 0.131243
3 PIB 0.151921
Я пытаюсь получить взвешенную доходность за каждый день и пробовал:
port_ret = ret.dot(df3)
но я получаю следующее сообщение об ошибке:
ValueError: matrices are not aligned
Моя цель состоит в том, чтобы получить взвешенную доходность для каждой даты, например, 2010-03-02 будет выглядеть следующим образом:
weighted_ret = 0.000443*.131243+.006928*.182022+0.000*0.151921+0.012375*.534814 = 0.007937512
Я не уверен, почему я получаю эту ошибку, но был бы очень рад альтернативному решению взвешенной доходности.