kernc/backtesting.py

Apply half-spread and commission on both open/close trade

Open

#1,335 opened on Dec 8, 2025

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Python (863 forks)batch import
bughelp wanted

Repository metrics

Stars
 (4,387 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Enhancement description

Hi,

Full spread is currently applied to buy price on trade open and open+close commission only on trade close. This doesn't reflect real life and affects backtesting stop loss/trailing stop loss trigger level. Also,, I'm using trade.pl_pct for trailing stop loss calculation and I have to subtract commission manually. It also leads to bad optimization.

The situation should be :

  • trade open: apply half-spread on buy price and also apply commission
  • trade close: apply half-spread on sell price and also apply commission

Thanks a lot!

Code sample

Additional info, images

No response

Contributor guide