回测的时候和真实的交易情况有差别。不论回测设置的有多好,在真实的交易情况下,滑点是可能存在的。这就意味着,如果我们直接用成交价格,可能导致我们回测时候成交和实际交易的时候成交不一致。
现在的backtrader版本支持slippage,下面的一些参数可以传递给broker:
slip_perc
(默认:0.0
) 按照价格的比例计算滑点,如0.01代表1%,0.001代表0.1%slip_fixed
(默认:0.0
) 固定的数字,当买入的时候,成交价格上涨,卖出的时候成交价下跌;如果slip_perc不为0,将按照slip_perc计算。slip_open
(默认:False
) 是否使用下个bar的开盘价来计算滑点slip_match
(默认:True
) :如果设置成True,broker将会把最终的成交价设置成最高价或者最低价,如果理论的成交价格超过最高价或者最低价。(我自己的理解)。如果是False,这个bar将不会成交,到下个bar看能否成交。slip_limit
(默认:True
):限价单,即使是slip_match设置成了False,也会成交。如果设置成True,将会成交。如果设置成Fals