2
我有一個python DataFrame包含一些財務數據,我試圖創建一些技術指標。我想弄清楚如何使用移動窗口函數來加速過程,而不是逐個元素。對於每個索引,我想返回最近30天的最大索引。我已經實現了一個元素的元素的解決方案,但你可以想象它是非常慢。在python中滾動idxmax()?
for s_sym in ls_symbols:
for i in range(refresh, len(ldt_timestamps)):
#Aroon-Up = ((period - Days Since High)/period) x 100 Aroon-Down = ((period - Days Since Low)/peiod) x 100'''
whrmax = df_close[s_sym].ix[ldt_timestamps[i-uplen:i]].idxmax()
maxaway = (df_close[s_sym].ix[whrmax : ldt_timestamps[i-1]]).count()
aroonup = ((uplen - maxaway)/uplen) * 100
whrmin = df_close[s_sym].ix[ldt_timestamps[i-dnlen:i]].idxmin()
minaway = df_close[s_sym].ix[whrmin : ldt_timestamps[i-1]].count()
aroondn = ((dnlen - minaway)/dnlen) * 100
如何創建自定義滾動窗口功能?
這個工作完美,我不相信它是如此簡單..我想要索引來計算從高/低的百分比範圍。 – 2013-04-23 01:21:14
這很有幫助。 @Jeff,我正在做類似的事情,idxmax/min以及max/min對於確定止損在利潤目標之前是否有效很有用。 – jxstanford 2015-07-19 23:31:23