2013-03-08 7 views
8

팬더 DataFrame에서 리턴, 롤링 베타 및 롤링 알파의 시계열을가집니다. DataFrame의 알파 열에 대한 연간 연 환 알파를 어떻게 계산합니까? (나는 제품 = 등가 (1+하고 싶은 [후행 12개월]) - 1 엑셀에서)Pandas DataFrame에서 롤링 누적 제품을 계산하는 방법

나는이에 대한 팬더에 내장에는 "롤링"기능이 없다는 것을보고 놀랐습니다
  SPX Index BBOEGEUS Index Beta  Alpha 
2006-07-31 0.005086 0.001910 1.177977 -0.004081 
2006-08-31 0.021274 0.028854 1.167670 0.004012 
2006-09-30 0.024566 0.009769 1.101618 -0.017293 
2006-10-31 0.031508 0.030692 1.060355 -0.002717 
2006-11-30 0.016467 0.031720 1.127585 0.013153 

, 하지만 누군가가 pd.rolling_apply를 사용하여 df [ 'Alpha'] 열에 적용 할 수있는 함수를 도울 수 있기를 바랬습니다.

미리 도움을 주셔서 감사합니다.

답변

15

이렇게하면 되나요?

import pandas as pd 
import numpy as np 

# your DataFrame; df = ... 

pd.rolling_apply(df, 12, lambda x: np.prod(1 + x) - 1) 
관련 문제