У меня есть следующее dataframe возвратовматрицы не выровнены сообщение об ошибке
ret
Out[3]:
Symbol FX OGDC PIB WTI
Date
2010-03-02 0.000443 0.006928 0.000000 0.
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.*.534814 = 0.007937512
Я не знаю, почему я получаю эту ошибку, но будет очень рад за альтернативное решение для взвешенного возврата
когда я бегу port_ret = RET [:, 1 :]. dot (df3 [1:]) Я получаю TypeError: unhashable type: 'slice' – John
Что возвращает 'shape (ret)' и 'shape (df3)'? Сначала я подумал, что это массивы numpy, но теперь я вижу, что это pandas – fulaphex
В [15] np.shape (df3) Out [15]: (4, 2) В [17] np.shape (ret) Out [17]: (4, 4) – John