I recently set up a trailing stop sell order for an illiquid security that was triggered by the bid price going above a certain threshold. My rationale to trigger on the bid price was an attempt to minimize the effects of the magnitude of the bid-ask spread. When later on I saw that the security price had briefly gone above the limit I had set, the only question in my mind was at which price my sell order was executed. However, to my suprise I saw that my order not only had not been filled, but, even more puzzlingly, had not even been triggered.

I believe this unexpected outcome underlines an essential misunderstanding that I have of the concept of bid and ask prices, but all the further reading I have done on the subject has not helped me to fully understand exactly what happened . In my mind, I have always assumed that for a transaction to happen, the bid must equal the ask. More precisely, my assumption has always been that when a transaction happens at time t, at that precise instant of time necessarily
bid price(t)=ask price(t)=mark price (t)=last price(t).
However short the time interval during which this equality holds (possibly just fractions of a millisecond), the fact that these four prices become instantaneously equal when a transaction takes place should trigger a conditional order with a limit below the transaction price, no matter on which of the four prices the trigger is set.

I would really appreciate any help in understanding where the flaw in my assumptions is.

  • Bid and Ask don't need to match for a transaction to occur; they could also overlap (Bid 20, Ask 10 -> sold for 15). But that doesn't explain your question.
    – Aganju
    Commented May 27, 2022 at 2:01
  • Thanks for the reply. I guess the central point of my question is: if a transaction happened at a certain value, can we say that the bid reached that value?
    – MarcoD
    Commented May 27, 2022 at 10:52
  • 1
    Does this answer your question? Is the current stock price the last bid price or the last ask price, or what?
    – nanoman
    Commented Jun 26, 2022 at 6:16

3 Answers 3


I finally understood what happened and why my ingrained belief that if a transaction happens at time t, then necessarily bid price(t)=ask price(t)=mark price (t)=last price(t) was wrong. I have not found it written anywhere, but it makes now perfect sense to me. The jist is that there is an implicit link between bid/ask prices and order types that I have never seen explicitly clarified. The bid and ask prices that are quoted for a security are only determined by the existing LIMIT orders on the buy and sell sides. Instead, market orders do not alter either the bid or the ask price, because by definition they buy at the existing ask or sell at the existing bid.

Let me clarify this concept using the example that originated my question.
I had set a trigger: if bid price of XYZ > $0.316, sell XYZ at $0.32. One day XYZ opened at $0.352 and after that first trade it went below $0.3. My question was: why was my order not even triggered? My broker told me it was not triggered because at opening the bid was only $0.266, while the ask was $0.352.
For the longest time, this made no sense to me because of the belief mentioned above: if a transaction had happened at $0.352, someone at a certain point in time must have necessarily been willing to pay that price.

Let see what might happen for that not to be the case. Saying that at opening the bid (the highest price someone is willing to pay) was $0.266 and the ask (the lowest price someone is willing to accept) was $0.352 simply means that at opening all the buy limit orders had limit <= 0.266 and all the sell limit orders had limit >= 0.352. Had the situation remained like this, no transaction would have happened because the bid-ask spread was huge (around 30% of the stock value). Enter now a poor misguided soul (or simply a noob) who decided to add XYX to her portfolio and did so through a buy market order: a market order does not specify a bid price, because the buyer is an easygoing person, does not like to haggle and just accepts to pay whatever the ask price is. That's why my order never got triggered: there was no one who was consciously bidding above $0.266. It just happened that someone suddenly arrived and put herself at the mercy of the sellers, and ended up paying a ~15% mark-up for the stock that no one was even close to be willing to pay.
Morale: Never submit a market order for an illiquid security, especially at opening, when treacherous buyers and sellers cast their nets wide hoping to catch inexperienced preys.

  • Doesn't really have to be a "poor misguided soul". There's plenty of reasons why someone might find themselves needing to buy or sell a stock immediately: perhaps they got assigned on an option (possibly the stock was perfectly liquid not long ago so writing an option made great sense back then), or perhaps their broker or risk management made them close a position (or if we were talking about a market sell, perhaps they just really needed cash right now for any reason).
    – TooTea
    Commented Oct 21, 2022 at 19:26
  • Of course, you are correct. I was just trying to be funny, and obviously failed. I know there can be many situations in which one is forced to buy or sell at a worse price than the current bid/ask, option assignment being the obvious one. However in this case it was indeed a very illiquid stock (TLRS, traded OTC), so I just thought it might be useful for potential readers to be reminded that market orders for illiquid securities, especially at market opening, when the bid/ask spread is generally at its worst, are a bad idea.
    – MarcoD
    Commented Jan 31, 2023 at 8:57

In my mind, I have always assumed that for a transaction to happen, the bid must equal the ask.

A locked market is when the bid and ask are the same. This is due to timing differences for quotes coming from different exchanges. It's an infrequent occurrence.

In order for a transaction to occur, someone must cross the spread. IOW, A buyer must agree to pay the ask or a sell must agree to sell at the bid.

I saw that the security price had briefly gone above the limit I had set, the only question in my mind was at which price my sell order was executed. However, to my surprise I saw that my order not only had not been filled, but, even more puzzlingly, had not even been triggered.

If you set a limit order to sell and you're the highest bid then you're part of the NBBO quote. A buyer who crosses the spread pays the ask and that price could be above your sell price and you'd get no fill on your order ("the security price had briefly gone above the limit I had set").

  • I don't see how the point you make can explain why my order was not even activated. If, as you said, a buyer crossed the spread to buy at the ask price, by definition he matched the ask with his bid. Since the transaction happened above the activation threshold I had chosen, as a consequence my order should have been sent to the market as a trailing stop order.
    – MarcoD
    Commented May 27, 2022 at 10:50
  • Perhaps you should call your broker so that they can explain to you how their orders work? Commented May 27, 2022 at 17:07
  • I asked this question just because I could not understand the explanation from the broker and I wanted to see whether other people's understanding of the matter differed from mine. Apparently it seems to be a subject of which not many have a clear understanding
    – MarcoD
    Commented Jul 10, 2022 at 6:11

I think you are forgetting the spread and market makers. When we sell, we are not selling to another trader but to the "market maker". We get the bid price, the MM immediately sells it to someone buying on the ask and the MM makes a profit of the spread. It is worth remembering that if you are long on a position and have a LMT order to sell at $10 you may see a few candles that have reached your price but your order may not execute until a candle reaches a high above your LMT price. This can be more obvious if you review a trade on 5sec chart instead of 1min. You finally get filled when a candles reaches $10.01 or 10.02? These highs are more likely people buying from the market maker rather than someone being able to sell at the high. In summary I do not believe a trade only occurs when BID = ASK. This would only occur if Market Makers did not exist. Market Makers also may choose to only take fractions of a cent per share rather than the full spread depending on volume and price movement and the Algorithm.

  • I wasn't questioning the no-fill (a fill is never guaranteed for limit orders, even when trades above the limit occur) but the no-trigger. Since then I understood what I posted in my answer, i.e., that a trigger on the BID does not get activated by a market order, which by definition does not specify a BID as it gets executed t the ASK. A trigger on LAST would have been activated. For the trigger mechanics, whoever is part of that market order, traders or MMs, is not that relevant. In particular, a market order has guaranteed fill at whatever price the seller asks, without the need for MMs.
    – MarcoD
    Commented Jan 31, 2023 at 13:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .