1、问题

集合竞价数据算不算一个bar?是应该单独作为一个bar,还是将这个数据纳入到开盘第一根bar数据中?同花顺和通达信的处理方式竟然是不一样的,那到底选哪个好?

2、调研

集合竞价算不算一个bar的问题主要存在于1分钟周期,其他周期中均不存在集合竞价bar;

在同花顺的1分钟周期中,集合竞价是单独作为一根bar的,如下图:

而在通达信的1分钟周期中,集合竞价并没有作为一根bar,如下图:

而在掘金量化平台中,如果订阅1分钟数据,当天最早是在09:31才能收到数据推送,也就是说掘金的模式跟通达信的模式一样,集合竞价数据是包好在09:30~09:31的分钟bar里边的。

3、分析

差一根bar,对于指标的计算其实差别挺大的。那采取哪一种方式,就取决于你平常用哪个平台。

如果你平常是用的通达信看盘,那就不用特殊处理;如果平常用同花顺来看盘,且策略中有用到1分钟bar数据,那就需要进行调整了。

判断条件是获取的数据是1分钟bar数据,且获取的数据中存在‘09:31’这个时间段。

4、代码


# 1分钟频下,判断最近K线是否需要包含集合竞价数据
if bars[0]['frequency']=='60s' and time(9,31,0) in list(data['time'].iloc[-3:]):
    data = pd.concat([data,pd.DataFrame({'eob':eob.date(),'symbol':symbol,'open':context.call_data[symbol]['open'],'amount':context.call_data[symbol]['amount'],
                        'volume':context.call_data[symbol]['volume'],'time':time(9,30,0)},index=[0])])
    data.sort_values(by=['eob','time'],inplace=True)

看下输出结果:

OK,完美解决~

PS:策略代写/掘金研学会员优惠价,可以找我,有优惠~

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐