A flash crash is one of the most stressful events for a retail trader: prices move wildly in seconds and automated feeds can show quotes that look real but are actually erroneous, delayed, or produced by broken connectivity. That raises a common question: when the market “goes crazy,” how does my broker’s pricing and execution system avoid using off‑market or ghost quotes to trigger my stop orders?
Below I explain, step‑by‑step and in plain language, the typical safeguards modern pricing engines use. I also walk through the trade‑off decisions designers make, show short examples, and end with the limitations you should expect. Trading carries risk; this is educational content, not personalized advice.
What is an off‑market or “ghost” quote, and why it can trigger a stop
A quote is simply a market participant saying “I’ll buy at X” or “I’ll sell at Y.” In normal trading those quotes reflect real intent and sit in the exchange order book. A ghost or off‑market quote is a quote that should not be trusted as the current, tradable market price. Causes include a broken algorithm sending absurd values, stale data replayed by a delayed feed, corrupted packets, or local software bugs that produce a spurious price.
Imagine EUR/USD mid 1.1000. A broken feed briefly reports a best bid of 1.0000. If your retail platform used that single bad quote as a trigger for a market stop below your position, it could execute a trade at the next available (possibly far worse) price. That’s the scenario safeguards try to prevent.
How pricing systems “see” the market: quotes vs confirmed trades
Good systems separate two kinds of information: the stream of quotes (what people say they will do) and the stream of trades (what actually executed). Quotes are useful for showing liquidity, but trades are the ultimate ground truth. Software typically obtains multiple exchange feeds and constructs an aggregated view (for example the best national bid and offer and a synthetic mid). The engine timestamps, sequences and normalizes every message. Those structural layers make it possible to detect anomalies quickly.
A practical example: a pricing engine receives a sudden quote 1.0000 but sees no corresponding executed trades at that level and all other venues still show 1.1000. The mismatch flags the quote as suspicious.
Common defenses pricing software uses to avoid ghost‑quote triggers
Pricing and risk systems combine several simple checks. Each is designed to reject obvious nonsense while still allowing real, fast moves to trigger when appropriate. Below are the major techniques and a short example for each.
Source filtering and feed hygiene
Systems accept feeds only from approved exchange or market data providers. Each incoming message is checked for valid sequence numbers, timestamps, and data integrity. Messages that are malformed, duplicated, or appear out of order are discarded or set aside for manual review.
Example: the engine gets a quote with a timestamp 5 minutes in the future or a missing sequence number — it ignores that message rather than using it to trigger a stop.
Age / staleness checks (quote lifetime)
A quote older than a small threshold (for example tens or hundreds of milliseconds depending on the market) is treated as stale and not used to execute or trigger stops. That prevents replayed or delayed messages from acting as current prices.
Example: a bid arrives that’s 2 seconds older than the engine’s last processed event; the engine will not use that bid to trip a stop.
Outlier and band checks (sanity filters)
Engines compare every new quote to recent market reference points—such as the last trade, the aggregated mid, or a volume‑weighted average—and reject moves that exceed configured percentage or tick thresholds within a given microsecond window.
Example: if the mid is 100 and a quote shows 60 as the best bid, the engine checks: is there a trade history to support this 40% move? If not, the quote is flagged and ignored.
Trade confirmation / “require a trade” rule
Some systems require at least one real trade at or near the new price before they will treat that quote as a valid trigger for a market stop. This is stricter than a raw quote check and avoids reacting to quotes that never result in execution.
Example: a venue quotes a very low price but no trade; the engine continues to wait for an actual trade at that level before allowing stops to fire.
Quote continuity / multi‑tick verification
Rather than acting on a single tick, systems may require a sequence of consistent ticks (quotes or trades) within a tiny time window. A single spike followed by a return to prior values is less likely to trip protections than a sustained move.
Example: two consecutive quotes within 50 ms confirm the lower price, so the engine treats the move as real; one isolated spike is ignored.
Liquidity / depth checks
Stops are less likely to be triggered by thin, shallow books. Engines measure available depth at prices beyond the inside quote and avoid using a single, ultra‑thin quote to trigger orders when there is no substantive liquidity.
Example: a best bid shows at 50 but there are zero contracts at the next five price levels; the engine treats that as unreliable and does not use it to trigger a market stop.
Aggregation across venues (NBBO / fair value)
By comparing multiple venues and constructing an aggregated best bid/offer (or a smoothed mid), the engine reduces dependence on any single exchange’s bad quote. Many systems use the national best bid and offer (NBBO) or a weighted mid as the primary trigger reference rather than one venue’s instantaneous quote.
Example: one venue shows a far out price; the aggregate across all venues remains near the prior mid, so the distributed view protects stops from the single bad feed.
Throttling, dampening, and buffering
Engines implement micro‑time buffers or dampeners: they delay stop execution by a configurable few milliseconds to allow the market view to stabilize. On very fast moves this buffer is kept small so real price action still triggers stops, but it prevents execution on transient garbage.
Example: the engine holds the stop trigger for 10–20 ms to check for corroborating messages before sending a market order.
Internal circuit breakers and price collars
Platforms may implement internal collars that won’t execute orders outside a pre‑set percentage band relative to recent reference prices. These are in addition to exchange circuit breakers and limit‑up/limit‑down rules.
Example: a client market stop would never be executed at a price more than X% away from the 1‑minute VWAP; if the available fill is beyond that, the order is routed to a risk desk or converted to a limit order instead.
Stop logic: market stop vs stop‑limit vs guaranteed stop
How a stop behaves depends on the order type. A plain market stop becomes a market order at trigger, so it accepts whatever price the market gives; stop‑limit sets a worst acceptable price and can remain unfilled. Some brokers offer “guaranteed stops” that promise a fill at the stop price even during gaps, typically for an additional fee. Pricing software supports each of these behaviors and applies extra checks for market stops to reduce slippage risk.
Example: during a suspicious spike, the engine may convert a market stop to a stop‑limit (or hold it) to avoid executing at an obviously off‑market price, while a guaranteed stop (if purchased) would be honored at the agreed level.
Audit, kill switches and human escalation
When automated checks fail or the engine detects a systemic anomaly (many odd quotes, extreme spreads, message corruption), orders can be quiesced, routing suspended, and alerts sent to risk teams. This is why institutional venues have “kill switches” that pause automated activity until humans verify the market state.
Example: the engine sees many venues reporting impossible prices; it suspends automated routing and flags live traders to review.
A short narrative example: how a ghost quote is filtered and your stop survives
Suppose your stop is USD/JPY sell‑stop at 135.00 and the market mid is 135.20. A single venue briefly quotes bid 130.00 because of a broken algorithm. The pricing engine receives that feed but does the following quickly:
- Validates sequence and timestamp—message is malformed? no.
- Compares new bid to recent trades and the aggregated mid—this is a ~3.7% move in milliseconds against a stable NBBO.
- Checks whether there are trades at 130.00—none found.
- Looks at depth—there are no size levels behind that quote.
- Requires either a trade confirmation or multiple consistent quotes across the feed within a tiny window; neither occurs.
- So the engine ignores that single outlier and does not treat 130.00 as a trigger level for your stop.
If, instead, multiple venues show the same price and trades occur at that level, the engine treats the move as real and the stop will fire in line with its order type.
What your broker might still do (why stops can still be executed at poor prices)
No filtering strategy is perfect and there are tradeoffs. If a stop is a plain market stop, it becomes a market order when triggered. During real, legitimate flash moves liquidity can evaporate quickly and your market order may get filled at the next available (worse) prices. Also:
- A protection that waits for trade confirmation introduces slight delay and can cause a stop to miss during extremely fast genuine moves. That’s a deliberate trade‑off designers weigh: false triggers versus missed protection.
- Some brokers offer guaranteed stops, which eliminate execution risk at the stop price but may cost extra and are not universally available.
- Exchanges implement limit‑up/limit‑down and trade cancellation rules; those rules influence how fills are matched and whether obviously erroneous trades can be cancelled afterwards. Your practical fill experience depends on the interaction of your broker’s systems and the exchanges’ rules.
Risks and caveats
Pricing engines can dramatically reduce the chance that a single off‑market or ghost quote will trip your stop, but they cannot eliminate market risk or guarantee a particular fill price. Key limitations to keep in mind are:
- Latency and geography matter. If your connection to one venue is
References
- https://www.strategy-business.com/article/00144
- https://scholar.law.colorado.edu/cgi/viewcontent.cgi?article=1213&context=ctlj
- https://volquant.medium.com/fragile-markets-understanding-the-dynamic-of-a-flash-crash-e86fbc8b4e6c
- http://www.its.caltech.edu/~cvitanic/PAPERS/brewer.pdf
- https://www.lawfaremedia.org/article/selling-spirals–avoiding-an-ai-flash-crash
- https://bookmap.com/blog/what-causes-a-flash-crash-inside-the-mechanics-of-sudden-market-drops
- https://verifiedinvesting.com/blogs/education/flash-crashes-and-fat-fingers-when-technology-turns-against-the-markets?srsltid=AfmBOooiNq0aMVd0x5k7bgkDhshHH26i7hPasQxZUjkf1jgPxF9eseh-
- https://www.jasss.org/27/2/8.html