I decided to set fees to zero in my algorithm, and to my surprise, it changed the number of trades and insights that my algorithm made. In the attached backtest, you can see that there are 90 total trades with 101 insights. Now comment out line 21

# self.SetSecurityInitializer(lambda x: x.SetFeeModel(CustomFeeModel()))

and run the backtest again. Now the algorithm has made 102 total trades with 102 insights.

Is there any reason why setting fees to zero would change the total trades and insights that an algorithm would make? Also, why does setting fees to zero make my trades and insights diverge, but with fees the trades and insights are the same?

Author