0
python中是否有任何工具可以帮助我做到这一点。 R似乎有这么多包,似乎正在完成这一点。使用风险度量方法的EWMA协方差矩阵
python中是否有任何工具可以帮助我做到这一点。 R似乎有这么多包,似乎正在完成这一点。使用风险度量方法的EWMA协方差矩阵
在熊猫中使用ewm.cov
。您可以根据半衰期,跨度或质量中心计算平滑因子。
在熊猫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
谢谢布拉德。 ewma的递归是从数据框的第一行开始还是在最后一行?这对设置测试数据有影响 – schuler
从第一个位置开始。你想'.ewm(adjust = False)'(默认是'True')。您可能需要查看[docs](http://pandas.pydata.org/pandas-docs/stable/computation.html#exponentially-weighted-windows)以确保自己。 –