反映一个问题:同一个策略,在同一周期内回测,任何条件都不变,会有两个回测结果。反复测试后发现,两个回测结果是随机交替出现的。

仔细观察,发现区别是这样产生的。比如回测时间为200714-2018720日,调仓周期为20日。在第一种情况下,第一次调仓日期为200722日,这是对的,程序保证从初始日期开始,每个调仓周期都是20个交易日(200714-200722日)。而在第二种情况下,第一次调仓日期为2007117日,这是错误的(调仓周期不足20日),程序应该是保证了最近一次调仓周期为20日(2018622-2018720日),然后往前倒退,结果使得初始调仓周期不足20日。

看看能否解决这个问题,保证回测结果的准确性。