For Loop:不能将序列乘以'float

时间:2017-09-06 13:43:00

标签: python python-3.x

我正在尝试使用以下代码来获取一组投资组合(全部包含在工作表名称中):每种单一资产策略的绩效和总回报。为此,我试图将每个i投资组合(Data [i])的每日权重乘以相关指数的每日资产表现 - 两个矩阵都是250行x 47列

我无法解决错误“无法将序列乘以'int'类型的非int”。我确实理解我试图用浮点数来增加字典,但是我试图在每次迭代中更改数组中的字典,但是它没有用。

Perf={}
Total_Perf={}

for i in sheetnames:
   Perf[i]=Data[i]*TAA_Indices_Returns
   Perf[i]=((1+Perf[i]).cumprod()-1)*100
   Total_Perf[i]=DataFrame(((1+Perf[i].sum(axis=1)).cumprod()-1)*100,columns={'TAA Total Perf'})

我有大约40个不同的投资组合,并希望找到一种更优雅的方式,而不是编写40行代码。

任何形式的帮助都将受到高度赞赏!

非常感谢,

亚瑟

0 个答案:

没有答案