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

今天看了陈老师给出来的几个策略代码,发现所有代码下面的内容都是一样的,
为何self.load_bar(10) 中的参数是10 而不是其他的数字? 这句话具体是有什么用?

def on_init(self):
"""策略初始化"""

    #注册
    self.write_log('策略初始化')
    self.load_bar(10)
Administrator
avatar
加入于:
帖子: 2152
声望: 99

load_bar,在回测时加载10个交易日数据用于初始化,实盘中加载10个自然日数据用于初始化。

10这个数字具体请根据你策略需要的数据量进行调整,一般10天已经戳戳有余,所以这么设计。

Member
avatar
加入于:
帖子: 51
声望: 1

谢谢! 如果我从2019年1月1日开始测试。这个load_bar是指的从数据库中往前数10天,也就是2018年12月21日开始load数据吗?

Administrator
avatar
加入于:
帖子: 2152
声望: 99

不是哦,是2019年1月1日开始的所有数据中,最前面的10天(大概2019年1月11日前的吧)

Member
avatar
加入于:
帖子: 51
声望: 1

谢谢啦!

Member
avatar
加入于:
帖子: 124
声望: 2

用Python的交易员 wrote:

load_bar,在回测时加载10个交易日数据用于初始化,实盘中加载10个自然日数据用于初始化。

10这个数字具体请根据你策略需要的数据量进行调整,一般10天已经戳戳有余,所以这么设计。

请问一下如果不用到历史数据,
这个设为0有没有问题?

Administrator
avatar
加入于:
帖子: 2152
声望: 99

常山之蛇 wrote:

用Python的交易员 wrote:

load_bar,在回测时加载10个交易日数据用于初始化,实盘中加载10个自然日数据用于初始化。

10这个数字具体请根据你策略需要的数据量进行调整,一般10天已经戳戳有余,所以这么设计。

请问一下如果不用到历史数据,
这个设为0有没有问题?

有问题,不能设置为0,初始化的时候同时回测引擎需要绑定行情回调函数

Member
avatar
加入于:
帖子: 124
声望: 2

用Python的交易员 wrote:

不是哦,是2019年1月1日开始的所有数据中,最前面的10天(大概2019年1月11日前的吧)

再请问一下,那实盘是怎么样的?

比如从2019年1月1日开始跑实盘,self.load_bar(10),它不会从2019年1月11日才开实交易吧?

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

常山之蛇 wrote:

用Python的交易员 wrote:

不是哦,是2019年1月1日开始的所有数据中,最前面的10天(大概2019年1月11日前的吧)

再请问一下,那实盘是怎么样的?

比如从2019年1月1日开始跑实盘,self.load_bar(10),它不会从2019年1月11日才开实交易吧?
应该是在跑实盘之前初始化就会下载前10个交易日的数据,不然初始化不成功,没法实盘。

Administrator
avatar
加入于:
帖子: 2152
声望: 99

常山之蛇 wrote:

用Python的交易员 wrote:

不是哦,是2019年1月1日开始的所有数据中,最前面的10天(大概2019年1月11日前的吧)

再请问一下,那实盘是怎么样的?

比如从2019年1月1日开始跑实盘,self.load_bar(10),它不会从2019年1月11日才开实交易吧?

如果没有准备历史数据,加载不到的话自然就没有回放了。那么策略中如果用到ArrayManager,则会因为数据不足无法完成初始化,然后on_bar里的逻辑判断就会阻止交易

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

请教这10天是必须连续的 还是可以间断呢?

Administrator
avatar
加入于:
帖子: 2152
声望: 99

回测中的10天是10个交易日,实盘中的10天是10个自然日。

所以加载数据尽可能多一点,避免节假日的影响。

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