测试一些股票收益的自相关性

时间:2018-05-21 03:50:04

标签: python pandas correlation

我想在股票收益数据集上进行自相关测试(比如说Durbin Watson)。特别是,我有一个季度股票回报的数据集,因此每个季度有1个观察值,代表该季度收益公告后的1天股票价格回报。最小的例子对于2个股票和3个季度看起来像这样:

data = [{'date': '3/22/18', 'return': 1},{'date': '3/22/18', 'return': 1}, 
{'date': '6/22/18', 'return': 3},{'date': '6/22/18', 'return': 3},
{'date': '9/22/18', 'return': 2},{'date': '9/22/18', 'return': 2}]
df = pd.DataFrame(data, index=['s1', 's2','s1','s2','s1','s2'])

        date  return
 s1  3/22/18       1
 s2  3/22/18       1
 s1  6/22/18       3
 s2  6/22/18       3
 s1  9/22/18       2
 s2  9/22/18       2

由于我有大量股票,我认为对每只股票单独进行测试可能是有意义的,然后有一系列与每只股票相关的DW测试统计数据。说这样的话:

  s1 0.453
  s2 1.593
  s3 3.453

我正在考虑使用:

statsmodels.stats.stattools.durbin_watson(resids,axis = 0)

但我不太清楚如何继续获得如上所述的那个阵列。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

按组使用DW测试的一种方法如下。 我正在重复使用您的数据生成过程,将系列添加为列,执行groupby并直接应用测试

import pytz
from datetime import datetime

est_tz = pytz.timezone('US/Eastern')
datetime.now(est_tz)

enter image description here