VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 17
声望: 0

on_init 时候调用了self.load_bar(10), 这是调用了前10天的一分钟数据, 然后给on_bar 再合成bardata的意思是吧。 我看API定义缺省是一分钟 Interval.MINUTE。

问题1 就是如果我现在 self.load_bar(10, Interval.HOUR) self.load_bar(10, Interval.DAILY),那就是把前10天的1H,1Dload进来,是吧 10天的1H 装进来 充其量也就是60根K线数据是吧,。

问题2 那么我合成BarGenerator 到底是用一分钟的数据和合成我想要的 bar, 是这么按照1H, 1D load进来的bar已经装在好了,BarGenerator 也是可以设置成 5分钟 15分钟, 1H, 2H 4H的 。BarGenerator 是用1分钟 数据 再次合成 5分, 15分, 1H, 1D. 其实如果是1D 完全可以用历史数据, 第二天开盘时候再下单, 但是大多数是平昨单 便宜, 我想在BarGenerator 传end进去 提前1-5分钟 合成好日线, 然后在当日最后的1-5分钟内下单。实现这样的盘中自动化, 而不是收盘以后拿到日线数据再去跑策略,等第二天 开盘以后再开仓。 当日拿盘中数据 只有使用on_tick 更新on_bar 这样实现比较方便, 要不我使用爬虫爬当日的数据 完成我当日提前几分钟形成K线的策略。 这个时候我load_bar 是用分钟,还是Daily.

问题3 load_bar 没有正确完成 on_bar中的am.inited 是不会初始化成功的是吧? 假如load_bar 使用分钟, 但是我的数据源datafeed, 数据库 都没有1分钟数据,是不是要从当日tick数据中积攒到一定量的分钟数据才会am.inited 初始化成功, 后面的on_bar 合成bar 才能正常, 策略 变成运行状态。。 否则 就是都没有1分钟数据提供 刚打开 启动程序, 策略 是不会有任何成交的吧, 一定要等load足够数量的K线。

问题4,load_bar(30), load30天前的数据 , 对于相当一份主力合约(单月的 每个月都有的)这种合约,几乎是不能load 30天的, 它一个月最多就是22根日线, 我理解是不是正确的。

Member
avatar
加入于:
帖子: 1472
声望: 105

实盘中通常是加载1分钟历史数据,不会去用其他时间周期的数据。

API层面提供了灵活性是给一些没有1分钟的回测场景使用的。

Member
avatar
加入于:
帖子: 17
声望: 0

我使用了datarecord, 行情录制 ,先把1分钟的录下来,存本地数据中。 然后每个合约更新的时候 我在更新数据库 变成类似的主连合约, 就有长期的记录了。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】