Several people have asked questions on why they aren't getting fills on option prices -- particularly when they have a price at the ask, or even .01 or .02 over it.
Take the following example:
I was trying to get a fill on the FDX straddle at $5.78. I had a $5.78 limit order in. At one point the bid ask became 5.70/5.76, but I still did NOT get filled.
How does this happen? My immediate reaction is like most people's, TOS must be screwing up, or I'm just getting screwed. While that MIGHT be the case, in this instance it was not.
Everyone should know that there are MULTIPLE option exchanges. If you're doing a multi-leg order (straddle, strangle, IC, whatever), you have to match on one exchange. TOS delineates these different exchanges with different letters (A, B C, I, N, X, Z, etc.).
However, when calculating bid/ask spreads, it takes the prices and combines them from all exchanges.
So for instance, on stock XYZ, you might see the following
Exchange Put Bid Put Ask Call Bid Call Ask Straddle Bid/Ask
A $1.00 $1.10 $1.00 $1.10 $2.00/$2.20
B $1.01 $1.11 $0.99 $1.09 $2.00/$2.20
C $0.99 $1.09 $1.01 $1.11 $2.00/$2.20
HOWEVER, TOS would display the following Bid/Ask: $1.98/$2.18, as it selects from different exchanges.
The software would then TRY to match the calls/puts across different exchanges, but you have no guarantees this will happen. So even though you have a limit order of $2.18 or $2.19, you might not get filled. Now typically prices will bounce around .01 or .02 and you'll get your fill, or maybe there's a perfect cross-exchange match. And in high volume options this happens all of the time. However in lower volumes, it frequently can sit for a while -- even at your brokers calculated Ask. You're only guaranteed a fill if you match the exchange.