我相信这很简单,但作为python的新手,我很难理解如何在pandasdataframe中迭代变量并对每个变量运行回归
以下是我正在做的:
all_data={}
对于['FIUIX'、'FSAIX'、'FSAVX'、'FSTMX'中的股票代码:
all_data[ticker]=web.get_data_yahoo(ticker'1/1/2010'、'1/1/2015')
prices=DataFrame({tic:data['Adj Close']表示tic,数据位于all_data.iteritems()})
返回=价格。pct_变化()
我知道我可以运行这样的回归:
regs=sm.OLS(returns.FIUIX,returns.FSTMX).fit()
但是假设我想对数据帧中的每一列执行此操作。特别是,我想在FSTMX上回归FIUIX,然后在FSTMX上回归FSAIX,然后在FSTMX上回归FSAVX。每次回归后,我都要存储残差
我尝试了以下各种版本,但一定是语法错误:
resids={}
对于返回的k.keys():
reg=sm.OLS(返回[k],返回.FSTMX).fit()
剩余[k]=注册剩余
我认为问题在于我不知道如何按键引用returns列,因此returns[k]可能是错误的
如果您能提供任何关于最佳方法的指导,我们将不胜感激。也许我错过了一个共同的方法
df中的列的
:
打印(df[列])