vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 37
声望: 0

description
如图,布林带上下轨都不显示,请问是什么原因,用的两个模板策略,参数也都没改,求大神解答!

Member
avatar
加入于:
帖子: 2015
声望: 133

请问回测的时候print得出来东西吗

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

xiaohe wrote:

请问回测的时候print得出来东西吗

回测的时候全部都能打印出来,这个就是vnpy提供的 statistical_arbitrage_strategy

Member
avatar
加入于:
帖子: 2015
声望: 133

是不是历史数据不够初始化

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

xiaohe wrote:

是不是历史数据不够初始化

我再研究一下,看什么情况

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

xiaohe wrote:

是不是历史数据不够初始化
对于价差交易的StatisticalArbitrageStrategy策略,未经任何修改,直接套入hc2101和rb2101的价差,实验后发现就是self.am.inited不能为True, 但使用任意一个cta策略,历史数据是能够完成初始化的,所以也不是rqdata的问题,在on_init函数中,同样是使用的self.load_bar(10),cta策略可以初始化,而spread策略无法初始化。

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

今天做了一下实验,代码如下:

description

第3个分钟print的结果:

description

第n个分钟print的结果:

description

根据以上结果显示,self.am 不去拉取历史数据,而是在运行过程中积累实时数据作为初始化的数据。

Member
avatar
加入于:
帖子: 2015
声望: 133

arraymanager是储存传进来的数据进行指标计算的,拉取历史数据初始化是load_bar函数做的事情

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

xiaohe wrote:

arraymanager是储存传进来的数据进行指标计算的,拉取历史数据初始化是load_bar函数做的事情

那就是self.load_bar出现了问题,但是我的rqdata数据也没到期,在cta策略中能正常初始化,实在头大啊,不知道前辈有没有遇到过类似的问题,还请指教一下。

Member
avatar
加入于:
帖子: 2015
声望: 133

可以自己去vnpy.app.spread_trading.base里看一下load_bar_data函数,与cta不同,这里是没有写去rqdata拉数据的逻辑的,这里直接去数据库拉的,数据库没有的自然就找不到了

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

xiaohe wrote:

可以自己去vnpy.app.spread_trading.base里看一下load_bar_data函数,与cta不同,这里是没有写去rqdata拉数据的逻辑的,这里直接去数据库拉的,数据库没有的自然就找不到了
之前研究了一下load_bar_data,没看出个所以然,按照前辈所说的, 利用vnpy自带的数据管理模块更新数据以后,可以正常使用,感谢解答

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

沪公网安备 31011502017034号