我有一个 python DataFrame,其中包含一些我正在尝试为其创建一些技术指标的财务数据。我试图弄清楚如何使用移动窗口函数来加快进程,而不是逐个元素地进行。对于每个索引,我想返回过去 30 天的最大索引。我已经实现了一个元素一个元素的解决方案,但是你可以想象它非常慢。
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
如何创建自定义滚动窗口函数?