我在Python中使用Pandas编写了以下代码:
all_data = {}
for ticker in ['FIUIX', 'FSAIX', 'FSAVX', 'FSTMX']:
all_data[ticker] = web.get_data_yahoo(ticker, '1/1/2010', '1/1/2015')
prices = DataFrame({tic: data['Adj Close'] for tic, data in all_data.iteritems()})
returns = prices.pct_change()
我知道我可以像这样进行回归:
regs = sm.OLS(returns.FIUIX,returns.FSTMX).fit()
但是我如何为数据框架中的每一列做到这一点呢?具体来说,我如何遍历列,以便在每个列上运行回归?
具体来说,我想在FSTMX上回归彼此的股票代码(FIUIX, FSAIX和FSAVX),并存储每次回归的残差。
我尝试过以下几种方法,但没有一种能达到预期的效果:
resids = {}
for k in returns.keys():
reg = sm.OLS(returns[k],returns.FSTMX).fit()
resids[k] = reg.resid
代码的返回[k]部分有问题吗?如何使用k值访问列?或者还有更简单的方法吗?