Backtrader(二十三)- 多股票回测

多数据策略跌代表详解

场景:有多个相同时间粒度的股票数据参与策略,不同股票数据时间并不一致

             日期     开盘     收盘     最高     最低     成交量          成交额     振幅  \
0    2020-12-22  38.44  33.67  38.44  32.96   89625  582730960.0  31.08   
1    2020-12-23  30.11  29.91  32.33  28.11   69495  371508160.0  12.53    
..          ...    ...    ...    ...    ...     ...          ...    ...    
268  2022-01-27  22.19  26.46  26.46  19.40  170094  401386096.0  32.02   
269  2022-01-28  25.18  31.75  31.75  24.80  231780  667065776.0  26.27  
              日期     开盘     收盘     最高     最低     成交量          成交额     振幅  \
0     2011-08-03  10.23  10.51  10.56   9.93   71465  313417139.0  11.43   
1     2011-08-04  10.28  10.51  11.41  10.19   51287  236224255.0  11.61   
2     2011-08-05   9.85   9.88  10.26   9.44   29797  126299472.0   7.80     
...          ...    ...    ...    ...    ...     ...          ...    ...      
2428  2022-01-26  14.59  15.91  16.92  14.59  517903  840837280.0  16.52   
2429  2022-01-27  15.12  13.01  15.20  13.01  395628  558582736.0  13.76   
2430  2022-01-28  13.51  15.61  15.61  13.18  331606  498365328.0  18.68

数据最小日期:数据最小期的bar对应的日期。这里第一份数据的最小日期是:2020-12-22,第二份数据的最小日期是:2011-08-03

策略最小日期:策略最小日期是个数据中最大的数据最小日期。在上面这两份数据中是 2020-12-22。backtrader会从策略最小日期开始进行next方法。

图1
Backtrader(二十三)- 多股票回测_第1张图片注意:当第一份数据未到达策略最小日期,它的长度将一直为0,且数据取数据的最后一条
Backtrader(二十三)- 多股票回测_第2张图片

注意2:

图1,策略最小日期开始进行next方法,那么策略最小周期之前的数据就浪费了,可以通过在 prenext 中跳转 next 避免

    def prenext(self):
        self.next()

你可能感兴趣的:(量化,python)