self.am = ArrayManager(10)
请教一下,我现在回测一个策略,里面用到rsi指标(用的是vnpy自带的用talib生成的rsi指标)。现在发现:self.am的初始化长度,对回测结果影响很大。
原因我理解是:
- talib的rsi指标是路径依赖的,初始化长度,会影响回测期间的rsi指标值(虽然大致会差不多,但在用rsi指标突破阈值作为开平仓的时候还是影响比较明显);
- 我的策略里还带了一些浮动止盈的机制。这样初始化时间长度不一样,会导致回测的初始持仓不同。然后浮动止盈机制又会导致后续持仓都不一样。比如都是从2022/1/1开始回测,preload 5天和20天,会生成不同的2022/1/21的持仓(因为preload 5天的情况下,1/21可能已经止盈了,但preload 20天的时候,只是刚刚开始判断是否开仓)。
所以想请教一下,怎么解决这个初始化长度不同产生的回测影响?
(或者说,如果不好解决的话,是不是意味着这种策略的稳定性本身就不行?)
谢谢