I am not aware of any such service but simulating exchange behavior for backtest is very challenging given irregular order arrival and their impact and hidden orders. Even the paper trading service’s order execution is very simple and has limitations (if you send a limit order it will get filled by price-touch-limit and size is irrelevant). Even if you find some Execution Management Service to install locally you would still need data and a time series database to use them. Below are some considerations if you want to build your own tool.
A good order execution system should take into account market order, limit order, slippage, latency and calculating average fill price and size for both market and limit orders.
If a simplified option satisfies your needs, you can implement it by yourself. You would need historical order book data up to N level (snapshot or update both are fine). When you send a market order of a certain size you go down the orderbook and keep reducing size until the final size is zero. By doing so you can calculate the average fill price (weighted by size at that price) and slippage. When you send a limit order, you can check if a better fill is available or not. If yes then you can proceed like market order but the tricky part is when you reach limit price and remaining size is greater than zero (You can assume fill or partial-fill). Depending on granularity of your order book data you can implement some logic to take latency into account.
[EDIT]
For advanced use cases you can refer to following open source repo:
https://github.com/exchange-core/exchange-core