difficulty getting filled (adding liquidity)

Quote from cqm:

yes. on a symbol like BAC I guess it does have to do with getting in first

how would I tell what my latency is? it should be less than 1 millisecond distance-wise

but 15 milliseconds at most due to wifi

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?
 
Quote from 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?

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
 
Quote from cqm:
the algorithm is on my local machine which is connected to a fiber line via wifi ... local machine to internet ... order goes to servers which are co-located at the exchanges...

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?
 
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.
 
Quote from cqm:

Hello,

When adding liquidity I am having difficulty getting filled

lets say the quote is 5.15x5.16 and I place a buy order for 5.15499, just a little less than the midpoint

I get placed on the 5.15 bid side of the book and only get filled after the quote moves down to 5.14x5x15 or worse


this "makes sense" in hindsight, but this is not at all what I was expecting

how can I get filled more favorably when adding liquidity? I am using round lots and there is TONS of liquidity, much larger players than me every second getting filled on the same route

I am using DMA, and I suspect my inability to get filled has to do with broker internalizers.

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!
 
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...
 
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.

Quote from cqm:I am using DMA, and I suspect my inability to get filled has to do with broker internalizers.

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.
 
Quote from WinstonTJ:

..or your broker is holding up your order and using it as an exit.

: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.
 
Hello,

When adding liquidity I am having difficulty getting filled

heh...if you read my posts-i'm having same problem too..since like 2005..why it's take you so long?
 
Back
Top