You might think a strategies like short call spreads and long call spreads should have equal and opposite returns given the same trading rules. That would be true except that ORATS considers commission and slippage in our Backtester.
Take these VXX examples: Long call spread and short call spread with the exact same days to expiration and strike selection deltas. Returns are -9.23% for the long and 3.51% for the short. Combining these two using the function in the backtester we get an annual return of -5.72%. Why is that?
Download the trades file for both strategies and see that the average slippage per trade (the absolute value of the trade price of the long - short) is $0.10 and commission is $0.02 for the two leg spread held to expiration. Doing some math: the average days to expiration is 30 so there are 12 trades per year; the average price of the underlying stock is $26 and =(0.12*12)/26 = 5.5% ~ the difference in returns of return of -5.72%.
That is a big difference, something to consider when trading: Try to minimize your slippage and commission. With none of these assumptions, you might expect the returns from a long call spread and short call spread to be equal in absolute value, like the long call spread returning -6.37% annualized and the short makes 6.37%. However, due to commissions and slippage, each strategy does worse by about 2.86%, with the long call spread losing -9.23% and the short call spread making only 3.51%.
We do have fixed slippage as sited in the post: https://docs.orats.io/backtest-api-guide/backtester-methodology.html#slippage
For a 2 leg strategy as here we assume a slippage of 66%, or traveling 66% of the bid-ask spread to trade. This amount is consistent whether buying or selling the call spread.
Our entry and exit methodology uses a snapshot of the entire options market 14-minutes before the close each trading day back to 2007. We use actual bid-ask quotes to simulate the trades.