vn.py官网
你的开源社区量化交易平台
Member
加入于:
帖子: 4
声望: 0

操作系统:Windows Server 2019
Python:3.7.1
Vn.py框架:2.6.0
已经购买到了米筐rqdata的商品期货数据服务

想要过滤掉商品期货涨跌停板时无法开仓的情况,所以要取到期货品种当天的涨跌停板的价格。
如果是通过米筐rqdata获取涨跌停板价格,我查看了米筐rqdata的帮助文档,如果在晚上21:00前启动vn.py,get_price()函数取到的limit_up和limit_down是不是 是当天下午15:00收盘的那天的涨跌停板价格,而不是21:00开始交易的新的一天的涨跌停板价?而且只能从期货日线数据中取这两个值,如何在开盘前取到当天的涨跌停板价呢?
如果我想通过rqdata获取交易日当天的涨跌停板价格来过滤不能开仓的情况,究竟该在策略的哪个回调函数中写入怎样一段代码,才能实现这个功能呢?是不是在on_init(self)函数中的self.load_bar(10)语句的后面写入呢?load_bar函数取到的数据里似乎是没有limit_up和limit_donw的,要如何才能取到这两个值?是不是要取昨日结算价(prev_settlement)来自行计算呢?

description

另外,我查看了vnpy的代码,BarData类型是没有limit_up、limit_down属性的,只有TickData类型有limit_up、limit_down属性,如果无法从rqdata获得当天的涨跌停板价,是否应该从vnpy的tick数据获取呢?比如写在on_tick()函数里,但是这样每个tick都要进行一次赋值,是不是对程序性能有很大的影响啊?

description

Administrator
avatar
加入于:
帖子: 4467
声望: 302
  1. 实盘中可以通过on_tick获取,这点更新开销很小,不存在性能问题
  2. 回测中比较麻烦,目前K线数据都是没有涨跌停价格的,要有TICK数据才能精确模拟了
© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号