【发布时间】:2020-11-15 19:36:18
【问题描述】:
我正在尝试遍历股票列表以通过线性回归获得系数。我得到以下信息(见图)。如果我尝试在没有 for 循环的情况下应用代码,那么当我单独输入列表的代码时,我会得到结果 (见图)
【问题讨论】:
标签: python loops linear-regression finance quantitative-finance
我正在尝试遍历股票列表以通过线性回归获得系数。我得到以下信息(见图)。如果我尝试在没有 for 循环的情况下应用代码,那么当我单独输入列表的代码时,我会得到结果 (见图)
【问题讨论】:
标签: python loops linear-regression finance quantitative-finance
您需要使用for 循环使用以下语法遍历列表tickers:
for ticker in tickers:
# Do something here
pass
这将在每次迭代时从列表中返回字符串元素,因此在第一次迭代时ticker 的值将设置为'AAPL'。然后,您可以将其传递给字符串连接以执行 OLS 回归。
我已从图像中复制了您的代码,以便您更轻松地使用并尝试编写功能版本。
tickers = ['AAPL', 'AMGN'] # Use your full list instead here
results_list = [] # Initialise list to store results
for ticker in tickers:
model = smf.ols(ticker + '~+DJIA', data=df) # run OLS on stock
results_list.append(model.fit(cov_type='HAC', cov_kwds={'maxlags':5}))
for i, ticker in enumerate(tickers):
model = smf.ols(ticker + '~+DJIA', data=df)
results_list.append(model.fit(cov_type='HAC', cov_kwds={'maxlags':5}))
print(results_list[i].summary2()) # optionally print the results
请注意,如果没有输入数据和您的原始代码(以便于复制/粘贴),很难提供测试和有效的解决方案,但我希望以上内容能让您走上正轨。
【讨论】: