Better Fills

Discussion in 'Order Execution' started by abattia, Aug 2, 2010.

  1. A preliminary measurement suggests

    [A, from my trading PC] = 118 ms

    [A, from co-located server] = 1 ms

    [B+C+D] = 2061 ms

    So I could shave 5+% off Total Execution Time.


    What do you think of this measurement I am getting for [B+C+D]?

    How does it compare to what is available to others out there?

    Thanks.
     
    #11     Aug 3, 2010
  2. I think A is about what I would expect for a generic broadband internet connection from somewhere in the US. I think B+C+D is really really high ie. maybe higher than what I get by manually pressing a button on TWS 2000 miles from the IB servers.
     
    #12     Aug 3, 2010
  3. I think you edited your post from B+C+D = 1000ish to 2000ish. Or maybe my mind is just going at an early age. In any case I wrote my previous response thinking you were in the 1 second range. And that seemed really high to me. Two seconds seems INSANE. You could go get a cup of coffee before your order hit the exchange. The fastest I trade is off 5min bars, and I would be screaming bloody murder about that.

    Assuming you're measuring correctly, which I really can't check, something is seriously amiss.
     
    #13     Aug 3, 2010
  4. Thanks for your help in getting to the bottom of this ...

    The measurement of [2A+B+C+D] was derived from the difference between timestamps on my computer's log ...

    2010-08-03 15:56:59:312 (MBTrading) Cbi.Order.Submit: Order='.....' Name='Exit on close'

    2010-08-03 15:57:01:609 (MBTrading) Mbt.Callback.OnHistoryAdded: token='....' orderNumber='....' event='Executed'

    I then subtracted [2A] the return average travel time (from the ping), to get the number above for [B+C+D] ...
     
    #14     Aug 3, 2010
  5. It looks like you're doing it right.

    I wonder if this is some sort of equities-specific issue. Maybe an odd lot? I never trade equities fast (or automated) but I seem to remember odd-lot fills were painfully slow.

    If you put in a limit order away from the market, how fast before it comes back and says your order is active on the exchange? Since that doesn't require matching, it would help you narrow down what's going on.
     
    #15     Aug 3, 2010
  6. If I have understood correctly, the above time will be equal to [2A + B + C] (or strictly speaking probably 2A + B + 2C, or even 2A + B + B’ + 2C! ... but that doesn’t matter here ...).

    Therefore, for an order routed by my broker to ARCA (sent at 04h30 am EST) using new (i.e. current/updated) ping measurements to eliminate 2A, I get:
    “[B+C]” = 300 – 350 ms (incidentally, the result here is the same for both round and odd-lots ... perhaps the differences arise at the post Exchange Matcher stages?)

    I guess approx 50% of this number (i.e. 150 – 175 ms) is an estimate of how quickly my order is handled by my broker and delivered to the Exchange Matcher. (And I suppose times from the Exchange Matcher onwards will be a function of market activity/liquidity at the time of the order?)

    Now the improvement I get from co-locating near my broker (seems this will reduce A from 100-200 ms to 1-2 ms) looks a lot better!

    Also, if I factor in getting my signals from my broker’s data with a 1-2 ms lag (rather than a 100-200 ms lag), I will have to change my ET alias to “Lightning” ...

    I'll take some more measurements today, and see if the above results seem consistent.
     
    #16     Aug 4, 2010
  7. Between 09h30 - 10h30 EST, I took several more measurements. These measurements suggested 40 - 90 ms as a reasonable estimate of how quickly my order is handled by my broker and delivered to the Exchange Matcher.

    Thanks to the contributors for your help with this.
     
    #17     Aug 4, 2010
  8. No problem. The numbers you're getting now seem very plausible.
     
    #18     Aug 4, 2010