python中是否有任何工具可以帮助我做到这一点。 R似乎有这么多包似乎正在实现这一点。
答案 0 :(得分:3)
在pandas中使用ewm.cov
。您可以根据半衰期,跨度或质心来specify平滑因子。
在pandas 0.19中,结果是一个Panel。在pandas 0.20中,您将获得MultiIndex DataFrame,因为不推荐使用Panel。
df = pd.DataFrame(np.random.randn(1000, 3))
covs = df.ewm(span=60).cov()
covs[3] # covariance matrix as of period 4; could be DatetimeIndex
Out[7]:
0 1 2
0 0.48489 0.12341 -0.41335
1 0.12341 0.59947 -0.18762
2 -0.41335 -0.18762 0.67513