在股票量化交易项目中把30分钟线用数据库记录下来,并对其中的一些指标进行计算后做了一些标识,例如上行1,上行转折99,下行-1,下行转折-99,需要flag_07转折前有足够的下行空间,另外flag_08和flag_09在flag_07转折前后一周期内也发生转折,用dataframe可以轻松的完成这样的判断(办法有点土,勿喷)。

df['flag_07s'] = df['flag_07'].rolling(window=9).sum()-df['flag_07']
df['flag_08s'] = df['flag_08'].rolling(window=3,center=True,min_periods=2 ).sum()
df['flag_09s'] = df['flag_09'].rolling(window=3,center=True,min_periods=2 ).sum()
如上代码分别生成flag_07s、flag_08s、flag_09s列,目标行为2024-10-11 10:00,计算得flag_07之前8个周期和为-8,flag_08和flag_09该行及前后各一行的三行和均为-99,即这三行内肯定有-99的元素(值小于等于-97即可),因此通过判断flag_07s、flag_08s、flag_09s三个值就能达成。
转一下dataframe.rolling的参数说明
DataFrame.rolling(window,
min_periods = None,
center = False,
win_type = None,
on = None,

最低0.47元/天 解锁文章
532

被折叠的 条评论
为什么被折叠?



