【问题标题】:Printing Beta(Coef) alone from statsmodels OLS regression从statsmodels OLS回归单独打印Beta(Coef)
【发布时间】:2016-12-29 06:00:06
【问题描述】:

我正在使用 statsmodels 对两只股票的时间序列数据运行线性回归函数。在使用“摘要”打印结果时,我的代码工作正常。但是我只想打印两只股票的 beta(coef)。我尝试在行中使用“params”而不是“summary”,但我不断收到错误消息:

"TypeError: 'numpy.ndarray' 对象不可调用"

我知道这是一个非常基本的错误,但我对编码很陌生。任何建议将不胜感激。

下面是我的代码:

import pandas as pd
import statsmodels.api as sm
from scipy.stats.mstats import zscore

df = pd.read_excel('C:\\Users\Sai\Desktop\DF.xlsx')

x = df[['Stock A']]
y = df[['Stock B']]

model = sm.OLS(zscore(x), zscore(y))
results = model.fit()
print(results.params())

这是我不断收到的错误消息:

"C:\Program Files\Python35-32\python.exe" C:/Users/Sai/Desktop/Quantstart.py
Traceback (most recent call last):
  File "C:/Users/Sai/Desktop/Quantstart.py", line 13, in <module>
    print(results.params())
TypeError: 'numpy.ndarray' object is not callable

【问题讨论】:

  • statsmodels.sourceforge.net/0.5.0/generated/… 根据该链接中示例中的用法(以及您收到的错误消息),它应该是results.params,不带括号
  • 感谢拉菲克斯洛斯!捂脸这么用力... :)
  • Lafexlos,我还有一个问题。我正在尝试复制代码来回测策略,作者在 pandas (0.12.0) 中使用 OLS。但是,我在 statsmodels 中运行它,因为我觉得它更合适。但是,pandas 中的代码包含 'Lookback' 参数来调整回归中的观察次数。而且我不知道 statsmodels 的 OLS 中关于“回溯”的论点。是否有特定的论据来调整回归中的回溯期?
  • 我真的不知道。对不起。如果您认为您已经进行了足够的研究并创建了一个minimal reproducible example,那么您最好提出一个问题。

标签: python-3.x numpy time-series linear-regression statsmodels


【解决方案1】:

使用下面的代码

results.params

而不是

results.params()

它会正常工作。

【讨论】:

    猜你喜欢
    • 2018-01-01
    • 2014-03-30
    • 2015-10-10
    • 2015-12-31
    • 1970-01-01
    • 2014-02-09
    • 2016-05-03
    • 2014-12-19
    • 2017-07-04
    相关资源
    最近更新 更多