Take the 2-minute tour ×
Personal Finance & Money Stack Exchange is a question and answer site for people who want to be financially literate. It's 100% free, no registration required.

A few weeks ago I started to trade American stocks. I have an IB account. Yesterday, I encountered a strange situation. I'm using the IB API.

  • 9:30:56 I sent a limit buy order to IB (Buy MSI at 54.06).
  • 9:31:18 I saw that MSI was trading below this level (using IQFeed to watch prices).
  • 9:33:15 My order was executed, but at 53.67.

Why is this?

share|improve this question
4  
What was the type of the order? –  Waldfee Apr 25 '13 at 9:25
    
What exchange did you use? SMART by any chance? –  hroptatyr Apr 26 '13 at 7:31
1  
SMART limit buy order. When I sent order, price was above 54.06. And only 2 min later price dropped below this level. –  Ilya Vishnyakov Apr 26 '13 at 12:52
1  
Well, there you go. Orders routed through SMART can be crossed internally, i.e. all IB customers and the IB error account take precedence over the NBBO. –  hroptatyr Apr 27 '13 at 12:30
add comment

migrated from quant.stackexchange.com Apr 25 '13 at 8:28

This question came from our site for finance professionals and academics.

4 Answers

If you placed a market buy order, the order is filled at the current lowest ask price. Even if you entered the order when the ask price was $54.06, it's very possible that some event caused the price to drop to $53.67 between when you submitted the order and when it was filled/executed.

If you placed a limit buy order, you've specified not to buy the security at any more than the given price ($54.06). Once again, an event could have pushed the price down after you submitted the order, and because the limit order states to buy the shares at the given price or less, your order would be filled/executed immediately at that price.

share|improve this answer
add comment

IB specific information: Orders routed through SMART can be crossed internally, i.e. all IB customers and the IB error account take precedence over the NBBO.

Other than that the effects described by others (slippage) or a slow feed at IQ's may also be possible.

It's just hard to say in hindsight.

share|improve this answer
add comment

You have put your limit buy order at $54.06, and whilst your order was going through the price has dropped below your bid price, so you have been filled at the lowest ask prices below your order price.

The other possibility is if prices suddenly gapped down below your bid price, so you have been filled at the lowest ask price.

This is because your limit buy price is the maximum price you will buy the stock for but you can get executed at a lower price if it becomes available.

share|improve this answer
1  
Yes. But order executed 2 minutes later! Why? If share price drop below my price and my order already registered at the market, execution price must be 54.06. –  Ilya Vishnyakov Apr 25 '13 at 12:10
1  
@IlyaVishnyakov What kind of order did you place? You should add that to your question. –  John Bensin Apr 25 '13 at 13:00
1  
@JohnBensin - by putting the order "Buy MSI at 54.06" it is obvious the OP put a limit buy order. –  Victor Apr 25 '13 at 22:08
2  
@V I've taught people before who spoke in a similar fashion of market orders, e.g. "I put the order in when the price was 54.06" so it isn't necessarily obvious to someone who doesn't know much about trading like the OP. Also, it clearly isn't obvious to everyone because if it was, the OP wouldn't have asked this question, since the answer is essentially the definition of the limit order and it's similar to asking "what could cause a stock to decline in price?" Plus it's better for searching if the question includes the type of order. –  John Bensin Apr 26 '13 at 2:28
2  
Obvious, I placed a limit order. Sorry for my English. I have much experience in trading on non-US markets and now I try US Stock trading. I think one of the reasons for such a situation that I used IB SmartRouting type of order and this algorithm initially sent my order to the wrong ECN. –  Ilya Vishnyakov Apr 26 '13 at 9:44
show 4 more comments

I believe the most likely explanation is that your order was routed to NYSE to participate in the opening auction. The NYSE open price on April 24 (the day you sent the order) was 53.67, and the time of your order was very close to 9:30. NYSE is not fully automated; their opening auctions do not happen precisely at 9:30:00. The time that the NYSE open printed to the tape is within about 10 seconds of your execution time.

Once IB had routed your order as a limit-on-open, they couldn't cancel that and reroute you, even when the offer on a different venue dropped below your bid price.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.