Refat M
A stock order can get a bad fill when the shares available near the best quote are too small for the order. The first part may execute at the displayed price, while the remainder reaches higher offers on a buy or lower bids on a sell. The broker then reports a weighted-average fill. Fast quote changes, orders ahead of yours, venue coverage, and non-displayed liquidity can make the actual result better or worse than a depth screen suggested. A bad-looking fill is therefore not automatically a broker error.
Key takeaway: Evaluate liquidity relative to your order size and acceptable price range. Estimate the average price across enough depth to complete the order, then rebuild the stop risk and reward-to-risk calculation from that estimated fill—not from the last trade or the best quote alone.
Traders usually call an execution a bad fill when the average purchase price is higher than expected or the average sale price is lower than expected. The operational question is whether the order received an unfavorable but explainable result under the available market, or whether the execution details fail to reconcile and require review.
Three prices must be separated:
For a buy completed in several pieces:
Weighted-average fill = Σ(execution price × execution shares) ÷ total shares filled
An average price does not mean one trade occurred at that exact price. It is the mathematical result of several executions. A 1,000-share order could fill as 200 shares at one price, 300 at another, and 500 at a third, with the platform displaying a single average for the completed position.
The SEC’s Investor.gov order-execution guidance makes two points that matter here: an online order first goes to the broker, not directly to a single exchange, and a quote applies only to a specific number of shares. The price can change while the broker routes the order.
A fill that is worse than the last trade is not, by itself, evidence of a bad execution. The last trade is historical. A fill above the initial ask on a buy also is not automatically an error if the available shares at that ask were insufficient or disappeared before the order arrived. Fidelity’s current equity order-execution explanation states that when a buy order exceeds the size available at the ask, part of it may execute above the ask. It also notes that orders ahead of yours can deplete displayed shares.
Conversely, visible depth can make the expected fill look worse than the result. Non-displayed liquidity, internalization, or price improvement may produce shares inside the displayed spread or add executable size that was not visible on the trader’s screen.
“The stock is liquid” is incomplete. Liquidity must be evaluated for a particular action, quantity, price range, session, and moment.
Average daily volume and daily dollar volume describe trading activity accumulated over time. They do not show how many shares are available to buy now within five cents of the ask, or how many bids may remain if a stop must be executed during a fast decline. A stock can trade millions of shares during the day and still have little immediately executable size at one instant. The reverse is also possible: a normally quiet stock may temporarily show meaningful depth near the quote.
Immediate executable liquidity is side-specific. A deep bid does not help a trader who needs to buy unless sellers are also available at acceptable prices. It is also size-specific. The same order book may be adequate for 100 shares and inadequate for 5,000 shares.
The best bid and offer show the closest displayed prices and their quoted sizes. Depth-of-book data extends the view to additional price levels. Nasdaq describes TotalView as showing every quote and order at each price level in securities trading on the Nasdaq book. NYSE’s real-time proprietary feeds similarly provide depth or order-by-order views for specific NYSE Group markets. These are venue data products, not proof that one retail platform displays every source of US liquidity.
This creates three distinct questions:
The second can help estimate the third, but it cannot guarantee it.
Spread and depth are also different. The spread is the gap between the best displayed bid and ask. Depth is the quantity available at the best and subsequent prices. A one-cent spread may hide only 100 shares at the ask and sparse offers above it. A wider spread may show thousands of shares on both sides. Diagnose bid-ask spread risk separately from whether the planned quantity can be absorbed without reaching worse price levels.
The following scenario is hypothetical and does not describe a historical trade. It assumes that the displayed offers remain available until the order arrives, that the order can access them, and that no hidden liquidity improves the result. Those assumptions are relaxed in the next section.
At 10:18:32.400 a.m. ET, hypothetical stock XYZ shows:
The trader plans to buy 1,200 shares, use a structural stop at $31.80, and target $32.40. Looking only at the $32.00 ask, the planned numbers appear to be:
The sell-side depth available when the order arrives is:
The best ask supports only one-eighth of the intended order. If the trader sends an immediately executable buy without a price boundary, the simplified execution waterfall is:
1,200 shares sent → 150 fill at $32.00 → 1,050 remain → 250 fill at $32.03 → 800 remain → 400 fill at $32.08 → 400 remain → 400 fill at $32.15 → order complete
The execution value is:
Total execution value = $38,499.50
Weighted-average fill = $38,499.50 ÷ 1,200 = $32.0829 per share
The depth-related deterioration from the initial $32.00 ask is approximately $0.0829 per share, or $99.50 across the order. This is the mechanical reason a market order can fill at several prices: the available quantity at the first price was smaller than the quantity demanded.
The more important damage appears in the trade’s risk calculation. Using the actual average entry:
The entry fill increased initial risk by approximately 41.5%, from $240 to $339.50, while reducing the planned reward. The chart structure, stop, and target did not change; the executable trade did.
Exit depth can increase the difference again. Suppose the position later must be sold when the relevant bids are:
If all 1,200 shares execute against those bids, the weighted-average exit is $31.7175. The loss from the $32.0829 average entry is approximately $438.50, or 82.7% more than the original $240 plan. This is not a forecast of what a stop order would do; it is a capacity test showing why entry liquidity alone is insufficient. The trader must ask whether the market can also absorb the planned exit when conditions are worse.
A depth screen should be used as a scenario model, not as a promise. The calculation can still identify an order that is obviously too large for the visible market.
Start with a hard price boundary. For a long trade with target T, stop S, and minimum acceptable reward-to-risk ratio R, the highest acceptable average entry E is:
E ≤ (T + R × S) ÷ (1 + R)
In the XYZ scenario:
E ≤ ($32.40 + 1.8 × $31.80) ÷ 2.8 = $32.0143
If the strategy requires at least 1.8 to 1, the estimated average entry must not exceed approximately $32.0143. That limit comes from the trade plan; it is not a universal market rule.
Now walk through the visible offers in price order and stop when either the intended quantity is reached or the estimated weighted average exceeds $32.0143.
At $32.00, 150 shares are available. Adding shares at $32.03 gradually raises the average. Under the static snapshot, a maximum of approximately 286 shares can be purchased before the estimated average exceeds the $32.0143 boundary. A 400-share purchase would have an estimated average of $32.0188 and would already reduce the gross reward-to-risk ratio below 1.8 to 1.
The same process can be organized into five checks:
Do not assume that a quote-size display uses shares. Fidelity, for example, states that its equity bid and ask size should be multiplied by 100. Other platforms may display raw shares or label round lots and odd lots separately. Confirm the platform’s unit before using it in a size calculation.
A marketable limit order can enforce the maximum acceptable purchase price or minimum acceptable sale price. In the scenario, a buy limit at $32.03 would prevent fills above $32.03, but only 400 displayed shares are available at or below that price. The remaining 800 shares could stay unfilled. The limit protects the boundary, not completion.
Breaking one order into smaller pieces can reduce the quantity exposed at one instant and reveal how the book responds. It can also cause the trader to miss the move, pay a different average as prices change, or accumulate only part of the intended position. Staging is a risk choice, not a guaranteed execution improvement.
Displayed depth is valuable because it shows more than the best bid and ask. It is incomplete for several reasons.
The feed may cover only selected venues. US equity trading is fragmented. A Nasdaq book feed describes orders resting on Nasdaq; an NYSE product describes its stated NYSE Group coverage. A broker or data vendor may aggregate several books, show a limited number of levels, or omit some sessions. The label “Level 2” does not guarantee identical coverage across platforms.
Displayed orders can be canceled or executed before yours arrives. A depth screen is a live snapshot, not a reservation. Other traders may consume the shares first, or liquidity providers may cancel and reprice. Fidelity notes that orders ahead of yours can exhaust the bid or ask in fast markets. Investor.gov similarly warns that execution is not instantaneous and that quotes apply to specified quantities.
Some executable liquidity is not displayed. Broker-dealers can internalize orders, market centers can provide price improvement, and exchanges can support non-displayed or reserve interest. A buy may therefore execute better than the visible ladder suggested, or find extra shares at a displayed price after the visible quantity is exhausted.
The order can reach several destinations. FINRA’s online trade lifecycle explains that the brokerage firm decides where to route an order. Schwab’s order-routing overview likewise describes execution through liquidity providers, exchanges, and other venues. A retail order’s executions may therefore come from several sources rather than from one depth ladder.
The quote and the order may use different sessions. Premarket and after-hours markets generally have less liquidity, more volatility, and less connectivity between venues. FINRA’s extended-hours risk disclosure warns that these conditions can produce wider spreads and prices that differ between trading systems. A regular-session depth assumption should not be carried into extended hours.
Odd-lot visibility does not make every quote protected. Since April 27, 2026, odd-lot quotations have been included in required SIP core data. The official Nasdaq UTP SIP odd-lot FAQ explains that odd-lot quotes remain unprotected and do not set the round-lot NBBO; the SIP publishes separate best odd-lot prices. A platform may therefore show small-share interest that does not function like protected round-lot quotation size.
These limitations do not make depth useless. They change its role. Use it to reject a trade whose visible capacity is clearly inadequate, define a maximum average price, and stress-test the exit. Do not treat the displayed ladder as a guaranteed fill forecast.
Start with the broker’s order record rather than a chart candle or screenshot of the last price.
A fill is normally explainable when the individual executions reconcile to the reported average and the order quantity exceeded the accessible shares at better prices. A review is appropriate when the broker record shows the wrong instructions or quantity, an execution is missing, the average does not reconcile, a fill violates the order’s stated limit, or the result remains materially inconsistent with the contemporaneous market after timing, size, routing, and session differences are considered.
FINRA Rule 5310 requires a member firm to use reasonable diligence to seek the most favorable price possible under prevailing conditions. Its best-execution factors expressly include the character of the market and the size and type of the transaction. Best execution does not promise that every share receives the initial displayed price, but the broker should be able to explain how the order was handled.
Send a precise written request:
“Please review order [order ID]. Provide the broker-receipt time, every execution time, quantity, price and venue, the order instructions in effect, and the market conditions and routing information used to evaluate the execution.”
FINRA recommends reviewing trade confirmations promptly, contacting the firm when a discrepancy appears, and filing a complaint if a genuine problem remains unresolved.
Use four possible outcomes before sending an order.
Trade. The planned quantity fits within visible depth at acceptable prices, the estimated average passes the stop and reward-to-risk rules, the quote is stable enough to calculate, and a conservative exit test remains workable.
Reduce. The setup remains valid, but the original quantity would push the estimated average beyond its boundary. Reduce the position until the cumulative-depth calculation passes. In the XYZ example, the 1.8-to-1 requirement limits the static estimated purchase to approximately 286 shares—not the 1,200 shares originally planned.
Cap the price. Use a limit price when a hard execution boundary matters more than completing the full position. Accept that only part of the order may fill or none may fill if available sellers move above the limit. A partial fill is an inventory outcome; it should not be “fixed” by automatically chasing the remaining shares beyond the price that supported the trade.
Skip. Do not submit the order when visible depth cannot support the planned size, the depth changes faster than it can be evaluated, the data feed’s session or venue coverage is unclear, the expected average breaks the risk plan, or the likely exit is unsupported. No order type can make inadequate liquidity disappear.
Several conditions require an adjusted framework:
Hi2morrow methodology: We treat position size as an execution variable. Before entry, record the intended shares, cumulative displayed shares inside the acceptable price boundary, estimated weighted-average fill, maximum entry risk, and a conservative exit-depth scenario. The trade passes only if the setup remains valid after all five numbers are applied.
Professional analysis — Khasan Kadyrov: Daily volume can tell a trader which stocks deserve inspection, but it cannot approve a specific order. From a risk-management perspective, the meaningful liquidity is the quantity accessible within the price range that preserves the trade. If the planned size forces the average fill outside that range, the position is too large even when the directional idea is correct.
A stock order gets a bad fill when its quantity reaches beyond the liquidity available at acceptable prices, the displayed market changes before execution, or the broker finds a different mix of displayed and non-displayed liquidity. The practical response is to reconstruct every execution, calculate the weighted average, and size the order from cumulative depth and risk limits. When the expected average destroys the trade’s mathematics, reduce, cap, or skip the order before execution makes the decision irreversible.
Khasan Kadyrov is a hi2morrow analyst and an economist with five years of experience in the US stock market.
Editorial note: Substantively updated on August 4, 2026. The article was checked against current Investor.gov and FINRA execution guidance, FINRA Rule 5310, official Nasdaq and NYSE depth-of-book documentation, Nasdaq UTP SIP odd-lot guidance, and broker order-handling materials published by Fidelity and Charles Schwab. Market-data coverage, routing, protective controls, and session access vary by broker and venue and should be verified before trading.
Educational material only. Not investment advice.
Author: Alexander Styopin trader with 24 years of trading experience and an economic analyst at hi2morrow
Originally published: March 20, 2026
Substantively updated: August 4, 2026
$QCOM range is tight. Breakout alert set, no early entry.
$MU pulled into support. Watching for buyers, not predicting.
Closed the morning with two trades. No need to give it back.
$ORCL is slow but clean. Position size stays smaller.