【发布时间】: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