IBKR Paper Account Fill Issue via API

Discussion in 'Interactive Brokers' started by Maverick2608, Aug 6, 2025 at 4:09 AM.

  1. When using the IBKR paper account through the API, limit orders are sometimes filled at better prices than the limit—something that almost never happens in live trading. This doesn't seem to occur when trading via TWS's paper account, so it appears specific to API-generated orders.

    While some level of inaccuracy is expected in a simulated environment, this particular flaw results in unrealistically favorable fills and undermines strategy testing. It should be relatively straightforward for IBKR to ensure fills are capped at the submitted limit price.

    Until then, the only workaround is manually adjusting fills to reflect the actual limit price—which is tedious.
     
  2. Sekiyo

    Sekiyo

    That sucks especially if you have live data.
    Do you pay / subscribe for the data ?
     
  3. Yes.
     
  4. TheMordy

    TheMordy

    IBKR told me a while ago the TWS API Paper Account has some bugs, and better not to use it...
     
  5. qlai

    qlai

    Resting/Passive limit order? Maybe you are sending a limit order and it immediately executes because market moved against you? You would get price improvement. Basically becomes a marketable limit order.
     
  6. Cam12

    Cam12

    How much positive slippage are you getting on your fills?

    I am often filled at better prices than where my limit orders are set especially during more volatile periods when price is moving fast and the spread can widen quickly.
    Those conditions are great for limit entries, horrible for stop entries.
     
  7. I see your point. But that’s not what’s happening.

    What I typically see is that limit orders get hit at the limit price and then rest — and if some time passes, a few of them end up getting filled with price improvement on the remaining shares. This doesn’t happen on every order, but it does on a few.

    The issue is that this kind of favorable fill would never occur in live trading. What’s strange is how easy it should be to fix: just ensure that resting limit orders fill strictly at the limit price, like they do in the real world.