我正在尝试计算4个不同日期的S& P扇区的diff_chg(在start_return中给出):
start_return = [-30,-91,-182,-365]
for date in start_return:
diff_chg = closingprices[-1].divide(closingprices[date])
for i in sectors: #Sectors is XLK, XLY , etc
diff_chg[i] = diff_chg[sectordict[i]].mean() #finds the % chg of all sectors
diff_df = diff_chg.to_frame
我的预期输出是在df中有4列,每列有给定时期内每个扇区的回报(-30,-91,-182,-365。)。
截至目前,当我运行此代码时,它返回diff_df中所有4个句点的返回值之和。我希望它在每个时期的df中创建一个新列。
我的代码返回:
XLK 1.859907
XLI 1.477272
XLF 1.603589
XLE 1.415377
XLB 1.526237
但我希望它返回:
1mo (-30) 3mo (-61) 6mo (-182) 1yr (-365
XLK 1.086547 values here etc etc
XLI 1.0334
XLF 1.07342
XLE .97829
XLB 1.0281
答案 0 :(得分:0)
尝试这样的事情:
start_return = [-30,-91,-182,-365]
diff_chg = pd.DataFrame()
for date in start_return:
diff_chg[date] = closingprices[-1].divide(closingprices[date])
这样做可以将每个date in start_return
的列添加到开头创建的单个DataFrame
。