2017-06-15 3 views

Antwort

2

Verwenden Sie ewm.cov in Pandas. Sie können specify den Glättungsfaktor in Bezug auf Halbwertszeit, Span oder Massenschwerpunkt angeben.

In Pandas 0,19 ist das Ergebnis ein Panel. In Pandas 0,20 erhalten Sie einen MultiIndex DataFrame, da Panel veraltet ist.

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

Dank brad. Beginnt die Rekursion von ewma in der obersten Zeile des Datenrahmens oder unten. Dies wirkt sich auf das Zurücksetzen der Testdaten aus. – schuler

+0

Beginnt an der ersten Position. Sie möchten '.ewm (adjust = False)' (der Standardwert ist 'True'). Sie können sich die [docs] (http://pandas.pydata.org/pandas-docs/stable/computation.html#exponential-weighted-windows) ansehen, um sich selbst zu überzeugen. –