假设我所有信号中最长的周期是20天,那么把AM的size设置为比20略大,比如25就应该能满足我所有信号计算的要求了。可是在进行回测发现,第一个交易日的日期是>=(回测初始日+load_bars天数)的。
看了下代码发现,回测引擎中,只有当把load_bars的天数全部走完,才会设置strategy.inited以及trategy.trading为true,然后才会进行订单的撮合。那么有几个问题想请教下:
- 这样的逻辑里,是否load_bars的天数和am size的天数同时进行检查,逻辑重合了呢?best practice是什么呢,把AM size和loadbars天数设置为一样吗?
- 我发现load_bars的日期是从回测期间的第一天作为开始日期的,而非之前理解的 回测起始日 - load_bars的日期(也就是说,加载回测起始日前x天作为信号生成)。这符合预期吗?
- 问题1只出现在回测吗,实盘是否也是一样的逻辑呢?
提前感谢解答