2017-06-15 181 views

回答

2

在熊貓中使用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 
+0

謝謝布拉德。 ewma的遞歸是從數據框的第一行開始還是在最後一行?這對設置測試數據有影響 – schuler

+0

從第一個位置開始。你想'.ewm(adjust = False)'(默認是'True')。您可能需要查看[docs](http://pandas.pydata.org/pandas-docs/stable/computation.html#exponentially-weighted-windows)以確保自己。 –