Hi, Has anyone done recent comparison how realistic the fills simulated in IBKR paper trading are vs real live trading fills? I'm more specifically trading US stocks with market orders using IB smart routing if that makes a difference. Quite often my orders are filled within few seconds in the paper trading account (usually at the worst price within the same 5sec bar the order was initiated) but can also sometimes take several minutes, so I assume there's some type of real simulation going trying to mimic real fills. If the paper trading fill simulation is realistic, it would be also interesting to know some details how this is simulated, in order to have better fill estimates during backtesting.
In the last 12 years that I have been in sales, I have seen a fair number of nascent managers trying to build a track record using back testing and paper trading accounts. I have never, and I mean never, seen real returns later from real trading that comes close. Even a systematic system does not include the market impact your your own orders. For non-systematic trading, paper trading ignores fear and greed.
That's not what I'm asking. I'm asking how realistic the paper trading fills simulated by IBKR are. The market impact of retail trader orders is irrelevant. This can be tested by running the same systematic trader simultaneously on paper and live trading accounts and I'm wondering if someone has done that recently.
I don't understand how a market order could possibly take several minutes to be filled in the real word. That goes against the very definition of "immediate fill". Sounds like IBKR's sim engine went a little overboard.
https://www.ibkrguides.com/clientportal/aboutpapertradingaccounts.htm 4th item down and second item in limitations. So the answer is NO in several ways. Not hitting the exchange is a real issue. Top of book is a "magic fill" because you jump to the front of the line. Perhaps it is a good simulation for a market maker or a HFT next to the exchange AND has a time machine to go back in time when there were no other order in the que. The delays are probably random and not any "simulation", so another "no". You are better off doing limit orders that are immediately marketable. e.g. a buy at Ask + the spread. That way your system eats 2x the spread a lot of times. If you are still profitable then it is worth pursuing. But frankly if the system is so "fill sensitive" it is probably time to move to another system, given you have a bunch of infrastructure setup already. BTW: Market orders are not immediate fill by definition. Never have been and never will be. The NASDAQ site for instance has a lot information on how the order engines work. Read up about them. Everything has to go through the order matching engines. There is a lot going on. I once had an ES MKT order take 20 minutes after Lehman Bros implosion.
Yeah, not sure what's going on. I see this occasionally happening when submitting a batch of ~15 orders at the beginning of the day (~9:31 or so) when the market is very volatile. Most of the orders gets filled fast but few may linger for several minutes even when there's volume showing for the stock. And uptick rule isn't in effect either, so that's not the reason.
I definitely need to improve the order execution and that's on the todo for my trading system. I'm using market orders current to ensure the orders get (eventually) filled. Even when the paper orders are not executed at the exchange (obviously) the fills can be simulated for the better fill estimation. I believe IB uses something a bit more sophisticated for slippage modeling than random delays
The biggest factor is liquidity. This is especially true if you are using market/OPG orders at the open. I only trade a few very active and liquid instruments, and the fills in paper and live are often very close at IB. But anything with a spread is going to be problematic, and you can't project your paper trading into a live environment.
As regards the actual mechanics of how IB handles fills in paper trading, I don't know because I've never asked. But its a very good question. If you follow up with them, let us know the result.
I've done extensive analysis on how IB paper trading environment is filling orders (on Futures trading instruments). I've used IQFeed real time market data. Limit orders are ALWAYS put at the end of the queue. So it means that it simulates the worst case. Example: Market is .20 -.25 You put a limit order to buy @ .20 Your order will gets filled when the market will change to .15 - .20 Market orders are filled right away at the opposite price side. IB have a bug when there are partial fills. The first fill price is ok, but subsequent prices are sometimes way off (if not always), like 3.5 points for the ES. The workaround is to always use a quantity of 1 (I trade future). Of course, orders have no impact on the market. If you trade low volume on a liquid trading instrument, it shouldn't be a big deal.