difficulty getting filled (adding liquidity)

Discussion in 'Order Execution' started by cqm, Feb 29, 2012.

  1. ryker

    ryker

    It's the time between the moment you sent the order and the moment you have received the acknowledgment from the broker. But being co-located you should have a very low latency already...

    Why do you mention wifi? Is your trading algorithm on a co-located server?
     
    #11     Feb 29, 2012
  2. cqm

    cqm

    the algorithm is on my local machine which is connected to a fiber line via wifi

    algorithm reads book data from software platform provided by firm, using api provided by firm

    algorithm determines order and route, sends order

    local machine to internet - 15ms or less

    order goes to servers which are co-located at the exchanges.

    using a calculation of the speed of light, this should take less than 85 microseconds if the colocated server is in new jersey or manhattan.

    hope this helps
     
    #12     Mar 1, 2012
  3. As the order originates from a local machine, it's irrelevant that your server is "colocated at the exchange" IMHO ....

    Compare your set-up with that of a trader whose algo running machine is also situated at the exchange; market data needs to travel all the way from market to your machine for your algo to "see" it, and then your orders need to travel all the way back to the exchange. Your disadvantage is TWICE the distance between you and the market. And that's ignoring the fact you are using wifi, which will make it worse. And speed-of-light is almost certainly an overestimate of what's possible (because of switches etc?)... I'm guessing you need to reduce that by a factor of 3 - 10? I'm sure there will be folks here who can tell you the right number ...

    Where are you located, and which markets are you trading?
     
    #13     Mar 1, 2012
  4. ryker

    ryker

    I agree with abattia... There are so many factors that will slow you down here...
    What are you trying to achieve? Always trying to get passive executions (adding liquidity)? I think it can be quite difficult to write such an algorithm when you don't have a low latency setup.
     
    #14     Mar 1, 2012
  5. if you are willing to get filled at 5.15499 are you also willling to get filled at 15.5? use midpoint orders in that case!
     
    #15     Mar 1, 2012
  6. Watch T&S and make note of which exchange the order flow is going though on a given security.. this matters, sometimes algos and traders will pull their orders on a stock and let it move up or down a penny without much actual volume pushing it... so follow the volume.


    That aside, the order you got in line on a given level matters a lot as well..

    Offering on exchanges that don't allow specialists to capture order flow is helpful...

    there's a brazillion things here that could help or are factors...
     
    #16     Mar 1, 2012
  7. CQM - I think you are a bit confused.

    Sounds like you are using a laptop and connecting over wifi to a home router - probably attached to FiOS (since you mention fiber).

    Go here: www.ipchicken.com and replace the last number with a 1.

    Then ping it by opening up a command prompt (windows start button + R on the keyboard) and type "ping xxx.xxx.xxx.1" where xxx = the IP address you saw on ipchicken.

    Report that number back. I expect you'll be in the 20-30ms range.

    Next, if you have the option to use SMART order routing I assume you are using a retail broker or prop firm's software - probably a retail broker with the option to route orders directly to an exchange vs. true DMA. I don't want to sound like a jerk but if you really had DMA you probably wouldn't be asking why you aren't getting fills.

    I don't know why you are allowed to send sub-penny orders. Your broker/trading platform may allow this but have you checked to see if the ECN you are routing to supports sub-penny orders? (It probably does not.) You should read the fine-print of your broker's contract. Often times if you send non-marketable orders (like a sub-penny order to an exchange that doesn't allow sub-penny orders) your broker reserves the right to internalize OR not accept that order - so you may think you are being slick but you are actually getting screwed over by your broker.

    Also, you have to watch out trying to provide liquidity AND sending orders at or over the NBBO - if you do that you may get dinged for taking not adding.

    If your broker internalizes orders this is not DMA - even if you specify a route you do not have Direct Market Access - your orders are piped through several risk checks and there will be (what is considered by today's standards) extremely high latency and delays for your order to get from your broker through to the ECN you specify.

    15ms is a really long time and hard wired is always preferred over wireless. I would make sure you have a wired connection and then also check your modem/router connections and capacity. For example, most Linksys home/retail routers can't handle much over 20-25mb/sec sustained. If you want to keep using a home/retail type router I'd suggest using QoS and network prioritization to make sure your machine gets first dibs on the bandwidth.

    The reason why you aren't getting filled is because you are getting picked off or held up. Either the price has moved by the time your order gets to the exchange or your broker is holding up your order and using it as an exit.
     
    #17     Mar 2, 2012
  8. :D

    This sort of leads to a conversation about queue jumping crossings, and the resulting adverse selection for retail orders.

    You'll get filled, but you're *last* at that price level.
     
    #18     Mar 2, 2012
  9. Bob111

    Bob111

    heh...if you read my posts-i'm having same problem too..since like 2005..why it's take you so long?
     
    #19     Mar 2, 2012