Slippage - Paper Trading vs. Real Trading

I’m finalizing a strategy whose profits (success) all depend on how ‘bad’ slippage is (the difference between a buy order ASK and what it actually gets filled at).

  1. Does anyone know just how accurate the slippage is on paper trading vs. real trading?

  2. Is it safe to assume that it will always be ‘worse’ in real trading than in paper trading?

  3. Are there any techniques you guys implement to mitigate ‘slippage’?

I’m thinking my only solution is to re-think the strategy and make my buys all limit orders (as opposed to stop orders) but very curious if anyone has experience with this.


You will always have slippage, the question you should be able to answer is how much slippage you can deal with. If you want to avoid slippage i would definitely recommend using limit orders.

Where possible I always try to use limit orders. In the past I have experienced some very bad slippage from market orders. For most stocks, a limit order will guard against slippage, but it will still probably get filled relatively quickly.

Hey @Juan_Rousselot

  1. We aim for the paper and live trading environments to be equivalent, however, the environments are not always the same. Therefore the slippage portrayed in the paper trading environment is not entirely reflective of what might occur in the live trading environment. Here is additional information
  2. When orders are eligible to be filled (in paper-trading), they will receive partial fills for a random size 10% of the time( See above link). Depending on the liquidity/order size/order type of the asset you are trading the differences might be in or against your favor.
  3. I know Quantopian had some slippage models in their documentation. Perhaps you can use these as a jumping point.

Please let me know if you have any additional questions,

Looks like I will most likely switch over to limit orders for my buys.

But hypothetically speaking, would looking at the level 2 be a viable strategy in preventing slippage? Looking to see if there are enough orders to ‘cushion’ a market order (and if not, either don’t buy or switch to a limit)

No, level 2 will not likely help in preventing slippage. Level 2 addresses the depth of the market if you are getting slippage due to lack of liquidity - are you trading larger than the liquidity provided by the top bid/ask for your market? If you’re trading small, level 2 will not help.

Switching from MKT to LMT orders will get you better fills along with plenty of potential NO FILLS - of course, NO FILLS will happen for those fast run-way markets when you’d prefer to pay for slippage just to be in the market. With LMTs you will also guaranteed to be filled when the market moves against you (by definition, when an opposite MKT order lifts/hits your LMT order).

This is why HFT firms spend millions on low latency hardware and location.

For us small traders, most slippage comes from network latency and hidden dark pools (intermediate liquidity providers, which we can’t do anything about without direct market access, but then you have to pay commissions).

So do be extra careful if your algorithm is extra sensitive to slippage - you are essentially competing with HFT firms - which can be very costly if your setup isn’t up to par.