【问题标题】:How loop through list for regression?如何遍历列表进行回归?
【发布时间】:2020-11-15 19:36:18
【问题描述】:

我正在尝试遍历股票列表以通过线性回归获得系数。我得到以下信息(见图)。如果我尝试在没有 for 循环的情况下应用代码,那么当我单独输入列表的代码时,我会得到结果 (见图)

enter image description here

enter image description here

【问题讨论】:

    标签: python loops linear-regression finance quantitative-finance


    【解决方案1】:

    您需要使用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 
    

    请注意,如果没有输入数据和您的原始代码(以便于复制/粘贴),很难提供测试和有效的解决方案,但我希望以上内容能让您走上正轨。

    【讨论】:

      猜你喜欢
      • 2021-05-12
      • 2019-08-03
      • 2018-06-10
      • 1970-01-01
      • 2013-07-13
      • 2016-04-30
      • 2014-03-01
      • 2012-03-27
      • 1970-01-01
      相关资源
      最近更新 更多